EMW3162GoKit開發板STM32F103智能硬件機智雲2.0php
從物聯網概念誕生起,人們就不斷在期盼着全民物聯網時代的降臨。有人說,2014年是智能硬件的元年,這種結合了硬件、軟件、雲服務爲一 體的硬件平臺真正觸及到了物聯網發展的本質。談到智能硬件的將來,或許一千我的眼裏就有一千個哈姆雷特,可是有一點是毋庸置疑的,從此智能硬件將愈來愈依 賴雲服務。ios
國內就有這麼一家專爲智能硬件提供後臺支持的雲服務平臺——機智雲,這個由傑升科技開發的雲服務平臺,主要爲智能硬件開發商提供包括統計分析、數據安全、遠程管理、軟件升級等支持服務。截止到2014年的第二季度,機智雲上接入的智能家居和可穿戴設備等智能硬件數量已經超過了200萬臺,是國內最大的智能硬件集羣。git
機智雲github
能夠這麼說吧,這是一家最懂智能硬件的軟件公司,不久前隨着機智雲2.0的升級,雲平臺支持更是從原來面向廠家的B2B定製化服務擴展到 B2D(Developers,開發者)的開放式開發模式,並且相應的推出了一套智能硬件開發板——機智雲GoKit,配合機智雲的雲平臺支持,能夠幫助 智能硬件開發者進行快速的產品研發,說了那麼多,讓咱們先一塊兒來見識下GoKit這個新穎的玩意。ajax
GoKit開發板數據庫
愛板網拿到的機智雲GoKit開發套件包含了一塊GoKit開發板以及一份上手使用說明文檔,GoKit板卡安置在一個簡易的塑料盒內,僅在miniUSB供電接口/串口處開了一個孔,總體看上去十分精緻小巧,相信對它一見傾心的工程師不在少數。編程
GoKit開發套件安全
做爲一款開源的智能硬件板卡,GoKit的資料在機智雲官方論壇都有提供,不過在這裏咱們仍是免不了要詳細瞭解下板卡的硬件組成,看看GoKit開發板到底具備什麼樣的功能?能實現什麼樣的應用?微信
GoKit開發板網絡
GoKit板卡的主要功能:
GoKit板卡的板載資源很是豐富,核心控制器爲板卡背面的意法半導體的STM32F103C8T6微控制器,基於Cortex-M3內核,屬於市面上應用的很是廣的一款芯片,不管是相關的應用或者資料都比較齊全,對於工程師來講,極易上手。
在GoKit上,STM32F103C8T6控制了包括WiFi模塊、電機、RGB LED、紅外光電探測器、溫溼度傳感器等應用功能,經過板載的20pin JTAG接口或者miniUSB-to-UART口能夠實現對STM32F103C8T6 MCU編程、調試。值的注意的是,若是要經過miniUSB接口實現串口功能,須要安裝板載CP2012芯片的串口驅動。
EMW3162 WiFi模塊
做爲一款智能硬件平臺,無外乎須要具有基本的聯網功能,經過上面的介紹,咱們已經知曉GoKit板載的聯網WiFi模塊是慶科的EMW3162,以下圖
EMW3162 WiFi模塊
EMW3162 WiFi模塊基本參數:
EWM3162 WiFi模塊包含了一個主頻高達120MHz的Cortex-M3微控制器STM32F205RG(STM32F205RG數據手冊), 配合mxchipWNet 嵌入式Wi-Fi固件,工程師能夠方便、快速地爲嵌入式設備增長Wi-Fi網絡通信功能,並且從GoKit上咱們也能看到,EMW3162模塊並非直接 焊接在主板上的,它採用了2.0mm間距的30pin直插式排針座接口與GoKit主板鏈接,能夠方便的替換市面上一些主流的WiFi模塊方案,如高通的 400四、漢楓、Ti、Marvell等(最新消息,日前GoKit還完成了接通Intel Edison和君正M150),這樣的設計無疑爲工程師自由定義產品的無線通訊方案提供了便利的條件。
除了無線功能,GoKit板載的電機、RGB LED、紅外光電探測器、溫溼度傳感器功能能夠模擬目前市面上大部分的智能硬件產品,如
總的來講,GoKit開發板上的應用功能仍是很是貼近主流的智能硬件產品,對於剛接觸智能硬件的工程師來講具備必定的引導做用。
固然,除了板載的特定應用功能,GoKit一樣提供了一些方便用戶自定義的擴展外設接口,如黃色的排針座P4_8pin、P5_8pin,4個用戶能夠自定義功能的機械按鍵,雖然可擴展功能很少,但仍是爲外設功能擴展提供了一些可行性條件,聊勝於無嘛。
綜合GoKit開發板的硬件組成以及相關功能,相對於咱們日常所見的開發板,GoKit可算得上是一款真正貼近產品的開發平臺,整個板卡的硬件原理框圖以下。
GoKit開發板硬件原理框圖
如何開發
不一樣於通常的微控制器板卡,GoKit智能硬件板的開發主要分爲兩部分,一部分是對自身板卡STM32F103C8T6微控制器的編程開發,實現 MCU對應用功能的控制(如電機、傳感器等);另外一部分是對移動端APP的開發,開發相應的APP經過雲平臺實現GoKit開發板的M2M接入服務,經過 APP來控制板卡上的功能。對於智能產品開發的完整性,二者缺一不可。
相信對於第一部分的MCU開發咱們接觸的比較多,平時愛板網評測的MCU板卡基本都是對於微控制器的編程開發,具體能夠經過IDE開發工具KEil、IAR等實現,何況GoKit特地選用了應用很是廣的意法半導體STM32F103(STM32F103數據手冊)微控制器,不管是資料完整度仍是實際範例都很是多,便於工程師上手。
機智雲一樣也提供了GoKit板載程序的源代碼,能夠在GitHub上下載,下圖則是經過Keil打開的GoKit板載MCU程序的源代碼。
GoKit內置MCU程序源代碼
若是咱們想在GoKit板卡上外擴更多功能,除了硬件電路的修改,一樣也要在這部分MCU的編程中添加相關功能的代碼,從新編譯、下載,這裏就再也不累述。
本文主要討論的仍是第二部分APP的開發,這也是使用機智雲平臺對GoKit開發板進行開發的一個重要優點。
GoKit開發板沒有提供現成的APP下載,須要咱們花費一點時間經過機智雲平臺來生成APP(不知道是否是爲了讓咱們有那麼一點點小小的成就感)。
如何操做?
首先咱們須要在機智雲官網註冊一個開發者帳號,而後經過新建設備接入來添加基於GoKit的開發產品,以下圖所示
添加機智雲接入設備
目前接入設備的通訊方式只能選擇WiFi,產品類型卻是能夠有不少選擇,包括了最新的智能家居產品、玩具等,這裏隨便選擇一項便可。添加完成後會進入新設備接入的嚮導設置。
新設備設置嚮導
設置嚮導中的第一步就是編輯數據點,經過數據點協議的編輯,你能夠制定設備每個功能是否對外發送狀態數據以及是否接受外部的控制,這裏能夠經過應用已有的模板或者經過手動編輯來創建數據點。
這裏的數據點指的是什麼?
在編輯數據點前,你須要先了解你的設備詳細參數,根據設備具體的功能進行數據點的拆分。好比,你的設備有一個可變速電機馬達,你但願能夠遠程控制電機的開關和轉速。那你須要添加至少2個數據點:電機開關、電機轉速。
爲了方便,咱們直接選擇應用模板中的數據點設置,機智雲會根據你接入設備添加的數據點生成一份<機智雲接入串口通訊文檔>,以下圖紅色標示的位置所示
生成<機智雲接入串口通訊文檔>
根據這份文檔你能夠完成MCU通訊功能的編寫。完成這幾個步驟就能夠進入設備的調試階段,機智雲會根據你先前的設置生成相應的包括蘋果ios以及谷歌Andriod系統平臺的相關:
你能夠直接下載DemoAPP進行設備調試,也能夠將生成的SDK軟件包加入到你蘋果ios或者谷歌安卓的開發項目中進行修改、增減功能等操做(具 體能夠參考集成開發文檔),這就像是提供的MCU開發編程的例程同樣,SDK軟件包的提供能夠大大縮短移動端APP的開發週期。
經過機智雲平臺的簡易開發流程以下:
經過機智雲對GoKit開發流程
調試GoKit板卡功能
機智雲平臺提供了兩種調試方法,一種是沒有GoKit開發板依託於機智雲平臺的虛擬調試方法,另外一種則是依託於GoKit開發板的實物調試方式。這裏就直接選用第二種實物調試方式,以安卓平臺爲例,下載安裝機智雲生成的DemoAPP。
配置網絡
具體網絡配置過程就不累述了,能夠根據GoKit開發板提供的使用說明文檔操做。
因爲是DemoAPP緣故,就不討論所謂的用戶體驗了,APP UI的界面是至關的簡單,僅有一些基本功能實現的選項。網絡配置成功後,能夠在APP主界面看到一個相關的微信寵物蛋局域網在線的選項,點擊進入就是GoKit開發板的功能設置界面了,以下圖
經過APP實現對GoKit開發板的控制
此時你能夠經過GoKit APP界面的選項來控制板卡上的應用功能,以下圖分別爲RGB LED的紅色LED顯示以及紅外探測功能的實現。
RGB LED的紅色LED顯示以及紅外探測功能的實現
在APP上一樣能看到溫度、溼度等的顯示,還能夠經過電機的設定實現正轉、反轉、轉速控制,這裏就再也不一一演示了。機智雲生成的APP基本上就是一個功能演示性的Demo,真正的產品整合仍是須要用戶結合開發文檔本身開發。下圖則爲經過APP控制GoKit開發板的工程流程圖。
GoKit開發板工做流程圖
GoKit開發板背後的意義
看完機智雲GoKit開發套件的硬件組成、軟件開發以及使用感覺,有什麼想說的呢?
機智雲平臺
正如文章一開頭所講的,一個智能產品的研發離不開硬件、軟件以及雲服務平臺,這三者的結合給人們帶來了更多更有創意的產品,但同時也給研發帶來了 「前所未有」的門檻,而傑升科技從這三方面着手,從之前單單提供雲服務平臺,到現在推出了開源硬件板GoKit、相應的開源軟件代碼,加之機智雲平臺,真 正爲用戶提供了一站式解決方案,在下降智能硬件門檻的同時大大下降了產品的研發週期。
不只如此,依託於雲服務龐大的數據庫支持,機智雲還能經過收集成千上萬用戶使用習慣的信息,幫助開發者改進產品,迎合用戶實際需求,設計出真正兼具創新與實用的智能產品。
小結
介紹了傑升科技推出的GoKit開發板以及基於機智雲平臺的智能硬件產品的開發流程,GoKit開發板搭載了市面上主流意法半導體通用微控制器 STM32F103C8T6(Cortex-M3)、常見的WiFi通訊模塊(EMW3162)、傳感器、RGB LED、電機等組件,能夠實現大部分智能硬件產品的功能模擬(如智能燈泡、環境監測等),結合機智雲平臺提供的雲服務以及開源代碼,不只大大下降了智能硬 件產品的研發門檻、縮短研發週期,更是爲開發者提供了一站式的智能硬件產品解決方案。目前,GoKit開發套件能夠在機智雲官網免費申請,感興趣的朋友必定不能錯過。
參考資料