|

【加速上手】LinkIt Smart 7688學習地圖

   

作者:陸向陽

 

2015年11月聯發科的MediaTek Labs發表了LinkIt Smart 7688(含LinkIt Smart 7688 Duo)開發板,筆者個人評估,LinkIt Smart 7688開發板介於Arduino與Raspberry Pi間,一是比Arduino高階,可以使用嵌入式Linux與一般PC的USB週邊裝置,運算力也較高,然卻沒有Raspberry Pi的豐富影音能力,也沒有近似一般PC的應用程式(文書處理、上網瀏覽等)。

不過,LinkIt Smart 7688的運用難度稍高於Arduino了,Arduino基本上只要照範例接上線路,很多地方呼用(Call大陸叫調用)現成的含括檔(也稱頭檔)、函式庫即可,但LinkIt Smart就沒那麼容易了,以下筆者針對三種情境來說明如何學習LinkIt Smart比較便利。

LinkIt Smart 7688的三條建議學習途徑(製圖:MakerPRO陸向陽)

1. 粗略OSHW經驗者

過去僅概略開發或體驗過Arduino、Raspberry Pi的人,尚未深用也尚未累積許多自有撰寫程式、自有設計電路的人,若想學習LinkIt Smart系列的應用,建議從LinkIt Smart 7688開始接觸學習。雖然也可以學習LinkIt Smart 7688 Duo,但為了減少初期的學習負荷,降低複雜度,還是建議以LinkIt Smart 7688為主。

(附註:本文以學會LinkIt Smart系列應用為目標,並以此推想數種接觸者的可能背景差異,而給予學習路線、程序建議,若真的純然為想進入OSHW/Maker領域的起步者設想,仍建議自Arduino開始,若學齡尚低者,則建議從Scratch for Arduino/S4A開始。)

沒經驗者,建議從LinkIt Smart 7688下手。

沒經驗者,建議從LinkIt Smart 7688下手。

在正式學習LinkIt Smart 7688前,最好自身有一些基本網路管理知識,也最好自己調整設定過居家的Wi-Fi路由器,透過瀏覽器瀏覽192.168.0.1的經驗,知道何謂SSID、WPA2、Station Mode、AP Mode等才行。

而後,學習者必須學習Linux,這是比較高一些的門檻,過去一起頭就是用圖形化使用者介面(GUI)學習、接觸電腦的人,可能會很痛苦,而對於有接觸過DOS作業系統、命令列介面(CLI)的人就比較能接受。

Linux要學習的東西很多,如何移動現行工作目錄、叫出之前發出過的指令、修改檔案權限、更新套裝應用程式等,且建議要學一些Linux常見的網路應用程式,如防火牆、DNS伺服器、Samba檔案分享等。更具體而言LinkIt Smart 7688/7688 Duo用的是嵌入式作業系統OpenWRT,針對這套學習會更準確。

學會Linux後,基本上還是什麼應用都無法實現,進一步要學Python程式語言或JavaScript/Node.js程式語言才行,然而二擇一即可,看哪一個過往比較熟悉,學會之後才能對LinkIt Smart 7688進行各種操弄。

接下來,學習者必須學習Libmraa,這是Intel發展的一套函式庫,運用這套函式庫操作LinkIt Smart連接的硬體才會輕鬆,雖然至2015年12月14日仍在0.8.1版,但已經有很多東西可用,例如GPIO、I2C、PWM、SPI、UART等。

學到這裡大致可以了,但如果需要更進階運用,例如要撰寫一些Linux驅動程式,或期望自己的應用能變成常駐程式(Linux這方面叫Daemon魔鬼),那就要會C程式語言,然後學習uClibc函式庫。

學完這些後,如果想學LinkIt Smart Duo,則要加學UART函式庫,行有餘力再學Firmata函式庫。

2. 有Arduino學習、應用經驗者

如果已經有Arduino學習、應用經驗,且希望盡可能保障過往的軟硬體投入心血,例如自己設計的程式、自己設計的電路、自己花錢買的Shield(功能擴充子卡)等,那就一定要學LinkIt Smart 7688 Duo,而不是LinkIt Smart 7688。

有Arduino經驗者可考慮使用LinkIt Smart 7688 Duo

有Arduino經驗者可考慮使用LinkIt Smart 7688 Duo

基本上學習LinkIt Smart 7688 Duo的歷程即是前述的整個歷程,不過若所有硬體線路部分都想交給Arduino的子系統來掌控,是可以跳略過Libmraa的學習,僅此而已。

3. 有Arduino Yun學習、應用經驗者

如果過去已經有使用Arduino Yun,會認為LinkIt Smart Duo、Arduino Yun兩者很相似,事實也是如此,但是,在開發應用的心態上,最好能有些調適。

因為,Arduino Yun是以Arduino為基礎的延伸發展,因此還是以Arduino本體為主,有關Yun所提供的Wi-Fi連線功能、嵌入式Linux功能,反而變成從旁輔助,受令於Arduino。

相反的,LinkIt Smart Duo一起頭就確立以執行嵌入式Linux的Wi-Fi晶片為主控系統,受令受控的當為Arduino的微控器(MCU)晶片,這其實較合乎常理,通常是由高階、高規、高速的晶片為主控者。

所以,建議學習者學習LinkIt Smart 7688 Duo而非LinkIt Smart 7688,才能相容過往在Arduino Yun上的軟硬體開發心血,但建議用變更程式撰寫,改以UART函式庫(或Firmata函式庫)的方式來操控Arduino,方能以嵌入式Linux端為主控。

Linkit Smart 7688開發平台的programming models

Linkit Smart 7688開發平台的programming models

當然,若堅持盡可能一切相容Arduino Yun,LinkIt Smart 7688 Duo還是提供與Yun類似的橋接函式庫(Bridge Library),但運作方式就與Yun類似,是以Arduino的MCU為主控,而Wi-Fi、嵌入式Linux的MPU則為受控,此方式有較大的相容,但相對也是對MPU運用有較大限制,稍微可惜,建議可權宜運用橋接函式庫,長久而言仍以UART、Firmata函式庫為主較合適。

陸向陽
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *