【轉載】【專欄】國內外物聯網平臺初探(篇五:機智雲平臺)

作者:馬智

物聯網智庫 整理髮布

轉載請註明來源和出處

------ 【導讀】------

物聯網智庫將在每週五下午的第二篇文章推送由馬智先生研究撰寫的系列文章——《國內外物聯網平臺初探》。

物聯網智庫將在每週五下午的第二篇文章推送由馬智先生研究撰寫的系列文章——《國內外物聯網平臺初探》

—— 國內——

(一)百度物接入IoT Hub

(二)阿里雲物聯網套件

(三)QQ物聯·智能硬件開放平臺

(四)京東微聯

(五)機智雲IoT物聯網雲服務平臺及智能硬件自助開發平臺

(六)慶科雲FogCloud

(七)Ablecloud物聯網自助開發和大數據雲平臺

(八)中移物聯網開放平臺OneNet

—— 國外——

(一)亞馬遜AWS IoT

(二)微軟Azure IoT

(三)IBM Watson IoT

今天是這個系列的第四部分,介紹機智雲IoT物聯網雲服務平臺及智能硬件自助開發平臺

平臺定位

機智雲平臺是致力於物聯網、智能硬件雲服務的開放平臺。平臺提供了從定義產品、設備端開發調試、應用開發、產測、運營管理等覆蓋智能硬件接入到運營管理全生命週期服務的能力。

機智雲平臺爲開發者提供了自助式智能硬件開發工具與開放的雲端服務。通過傻瓜化的工具、不斷增強的SDK與API服務能力最大限度降低了物聯網硬件開發的技術門檻,降低研發成本,提升開發者的產品投產速度,幫助開發者進行硬件智能化升級,更好的連接、服務最終消費者。

產品功能

工具服務

架構

  • 機智雲

機智云云端提供了產品的定義、產品數據點定義、虛擬設備調試、M2M服務、API服務等功能。爲設備、應用接入提供雲服務。

  • GAgent

設備端的模組系統GAgent,通過使用GAgent,開發者可根據機智雲提供的協議與GAgent對接,使設備可快速接入。目前已兼容國內主流的Wi-Fi模塊、移動網絡模塊。

  • IOT SDK

機智雲提供了基於IOS,Android系統的IOT SDK,開發者通過SDK,可快速實現APP開發,無縫接入機智雲,並根據SDK獲取機智雲平臺逐步推出的新服務。

研發流程

技術方案

概念解釋

  • GAgent:全稱Gizwits Agent,運行於Wi-Fi模塊中,設備通過GAgent接入機智雲服務器。 目前已兼容國內主流的Wi-Fi模塊, 開發者也可以通過獲取GAgent二次開發包實現自定義的模塊接入機智雲。

  • 小循環:智能設備與手機、智能設備與智能設備之間,通過連接同一個路由器實現局域網內部的通信(查看狀態或控制),我們稱之爲小循環。

  • 大循環:智能設備通過路由器或直接接入互聯網以實現用戶的遠程監測與控制,我們稱爲大循環。

  • ProductKey:產品標識碼,開發者通過機智雲後臺創建新產品後,自動生成的一個32位字符串。在機智雲的數據庫中是一個唯一的號碼,開發者完成開發寫入設備主控MCU後,機智雲通過此標識碼對設備進行識別並自動完成註冊。

  • DID:設備號,當一個設備初次接入機智雲時,機智雲自動根據ProductKey以及設備Wi-Fi模塊MAC地址爲此設備註冊一個did,此did全網唯一,用於與用戶的綁定及後續操作。

  • PassCode:設備通行證,用於校驗用戶的綁定/控制權限。當用戶發起設備綁定時,只要是合法操作即可拿到此通行證,通過此通行證綁定設備並對設備進行有效期內的查看、控制等操作。GAgent首次運行時生成隨機數作爲設備通行證,生成後保存在非易失性存儲器上。設備上線時需要上報給服務器。

  • AppID:應用標識碼,當開發者需要爲一款智能產品開發應用(包括iOS、Android、Web應用等)時,後臺會自動生成一個AppID,並與此設備進行關聯。應用開發時需要填入此AppID。

  • Onboarding:也叫配置入網,用戶將一款基於Wi-Fi的物聯網設備配置連接上路由器的過程稱爲Onboarding。新設備第一次使用時需要知道路由器的賬號和密碼,以通過路由器連接互聯網。由於大多數的物聯網設備沒有自帶的屏幕和鍵盤,所以需要通過智能手機向設備發送路由器的SSID和密碼,這個過程機智雲稱爲Onboarding。機智雲提供的Wi-Fi設備接入SDK中已經內置了此配置的功能。

  • AirLink:機智雲對各種SmartConfig、SmartLink這種UDP廣播報方式對設備配置入網的技術統稱,兼容了多個Wi-Fi模塊廠商的配置協議,總結了一套良好用戶體驗的標準Onboarding操作流程,機智雲的Wi-Fi 設備接入SDK已經內置AirLink技術。

  • SoftAP:由於目前各個Wi-Fi模塊廠商的Smart Config協議均未完全成熟,也不支持5G路由器信號。機智雲在提供了AirLink配置模式的同時也支持SoftAP模式配置設備接入路由器。當設備進入SoftAP配置模式時,設備本身將成爲一個AP,智能手機可直接與設備進行連接,然後在手機上的界面上輸入路由器的SSID和密碼,設備接收到信息的時候會自動嘗試連接路由器,連接成功則自動切換到正常使用的模式。

關鍵概念 - 數據點

  • 機智云云端和APP對設備上報的數據進行分析、處理,或設備對機智云云端和APP下發數據進行分析、處理,前提是雙方明確數據的含義。機智雲後臺提供了數據點的定義界面,通過數據點定義,設備與雲端、APP端數據通信的含義將得到明確。

  • 數據點定義的好處:

1.明確設備與雲端、APP端數據通信的含義。

2.雲端根據數據點定義,解析設備數據,用戶可使用“設備運行狀態”,“統計分析”等功能。

3.機智雲具有大數據統計接口,通過接口,可快速分析設備數據。

4.方便APP開發者開發,APP SDK可解析下發/上報等設備數據。

5.方便MCU開發,機智雲根據數據點定義,生成MCU與GAgent通信詳細串口通訊協議。

雲端管理 - 產品定義

1、創建產品

2、新設備接入嚮導

雲端管理 - 編輯數據點

3、通過方案模板創建生成產品數據點

4、通過方案模板創建生成產品數據點

5、手動編輯產品數據點

6、新建數據點

雲端管理 - MCU開發文檔生成

7、根據上一步添加的產品數據點,頁面自動生成了《XX-機智雲接入串口通信協議文檔》和《XX-機智雲接入JSON文檔》(其中XX代表產品名稱),點擊文檔名即可進行下載,硬件開發人員只需按照文檔指示即可輕鬆完成硬件開發

雲端管理 - 設備調試

原生APP:產品開發資源提供android和iOS SDK,集成文檔以及Demo APP的下載。

當完成了產品數據點編輯後且產品的硬件設備已開發完成,可下載對應的SDK集成到已完成界面設計的移動應用,即可實現設備的控制。同時也可以直接下載並安裝Demo App,登錄後即可對連接並查看、控制設備。如果設備未完成開發,可以使用機智雲提供的虛擬設備進行功能的調試。

輕APP:使用機智雲提供的Open APIs(Http / WebSocket),可以快速開發網頁或微信應用等基於html的輕應用,用於管理和控制智能設備。

雲端管理 - 通過方案模板創建產品

方案模板列表

應用方案模板

雲端管理 - 產品管理

產品信息查看

產品信息編輯

設備數據點管理

虛擬設備管理

設備運行狀態

雲端管理 - APP應用管理

APP應用列表

創建應用

設備接入應用:

綁定應用就是將設備與應用進行關聯,這樣應用纔可以對設備進行綁定控制等操作。

配置消息推送:

機智雲Android/ios應用支持接入“百度雲推送”和“極光推送”。在接入之前需配置消息推送,需將應用與百度推送或極光推送綁定。

設備端開發 - 原理

設備端的開發包含GAgent,MCU開發。設備能夠連接到雲端才能夠實現APP等客戶端對設備的遠程查看和控制,MCU數據通過GAgent與機智雲產生交互。

GAgent:運行在可入網模組(WiFi、GPRS)上的應用程序,可使模組接入機智雲服務器,並上傳/接收數據。

MCU:微控制單元,廠家設備控制器,例如單片機。

設備端開發 - 合作模組

設備端開發 - MCU編程步驟

  1. 下載MCU與GAgent串口通訊協議

  2. 創建項目,完成定義產品數據點,機智雲根據數據點自動形成項目MCU與GAgent串口通訊協議

  3. 根據MCU與GAgent串口通訊協議,參考GoKit開發套件MCU程序,完成MCU與GAgent通訊

  4. 機智雲提供設備端調試工具

  5. 機智雲對廠家檢驗設備提供設備廠測模式

  6. 機智雲對MCU固件可進行管理,OTA升級

  7. 機智雲對MCU與雲端交互的數據進行統計分析

設備端開發 - GAgent

對於WiFi設備,機智雲已經對主流的WiFi模塊進行了適配,在WiFi模塊中燒入機智雲提供的固件後設備即可連接到雲端。

對於蜂窩網絡設備(GPRS),與機智雲合作GPRS模塊廠家已經完成GAgent移植工作,使用合作廠家GPRS模塊,即可連接到雲端。

對於Android等系統、以太網設備等,機智雲提供了SDK(即GAgent),開發者移植SDK的底層驅動後就可以實現設備到雲端的連接。

應用開發 - 原理

機智雲目前提供3套SDK:

  • iOS平臺原生SDK

  • Android平臺原生SDK

  • APICloud跨平臺SDK

開發者可以根據項目需要自行選擇,其中APICloud版本SDK可以用H5技術一次開發,同時適配iOS和Android兩個平臺。

應用開發 - APP方案

原生SDK:

主要幫助開發者通過sdk接口調用的方式維護用戶系統,用戶與設備的綁定關係,設備的配置上線以及設備狀態的獲取和控制指令的發送。開發者應用SDK,無需對APP與設備、雲端交互進行再次開發,根據產品原型定義,可快速開發產品APP。同時機智雲推出十大開源項目,下載、學習開源項目APP源碼,更可快速應用機智雲SDK開發APP。

跨平臺開發:

爲了讓更多的企業、創客團隊以及個人開發者能享受到機智雲帶來的優質服務與便利,與各種優秀的平臺進行合作。APICould 平臺機智雲移動端開發模塊的上線,讓廣大開發者能用 Java + HTML 寫出完美的、跨平臺的移動應用。

應用開發 - 微信方案

應用機智雲提供WebSocket通信方案。WebSocket通信基本內容:用戶登陸,接收設備上線下線消息,發送和接收設備業務邏輯數據,心跳。

廠商需要在獨立部署的WEB系統中調用“用戶管理API”獲取身份資格,然後需要綁定設備才能控制設備。廠商需要在獨立部署的WEB系統中的Java中調用“Web Socket API”進行設備的控制與設備數據的實時展示,讓微信(網頁)應用能夠實時獲取設備狀態數據,對最終消費者提供更好的體驗。

應用開發 - 設備廠家業務雲開發

應用Noti接口接收設備事件,包括故障與報警事件、數據點編輯事件、設備上下線事件、設備狀態事件。使用Noti接口,可實時接收產品最新數據。

應用開發 - Android APP開源框架

  • Android開源框架工程源碼鏈接:

https://git.oschina.net/dantang/GizOpenSource_AppKit_Android

  • Android Gokit App是使用開源框架工程的源碼範例,源碼鏈接:

https://git.oschina.net/dantang/GoKit_Demo_Android

應用開發 - Android設備接入SDK

  • 機智雲的設備接入SDK(以下簡稱SDK)封裝了手機(包括PAD等設備)與機智雲智能硬件的通訊過程,以及手機與雲端的通訊過程。

  • 這些過程包括配置入網、發現、連接、控制、心跳、狀態上報、報警通知等。

  • 使用SDK,可以使得開發者快速完成APP開發,開發者僅需關注APP的UI和UE設計即可,而相對複雜的協議與錯誤處理等事項可忽略。

應用開發 - 設備接入流程

SDK已經封裝了所有的用戶、配置、發現、連接、控制的過程,開發者使用這些API可以完成上述流程中的功能開發,不需要再自行實現通訊協議。

SDK採取回調的工作方式,所以必須設置必要的監聽,比如通用監聽和設備監聽,具體請參見流程詳解。SDK在主線程中給APP回調。

Android SDK支持APP在Activity之間以及在Activity和Service之間傳遞對象。

應用開發 - 微信

機智雲

如圖①在微信接入業務場景中,通過開發者中心(site.gizwits.com)的圖形化界面定義設備功能,機智雲自動生成設備MCU與通信模組之間的串口通信協議,開發者根據協議文檔即可實現設備的聯網能力。

如圖②部分,設備接入機智雲後,機智雲提供了面向微信應用的API,提供傳輸設備數據到應用、應用向設備發起的控制信息的功能。

廠商服務器

廠商服務器是廠商爲了滿足自己的微信應用,獨立部署的WEB系統。該系統通過機智雲平臺提供的API進行與設備的數據、控制的實時通訊,解決智能硬件接入的需求;通過訪問微信公衆號平臺的API實現以微信爲渠道服務廠商最終消費者的需求。

首先,開發者可以爲自己的應用設計個性化的HTML交互界面與功能。(如圖③④部分)

微信服務器

微信服務器主要爲設備與廠商服務器之間的通信提供了一系列的接口,主要包括微信用戶賬號與設備的綁定/解綁定、接受/發送設備消息等,具體接口及使用方法可查看微信官方文檔,微信最近推出了微信硬件平臺,在做微信接入前需要仔細瞭解微信公衆號與微信硬件平臺,提供的功能要在不斷完善。

微信客戶端

微信客戶端提供了最終與用戶交互的操作界面,可以理解爲就是一個運行在手機的瀏覽器,只不過是運行在微信公衆號這套體系下。開發者可通過自己申請的公衆號管理後臺配置自定義的菜單。

應用開發 - 數據接入SDK功能

模組開發-測試集

WiFi測試最小集

  • SoftAP

  • AirLink

  • 配置成功驗證

  • 上電宣告驗證

  • 小循環控制

  • 大小循環切換

  • 大循環控制

  • GAgent_OTA

  • 故障恢復

GPRS測試最小集

  • 雲端註冊

  • 大循環控制

  • GAgent_OTA

模組開發 – 產品功能規格書

產品名稱:機智雲WIFI通訊模塊(GAgent)

產品功能:

能夠連接機智雲的通用通訊模塊解決方案,硬件平臺無關,目前適用於WiFi通訊模塊,部分功能規格適用於藍牙通訊模塊。爲各種智能硬件提供連接機智雲的能力以及與硬件進行可靠數據通訊的能力。

支持協議:

機智雲平臺標準接入協議之App與設備通訊v4.0.1

機智雲平臺標準接入協議之通用數據點協議v4.0.0

機智雲平臺標準接入協議之設備與雲端通訊v4.0.2

機智雲平臺標準接入協議之MCU與WiFi模組通訊v4.0.3

模式定義:

生產模式:用於產品大規模生產時的檢測場景

配置模式:用戶第一次使用或者更改網絡配置的場景

工作模式:產品正常工作時的場景

生產運營 - 產測工具

產測工具簡介

機智雲產測工具爲產品上線之後,對產品進行批量測試的工具。在大型生產中,能夠有效的監測批量產品質量,保證產品功能。

在機智雲開發者中心(site.gizwits.com)中,只有對產品擁有管理員權限和開發者權限的用戶纔可以對產品進行產測。

產測步驟

  • 添加產測配置文件

  • 產測文件編輯和刪除

  • 下載產測APP

  • 掃描下載產測配置文件

  • 開始產測

  • 查看產測結果日誌

  • 查看歷史報告

生產運營 - 統計分析

  • 連接記錄:大循環下設備與服務器連接

  • 新增上線設備:首次有連接記錄的獨立設備數

  • 活躍設備:指定週期內有一次或以上指令上報記錄的獨立設備

  • 活躍週期:設備首次上線到最後一次上線的時間長度

  • 連接時長:設備與手機從建立連接到斷開連接的單次時長

  • 連接次數:每個在線時長區間實際發生的連接次數

生產運營 - OTA升級

OTA 英文全稱是Over-the-Air Technology,即空間下載技術。當設備連上雲端時會收到OTA升級通知,再通過HTTP完成固件升級。機智雲的OTA服務主要提供以下功能:

  • OTA通知服務,即離線升級。當設備的固件程序有新版本發佈,OTA 通知服務會推送升級通知到設備。

  • OTA透傳服務,即在線升級。設備固件程序通過M2M 消息服務透傳到設備端。

  • 支持一個產品同時有多個推送

  • 支持wifi/mcu升級

  • 支持定向升級。可指定設備mac地址、區域、舊固件版本進行推送。

  • 支持定時推送。可自定義推送週期及推送時段。

  • OTA進度統計分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章