標籤:
國內物聯網平台初探(五)
——機智雲IoT物聯網雲端服務平台及智能硬體自助開發平台
馬智
平台定位
- 機智雲平台是致力於物聯網、智能硬體雲端服務的開放平台。平台提供了從定義產品、裝置端開發調試、應用開發、產測、運營管理等覆蓋智能硬體接入到運營管理全生命週期服務的能力。
- 機智雲平台為開發人員提供了自助式智能硬體開發工具與開放的雲端服務。通過傻瓜化的工具、不斷增強SDK與API服務能力最大限度降低了物聯網硬體開發的技術門檻,降低研發成本,提升開發人員的產品投產速度,協助開發人員進行硬體智能化升級,更好的串連、服務最終消費者。
產品功能
IoT PaaS服務
為IoT開發人員提供智慧型裝置自助開發工具、後台支援人員服務,實現裝置遠程操控管理、資料存放區分析、第三方資料整合、硬體社交化等技術服務,快速實現產品互連網化,讓硬體開發變得更快、更有創意。
企業SaaS服務
定向遠程升級、規則引擎、訊息推送、裝置自動化操作、裝置聯動、企業API、自訂統計分析、2G/3G產品支援和多種資料輸出介面等,全面提升產品接入後的生產支援、庫存、經銷商、售後、使用者等一站式管理和服務能力。
GDMS系統
企業智慧型裝置管理系統,支援BT/BLE/Wi-Fi/移動網路,裝置即時運行狀態查看及管理,裝置使用方式統計及地圖分布,使用者統計與管理,裝置故障/警示即時推送跟蹤,多租戶管理,支援無限級銷售渠道與下級企業管理。
工具服務
自助開發工具
將智能硬體的軟體開發工具化、模組化,在雲端提供自助服務介面,把智能硬體的功能描述成資料點,通過簡單的表單操作在雲端自助定義一款產品功能,系統自動產生嵌入式開發協議文檔、手機應用SDK和雲端介面。
GoKit開發套件
適用於機智雲自助開發平台的物聯網開源教學開發板 ,整合馬達、LED、Wi-Fi、紅外光感、溫濕度等感應器,快速實現多種智能硬體解決方案,支援70多款主流模組,內建硬體應用方案,快速實現IOT裝置開發。
開發人員服務
企業開放API,模組及MCU開原始碼、詳細的說明文檔、完善的SDK、Wi-Fi裝置接入測試Demo APP,自動化產測工具、十款開源APP,GoKit智能硬體範例源碼,真人教學視頻,專業的FAE支援和24小時客戶服務。
架構
機智雲
機智云云端提供了產品的定義、產品資料點定義、虛擬設備調試、M2M服務、API服務等功能。為裝置、應用接入提供雲端服務
GAgent
裝置端的模組系統GAgent,通過使用GAgent,開發人員可根據機智雲提供的協議與GAgent對接,使裝置可快速接入。目前已相容國內主流的Wi-Fi模組、移動網路模組
IOT SDK
機智雲提供了基於IOS,Android系統的IOT SDK,開發人員通過SDK,可快速實現APP開發,無縫接入機智雲,並根據SDK擷取機智雲平台逐步推出的新服務
MCU
開發人員遵循機智雲自動產生的模組與MCU通訊協議進行MCU的開發
研發流程
技術方案
概念解釋
- 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端資料通訊的含義將得到明確。
- 資料點定義的好處:
- 明確裝置與雲端、APP端資料通訊的含義。
- 雲端根據資料點定義,解析裝置資料,使用者可使用"裝置運行狀態","統計分析"等功能。
- 機智雲具有大資料統計介面,通過介面,可快速分析裝置資料。
- 方便APP開發人員開發,APP SDK可解析下發/上報等裝置資料。
- 方便MCU開發,機智雲根據資料點定義,產生MCU與GAgent通訊詳細串口通訊協議。
雲端管理 - 產品定義
1、建立產品
2、新裝置接入嚮導
雲端管理 - 編輯資料點
3、通過方案模板建立產生產品資料點
雲端管理 - 編輯資料點
4、通過方案模板建立產生產品資料點
雲端管理 - 編輯資料點
5、手動編輯產品資料點
雲端管理 - 編輯資料點
6、建立資料點
雲端管理 - MCU開發文檔產生
7、根據上一步添加的產品資料點,頁面自動產生了《XX-機智雲接入串口通訊協定文檔》和《XX-機智雲接入JSON文檔》(其中XX代表產品名稱),點擊文檔名即可進行下載,硬體開發人員只需按照文檔指示即可輕鬆完成硬體開發
雲端管理 - 裝置調試
原生APP:產品開發資源提供android和iOS SDK,整合文檔以及Demo APP的下載。
當完成了產品資料點編輯後且產品的硬體裝置已開發完成,可下載對應的SDK整合到已完成介面設計的行動裝置 App,即可實現裝置的控制。同時也可以直接下載並安裝Demo App,登入後即可對串連並查看、控制裝置。如果裝置未完成開發,可以使用機智雲提供的虛擬設備進行功能的調試。
輕APP:使用機智雲提供的Open APIs(Http / WebSocket),可以快速開發網頁或應用等基於html的輕應用,用於管理和控制智慧型裝置。
雲端管理 - 通過方案模板建立產品
方案模板列表
雲端管理 - 通過方案模板建立產品
應用方案模板
雲端管理 - 產品管理
產品資訊查看
雲端管理 - 產品管理
產品資訊編輯
雲端管理 - 產品管理
產品資訊刪除
雲端管理 - 產品管理
裝置資料點管理
雲端管理 - 產品管理
虛擬設備管理
雲端管理 - 產品管理
裝置運行狀態
雲端管理 - APP應用管理
APP應用列表
雲端管理 - APP應用管理
建立應用
雲端管理 - APP應用管理
裝置接入應用:
綁定應用就是將裝置與應用進行關聯,這樣應用才可以對裝置進行綁定控制等操作。
配置訊息推送:
機智雲Android/ios應用支援接入"百度雲推送"和"極光推送"。在接入之前需配置訊息推送,需將應用與百度推送或極光推送綁定。
裝置端開發 - 原理
- 裝置端的開發包含GAgent,MCU開發。裝置能夠串連到雲端才能夠實現APP等用戶端對裝置的遠程查看和控制,MCU資料通過GAgent與機智雲產生互動。
- GAgent:運行在可入網模組(WiFi、GPRS)上的應用程式,可使模組接入機智雲端服務器,並上傳/接收資料。
- MCU:微控制單元,廠家裝置控制器,例如單片機。
裝置端開發 - 合作模組
裝置端開發 - 合作模組
裝置端開發 - MCU編程步驟
- 下載MCU與GAgent串口通訊協議
- 建立項目,完成定義產品資料點,機智雲根據資料點自動形成項目MCU與GAgent串口通訊協議
- 根據MCU與GAgent串口通訊協議,參考GoKit開發套件MCU程式,完成MCU與GAgent通訊
- 機智雲提供裝置端調試工具
- 機智雲對廠家檢驗裝置提供裝置廠測模式
- 機智雲對MCU韌體可進行管理,OTA升級
- 機智雲對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 平台機智雲移動端開發模組的上線,讓廣大開發人員能用 JavaScript + HTML 寫出完美的、跨平台的行動裝置 App。
應用開發 - 方案
- 應用機智雲提供WebSocket通訊方案。WebSocket通訊基本內容:使用者登陸,接收裝置上線下線訊息,發送和接收裝置商務邏輯資料,心跳。
- 廠商需要在獨立部署的WEB系統中調用"使用者管理API"擷取身份資格,然後需要綁定裝置才能控制裝置。廠商需要在獨立部署的WEB系統中的Javascript中調用"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
- 故障恢複
模組開發 – 產品功能規格書
- 產品名稱:機智雲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 Message Service透傳到裝置端。
- 支援一個產品同時有多個推送
- 支援wifi/mcu升級
- 支援定向升級。可指定裝置mac地址、地區、舊韌體版本進行推送。
- 支援定時推送。可自訂推送周期及推送時段。
- OTA進度統計分析
國內物聯網平台初探(五):機智雲IoT物聯網雲端服務平台及智能硬體自助開發平台