2014年9月29日 星期一

LinkIt ONE 第一次接觸 -- 開發環境安裝與實作

9月15日聯發科 LinkIt ONE 以美金79元在 SeeedStudio 進行首賣,而我剛好在一個機緣下透過同學取得了一片,因此在此將環境安裝及實作整理並進行紀錄。

由於LinkIt ONE是聯發科與 SeeedStudio 公司合作的一個產品,可以在SeeedStudio 購物網站購買到,另外在台灣也可以在拍賣網站上搜尋的到,其價格大約落在NT$2500左右。

1.簡介
聯發科LinkIt™是一個操作系統專為穿戴式裝置和物聯網(IOT)而設計,同時可以連接到其他智慧設備或雲端的應用和服務。
聯發科LinkIt™採用了MediaTek Aster (MT2502) SOC晶片為CPU,該開發板子上面同時擁有GSM、GPRS、藍牙、Wi-Fi 以及 GPS 功能。


聯發科LinkIt開發平台(見圖)提供了一個強大且靈活的開發平台。該平台包括:
•Aster (MT2502) SoC
•LinkIt 作業系統
•LinkIt 硬體開發套件(HDK)
•LinkIt 軟體開發套件(SDK)


LinkIt HDK包括LinkIt開發板,它提供了相容於Arduino UNO得擴充功能。
LinkIt SDK是一個 Arduino IDE 中的插件(plug-in ),因此可以很容易地移植現有的Arduino程式碼到 LinkIt ONE。 其規格如下:
  •微控制器:MT2502A(Aster, ARM7 EJ-STM)
  •頻率: 260MHz
  •尺寸: 8.4x5.3 公分
  •Flash: 16MB
  •RAM: 4MB
  •IO埠輸出電流:0.3~3mA
  •串列埠: 軟體串列埠(Serial) 及硬體串列埠(Serial1, D0&D1)
  •SD卡: 最大支援32G(Class 10)
  •GPS: (MT3332)
  •GSM: 850/900/1800/1900 MHz
  •GPRS: Class 12
  •Wi-Fi: 802.11 b/g/n (MT5931)
  •Bluetooth: BR/EDR/BLE(Dual Mode)
其他細節件官方網站中的Specifications說明。
http://www.seeedstudio.com/depot/LinkIt-ONE-p-2017.html


2.開發環境建置

實作環境:
Windows 8.1專業版
arduino-1.5.7
MediaTek LinkIt SDK for Arduino 1.0
MediaTek LinkIt ONE


(1)安裝Arduino IDE
由於LinkIt SDK 是架構在Arduino開發環境的一個插件,因此必須上Arduino官網下載Arduino IDE1.5.6或更高版本。目前官網提供版本為Arduino 1.5.7 BETA,下載網址如下:
http://arduino.cc/en/Main/Software

在這邊我下載的是Zip檔案,並將其解壓縮於指定目錄下便完成Arduino IDE安裝。


(2)安裝LinkIt SDK
到MediaTek Labs網站註冊一個帳號並登入該網站: http://labs.mediatek.com/dpRegister/create ,
當登入MediaTek Labs網站後,接著下載LinkIt SDK的Zip檔案: http://goo.gl/RZMCth

並在下載完成後將其解壓縮。
執行安裝程式 Mediatek_Linkit_SDK_for_Arduino_版本號碼.exe
安裝的過程中只要選擇步驟(1)的Arduino IDE安裝目錄以及最後確認Install the MediaTek USB Driver前面有打勾便安裝完成LinkIt SDK。





(3)設定Arduino IDE 使用 LinkIt ONE
執行Arduino IDE選擇 Tools -->Board --> 選擇LinkIt ONE選項。


開啟裝置管理員並將LinkIt ONE接上USB安裝驅動程式。
如果看到將LinkIt ONE接上USB後的裝置管理員抓到的裝置為COM(data_if) 的話(見下圖):


這時候將其這兩個驅動一一進行更新,其驅動程式放置於Arduino IDE目錄下的drivers\mtk中,此時只要選擇作業系統的版本便可以安裝完成。

驅動安裝完成後的畫面如下,其中COM埠號會因為不同環境而有不同號碼。




這時候回到Arduino IDE選擇 Tools -->Port -->選擇COM埠


至此既安裝完成 LinkIt ONE的Arduino IDE開發環境。

3.實作
(1)測試LED閃爍(Blink)
開啟 LinkIt ONE的Arduino IDE選擇File -> Examples -> Basics -> Blink

燒錄程式的部分需注意一下LinkIt ONE上面的三個開關位置是否如下圖所示:


執行結果:

(2) GPS測試
GSP實作範例程式在: C:\arduino-1.5.7\hardware\arduino\mtk\libraries\LGPS\examples\GPS 目錄下。

我修改了程式並將GPS相關資訊透過I2C的方式將其顯示於20x4 LCD上,以下是執行結果:

另外補充一點,LinkIt ONE在Serial Monitor的部分與Arduino不太一樣,當LinkIt ONE透過USB連接到電腦時會出現兩個COM埠,其中一個是燒錄使用,另外一個是Serial Monitor使用,所以如果要看 Serial.print輸出結果要注意相關埠號;例如下圖我的環境所示如果要取 Serial.print結果要選擇COM10

以下是讀取結果:



後記:
LinkIt ONE測試結果幾項心得分享:
1. LinkIt ONE上已經內建GSM、GPRS、藍牙、Wi-Fi 以及 GPS 功能,而且GPS還是雙衛星系統,光就GPS在拍賣網購買就已經要1千多,所以整體而言算是物超所值。
2. 測試過程中,原本LCD是使用一般常見的Arduino LCD Keypad Shield,不過把硬體接上後使用可以在arduino上執行的程式編譯上傳到LinkIt ONE上卻無顯示畫面,所以目前來看LinkIt ONE與市面上Arduino的一些擴充版(Shield)並沒有百分百相容性,不過由於架構在Arduino IDE上,相關Arduino的程式倒是完全相容。
3.開發的部分應該會花點時間來調整程式,舉實作2的例子在I2C LCD與LinkIt ONE還沒接觸過的情況下前後實作到完成不用兩個小時,整體評估覺得軟硬體部分還蠻容易上手的。
至於不足的地方我覺得LinkIt ONE這個開發版是定位在穿戴式裝置如果再加上內建ANT+的收發器一定會更好,這樣可以造福運動的愛好者。

至於LinkIt ONE其他細節部分請參考 MediaTek_LinkIt_Developers_Guide_v1_0 



參考資料:
1. LinkIt ONE開發版
http://www.seeedstudio.com/wiki/LinkIt_ONE%E5%BC%80%E5%8F%91%E6%9D%BF


2.MediaTek_LinkIt_Developers_Guide_v1_0.pdf
http://labs.mediatek.com/fileMedia/download/5fed7907-b2ba-4000-bcb2-016a332a49fd


3.LinkIt_ONE_Pinout_Diagram_v1_0.pdf
http://www.seeedstudio.com/wiki/images/8/81/LinkIt_ONE_Pinout_Diagram_v1_0.pdf

4.範例 (SeeedStudio官網-->選擇下面的Wiki就可以看到很多相關範例網站)
http://www.seeedstudio.com/depot/LinkIt-ONE-p-2017.html


5.MediaTek LinkIt > API References
http://goo.gl/9MhwJl


6.MediaTek Labs
http://labs.mediatek.com/site/global/home/l_home.gsp

9 則留言:

  1. 你好:
    我是"通訊大賽-聯發科技物聯網/穿戴式創客競賽"的工作人員,借分想到我們的官網和FB粉絲團。如有不便,敬請告知。謝謝!

    回覆刪除
  2. Stephen Shih
    先說說你們的 SPI 通訊為何會那麼慢吧。

    回覆刪除
  3. Stephen Shih
    先說說你們的 SPI 通訊為何會那麼慢吧。

    回覆刪除
  4. 目前是否只能在1.5.7版運作?

    回覆刪除
  5. 不好意思,可以請教你的I2C LCD是用哪個Library嗎?

    我注意到你的照片是接在類比旁邊的SDA和SDL上,

    但我利用官方的"Grove_LCD_RGB_Backlight-master"裡頭的範例,

    I2C LCD 都跑不出文字耶?

    回覆刪除
    回覆
    1. 我剛看了官方"Grove_LCD_RGB_Backlight-master"裡頭的範例似乎不是I2C的協定,如果你同樣也使用I2C LCD的話,參考下列網址應該可以實做出來:

      http://coopermaa2nd.blogspot.tw/2012/09/i2c-16x2-lcd.html

      刪除
  6. 成功了,感謝你!!

    順便再問一下,網址內提供的是否和Arduino官方的是同一個Library?

    https://goo.gl/X9uiD

    回覆刪除
  7. 請問可以在 linux 下 用 arduino IDE 來管理 linkit ONE 板子 進行開發嗎

    回覆刪除