物聯網與穿戴裝置專題(2)——可穿戴裝置平臺開發套件LinkIt ONE

NO IMAGE

博主QQ:1356438802

可穿戴裝置可以說是目前最火的詞彙之一,這種結合了“硬體、軟體、雲”為一體的穿戴式裝置理念讓人們意識到了一種新穎、時尚、智慧的互動方式,更是成為廠商除智慧手機外的另一個競相爭奪的領域。

智慧手環、智慧手錶、智慧眼鏡……可穿戴裝置層出不窮,目前這個領域還是處於野蠻生長的初級狀態。當然機會也是無窮的,各種創業團隊、方案公司都各顯神通,而一些大廠商也在虎視眈眈。由於市場還不成熟,因此分工還不是很明確,已經殺入的公司需要兼顧設計、生產、銷售各個方面。從趨勢來看建立平臺,無論是軟體平臺還是硬體平臺是非常好的切入點,很多行業的巨頭已經開始部署,聯發科就是之一。相信很多人都知道聯發科的“Turnkey”模式會極大催熟和席捲一個市場,而這次它甚至專門成立了“聯發科創意實驗室”來提供全面支援。

聯發科創意實驗室(MediaTek labs)是幫助不同背景與技術水平的產品開發者加速穿戴式和物聯網裝置的開發,計劃為全球開發者、創客和服務供應商提供軟體開發套件(SDK)、硬體開發套件(HDK)、技術檔案與技術及商業上的全面支援。而它的第一個專案就是Linkit開發平臺,LinkIt平臺主要涵蓋了4個部分(如下圖):

  • 聯發科 Aster(MT2502) SoC,面向可穿戴裝置領域目前世界上最小的商用級SoC
  • LinkIt OS,針對MT2502,用於可穿戴裝置或者物聯網裝置連線其它智慧裝置或者直接連線雲服務的作業系統
  • LinkIt HDK,基於MT2502的硬體開發工具,目前主要為LinKIt ONE開發板
  • LinkIt SDK,軟體開發工具,包含了對Arduino IDE的外掛、LinkIt
    API函式庫與開發板韌體更新工具(今後還將支援Elipse IDE)


Linkit-one-35

LinkIt開發平臺

瞭解完LinkIt開發平臺,今天的主角也該登場了——LinkIt ONE開發板。

LinkIt ONE開發板

LinkIt One開發板是由矽遞科技(Seeed Studio)和聯發科合作推出的一款開源硬體,相信在瞭解過聯發科LinkIt開發平臺後,我們對LinkIt ONE不再是一頭霧水了。LinkIt One基於聯發科的Aster(MT2502A)ASoC處理器,整合了高效能的Wi-Fi和GPSx晶片。同時,LinkIt ONE提供了相容Arduino UNO的介面可以很容易的介入各種Shield及感測。首先一起來看下LinkIt
ONE廬山真面目。

                                                     Linkit-one-3

Linkit-one-4

LinkIt ONE

LinkIt ONE配件包括:

  • LinkIt ONE開發板 *1
  • GPS天線 *1
  • GSM天線 *1
  • WiFi/BT天線 *1
  • 1000mAh鋰電池 *1

第一眼看到LinkIt ONE只會聯想到小巧簡潔,跟”功能強大“完全不沾邊,然後事實卻是LinkIt ONE將核心器件都佈局在板卡背面,這才給人一種錯覺。

LinkIt ONE的功能非常豐富,不僅在開發板的設計上相容時下流行的Arduino Uno
R3介面(實際功能上可能會有些差別,後面將介紹),可以相當便利的移植Arduino現有的豐富例程進行開發,減少學習成本,更是整合了目前智慧可穿戴裝置、物聯網領域炙手可熱的GSM/GPRS、WiFi/BT、GPS等無線通訊功能。另外,值得一提的是,LinkIt
ONE提供的配件中還包括了一塊1000mAh的鋰電池,可以方便移動開發測試,而對於喜歡DIY的工程師,在對基於LinkIt ONE原型板開發產品時的供電問題也得到了妥善的解決辦法。

LinkIt ONE 板載資源

雖然LinkIt ONE板載功能非常豐富,但是板卡實際尺寸僅為3.3*2.1英寸,這和目前市面上Arduino開發板差不多大小,LinkIt
ONE板卡正面佈局十分簡單,僅有一些常用的外設介面以及功能切換開關,核心的IC器件都集中在板卡背面,見下圖。

                                                      Linkit-one-7

Linkit-one-8

Linkit-one-10

LinkIt ONE開發板

LinkIt ONE引數:

  • 主控: MT2502A(Aster, ARM7 EJ-STM),5.4mm*6.2mm,143-ball,TFBGA封裝
  • 主頻: 260MHz
  • 尺寸: 3.3×2.1 英寸
  • Flash: 16MB
  • RAM: 4MB
  • IO口輸出電流:1mA
  • 模擬口數量: 3
  • 數字輸出電平:3.3V
  • 模擬口輸入電壓: 5V
  • 串列埠: 軟串列埠(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
  • 藍芽: BR/EDR/BLE(Dual Mode)

LinkIT ONE組成構件

LinkIt ONE背部核心器件都由遮蔽罩覆蓋著,佔據了整個板卡面積的2/3還多,外部僅能看到一個相容microSD卡與SIM卡功能的卡座以及3個天線射頻介面(GSM/WiFi/GPS)。開啟遮蔽罩後可以清楚的看到板卡電路的佈局,依託於聯發科完善的解決方案和MT2502A超高整合度,GSM/WiFi/GPS等無線通訊功能的實現僅僅依靠MT2502A RF7198(RF功放) MT5931(WiFi) MT3332(GPS)等幾個核心器件,而且MT5931以及MT3332同樣是聯發科的方案,這裡就不對這些器件做過多介紹了,有興趣的可以參考這些產品的規格書。下圖則是基於MT2502A
SoC的簡易外設資源框圖,可以清楚的瞭解MT2502A強大豐富的功能整合。


Linkit-one-14

MT2502A SoC的簡易功能框圖

聯發MT2502A SoC特性:

  • 目前市場上最小的商用系統級晶片(5.4mm*6.2mm)
  • CPU核心:ARM7 EJ-S,主頻為260MHz
  • 記憶體:4MB RAM,4MB快閃記憶體
  • 雙藍芽,3.0和4.0 低功耗棧
  • GSM和GPRS調變解調器
  • 電源:PMU和充電器等功能,具有感測器集線器功能的低功耗模式
  • 多媒體:音訊、視訊、攝像頭
  • 介面:用於液晶顯示器,照相機,I2C,SPI,UART,GPIO等更多的外部埠

作為一款針對可穿戴裝置的SoC,MT2502A豐富的功能著實讓人驚訝了一把,整合了電源管理、藍芽、處理器、RAM等等功能,這簡直就是一個入門級的手機SoC方案嘛,確實,如果回顧一下聯發科的發展史,你就會發現設計這樣一顆可穿戴裝置SoC對於聯發科來說實在是小菜一碟,將2G時代的手機SoC重新”修改裝飾“一番即可,另外,對於可穿戴裝置方案,封裝大小是一個至關重要的因素,影響產品外觀大小、結構佈局等,而MT2502A SoC將那麼多的功能都整合在這顆只有5.4mm*6.2mm大小的晶片上,相信僅僅只是封裝 功能的優勢聯發科就能夠讓競爭對手喝一壺,更別提,加之聯發科SoC一向引以為傲的低功耗特性。

MT2502A的功能、整合度、功耗可以說做到了可穿戴裝置方案的盡善盡美,不過同樣的,在對每個功能的實現上有些細節之處也與我們平時的使用習慣不同(尤其用慣了微控制器的工程師),比如先前我們提到的LinkIt ONE開發板”相容Arduino UNO
R3擴充套件介面“,人們會下意識的認為每個IO的使用可以像Arduino那樣,但事實是MT2502A在一些IO口的功能實現和電氣引數上與Arduino還是有區別的,尤其在設計的時候需要特別注意,具體差別可以參考下表

                                                      Linkit-one-29

Linkit-one-31

LinkIt ONE 與Arduino UNO一些介面區別

在瞭解了LinkIt ONE板卡以及MT2502A的功能和引數後,相信不少工程師對基於MT2502A SoC的產品應用充滿了期待,事實上市面上已經出現過基於MT2502A的產品,比如下方的這款智慧手錶Omate X,那麼,如果是你,遇見MT2502A後,會設計出怎樣的產品呢?

Linkit-one-34

上電使用

對於LinkIt ONE板卡功能的使用,我們將通過實際的上電測試來進一步瞭解,當然,前期的準備工作必不可少:

  • 安裝Arduino IDE1.5版本以上的開發工具
  • 配置聯發科基於Arduino IDE
    的SDK
  • 安裝USB除錯驅動以及虛擬串列埠驅動

這些軟體包在聯發科的創意實驗室中都可以找到,不過在安裝USB驅動的時候有一點要注意,安裝完驅動可以看到兩個串列埠顯示,如下圖中所示

                                                     Linkit-one-24

這兩個串列埠分別代表著不同的功能,其中

  • MTK USB Debug Port:除錯串列埠用於下載程式
  • MTK USB Modem Port:虛擬串列埠作為串列埠資料列印輸出口

在愛板網以往的評測亦或是拆解文章中,我們很少接觸像LinkIt ONE開發板中的GSM、GPS功能,所以接下來我們主要來體驗下這兩個功能的使用情況。

  • GSM功能

在GSM的功能測試中,我們準備做一個通過SMS簡訊控制LED點亮的功能,這裡就涉及到一個實際的設計問題,根據前面瞭解的MT2502A的IO口引數,其驅動電流很小(0.3~3mA),無法直接驅動LED點亮,所以這裡需要通過一個三極體作為控制,驅動訊號為設定為D3管腳;並且GSM功能需要用到SIM訊號,根據LinkIt的資料我們可以發現其SIM卡訊號與SPI訊號存在複用的情況,所以要將板卡正面的開關切換到SD/SIM位置處,實物連線圖如下

Linkit-one-39

                                                                                           Linkit-one-32

通過Arduino IDE下載程式後,通過sscom32串列埠工具可以看到“GSM
OK”的提示,此時通過手機向LinkIt ONE板卡的SIM卡傳送簡訊,可以在sscom32上看到來電顯示號碼以及控制命令,通過控制D3引腳實現對LED點亮或者熄滅的控制,如下圖

Linkit-one-41


Linkit-one-38

通過SMS簡訊實現對LED的控制

相信這個例程只不過是抱磚引玉,這只是GSM功能的冰山一角,相信有更多更有創意的idea等著大家來開發。

  • GPS功能

Arduino IDE中有相應的GPS例程,我們可以直接拿來使用,下載程式後,將LinkIt
ONE的GPS天線放置在視窗。


Linkit-one-25

GPS例程使用

通過串列埠工具可以檢視從MTK USB Modem Port口中列印的GPS資訊,只不過只有GPGGA一條資料輸出語句,雖然裡面包含了UTC時間、經緯度、衛星數量、定位情況等資訊,但是沒有表明衛星載噪比的語句輸出,也就是說,此時的定位情況准不准我們很難準確判斷。

當然我們還可以藉助更直觀的軟體來檢視GPS的定位情況,比如通過下圖中的VisualGPS

LinkIt one-review-1

獲取的GPS串列埠資訊

上圖中的Altitude高度指的是離海平面的高度,而不是說距離此時地面的高度。我們可以把得到的經緯度資訊輸入到google地圖檢視相應的位置情況,見下圖


LinkIt one-review-3

GPS實際定位情況

綠色箭頭是實際定位的資訊,而紅色點是此時板卡的位置,不難發現,此時的定位情況並不是很理想,有比較大的漂移情況,而串列埠資訊也無法得知衛星的載噪比情況,不能進一步分析引起漂移的原因,有些遺憾。

小結

介紹了聯發科LinkIt開發平臺、LinkIt ONE開發板以及功能豐富強大的可穿戴裝置解決方案MT2502A SoC,相容目前流行的Arduino介面、便於移植的開發環境,集炙手可熱的GSM/GPRS、WiFi/BT、GPS等無線功能為一體,LinkIt
ONE就好比一個入門級的智慧手機平臺,豐富的擴充套件保障了工程師在開發產品時各項功能的可行性,聯發科MT2502A SoC更是在功能、功耗、封裝上儘可能做到了面對可穿戴裝置領域的必備要素,而隨著MT2502A的問世(聯發科第二代可穿戴解決方案MT2601也已經被曝光),相信聯發科該思考的是如何將谷歌安卓生態系統的小夥伴拉到自己的LinkIt平臺上。