Intel Galileo 當Arduino用,太屈才吧?

縱觀國內社區,發現多是通過ArduinoIDE對Galileo進行操作,而放著一個操作系統,這完全捨棄了Linux系統的強大性能,那麼在這裡,我將帶著各位,如何玩轉Galileo上的Linux操作系統,並充分發揮其對Arduino強大的兼容能力。

Galileo 不是簡單的 Arduino 板子,實際上它運行著一個 Linux 操作系統。把它看作是 「兼容 Arduino介面的板子」 或許更合適一些。標準Arduino介面的板子均能在Galileo上使用。

Galileo 板子上容量為 8 MB 的 SPI Flash 中已經燒寫了一個精簡版的 Linux系統,因為容量的限制,這個系統去掉了一些不常用的模塊,比如 wi-fi 驅動,python 支持等。

Advertisements

Galileo 也支持從 SD 卡啟動系統,並且 Intel 提供了一個基於 Yocto 項目,已經製作好的完整版Linux系統。當精簡版系統不能滿足我們的要求時,我們可以下載這個完整版系統鏡像,燒錄到 SD 卡中,並從SD卡中啟動即可。當然,也可以自己基於Yocto項目按照自己的需求製作系統鏡像,在之後的系列文章中再做詳細介紹。

縱觀國內社區,發現多是通過ArduinoIDE對Galileo進行操作,而放著一個操作系統,這完全捨棄了Linux系統的強大性能,那麼在這裡,我將帶著各位,如何玩轉Galileo上的Linux操作系統,並充分發揮其對Arduino強大的兼容能力。

首先,登陸Galileo的Linux系統

Advertisements

Intel論壇列舉了如下幾種登錄到Galileo Linux的方法

Use the UART connector

Use the LAN connection direct to your PC

Use the LAN connection and connect to your local network

You can also connect using WiFi

考慮到我們手頭的材料,沒有串口線,所以我們採用第三種方案,將PC和Galileo鏈接在同一個路由器下,通過Ethernet登錄,當然,也可以採用第二種方案將PC和Galileo直連,但考慮到後面的程序會用到網路服務,因此直接採用第三種方案。

Galileo 默認不開始Telnet服務,所以,我們就需要在Arduino IDE中寫一個程序開啟Telnet服務。

voidsetup(){

這裡使用的system()函數為Galileo(和Edison)獨有,這個函數可以再Arduino代碼中運行Linux命令。在後續教程中再做詳細描述。

打開Arduino IDE的串口監視器得到如下信息

eth0Linkencap:EthernetHWaddr98:4F:EE:00:1A:F3

「inet addr」后的ip地址「192.168.1.4」即為Galileo當前IP,如果沒有看到「inetaddr」則需要查看Galileo是否連接到了路由器,嘗試重啟后重複上述步驟。

得到IP后,下一步則考慮如何連接到Galileo:

MacOSX

ok,鏈接到Galileo後會出現如下提示:

Trying192.168.1.4...

至此,終於進入了Galileo中的Linux操作系統,不過,由於Galileo有一個板載經過裁剪的Linux系統和一個燒寫在microSD上的完整版Linux系統,而板載Linux系統重啟后不會保存任何更改,so之後的課程需要大家現將鏡像文件下載並解壓到microSD根目錄中,開機即可。

在之後的章節中會教大家如何在Linux中操作Arduino兼容端的IO口,這將是一個非常有趣的應用哦

「夸克微小,卻能成就偉大,因為有你。請關注英特爾Quark開發者俱樂部微信公共號intelquark。」

Advertisements

你可能會喜歡