作者 | 我是鹵蛋
【摘要】 自從華為物聯網平台推出以來,很多開發者都在后台咨詢小編設備如何上雲等問題,我忍不住了,花了兩天兩夜,整理出“如何進行端到端開發”,幫助您快速了解設備上雲全流程。
開始之前,先了解物聯網平台的整體方案。使用物聯網平台構建一個完整的物聯網解決方案主要包括3部分:物聯網平台、業務應用和設備。
---------------------------整體方案---------------------------
-
物聯網平台:作為連接業務應用和設備的中間層,屏蔽了各種復雜的設備接口,實現設備的快速接入;同時提供強大的開放能力,支撐行業用戶快速構建各種物聯網業務應用。
-
設備:可以通過固網、2/3/4G、NB-IoT、Wifi等多種網絡接入物聯網平台,並使用LWM2M/CoAP、MQTT協議、或ONVIF協議將業務數據上報到平台,平台也可以將控制命令下發給設備。
-
業務應用:通過調用物聯網平台提供的API,實現設備管理、數據上報、命令下發等業務場景。
因此,基於物聯網平台去實現一個端到端的物聯網解決方案時,需要在開發中心(測試環境)進行產品開發、在設備管理服務控制台(商用環境)進行上線和日常管理:
開發操作 |
開發說明 |
---|---|
產品開發 |
開發者在進行設備接入前,基於開發中心進行相應的開發工作,包括平台側開發、設備側開發、應用側開發、自助測試、產品發布,是真實設備接入到設備管理服務的前提條件。 |
上線(轉商用) |
基於設備管理服務提供的控制台,將真實設備接入到設備管理服務中,並對接用戶開發的應用服務器,實現設備的遠程監控和控制。 |
日常管理 |
真實設備接入后,基於設備管理服務提供的控制台或者API接口,進行日常的應用管理和設備管理。 |
---------------------------開發中心與設備管理服務的差異---------------------------
如上面講到的,在實現物聯網方案過程中,會使用到開發中心和設備管理服務,那這兩個平台有啥區別呢?
開發中心
開發中心是基於設備管理服務提供的物聯網一站式開發工具,幫助開發者快速進行Profile(產品模型)和編解碼插件的開發,同時提供在線自助測試、產品發布等多種能力,端到端指引物聯網開發,幫助開發者提升集成開發效率、縮短物聯網解決方案建設周期。
設備管理服務
設備管理是在設備接入基礎上,提供了更豐富完備的設備管理能力,簡化海量設備管理復雜性,節省人工操作,提升管理效率。當用戶在開通設備管理服務時,系統默認一起開通設備接入服務,即用戶在使用設備管理服務時,包含設備接入服務的能力。
開發中心和設備管理服務有哪些差異?
-
兩者所在的物聯網平台環境不一樣
開發中心所在的平台環境為測試環境,設備管理服務所在的平台環境為商用環境。兩個環境的設備數據不能互通,已對接測試環境的設備/應用要遷移商用環境,需要在商用環境重新創建應用和注冊設備,並修改設備/應用中平台的接入信息。
-
兩者的設備數量限制不一樣
開發中心單個項目(應用)下最多可注冊20個設備,設備管理服務單個應用下最多可注冊1000萬個設備。在其他的平台能力上,兩者保持一致,例如開發中心和設備管理服務使用同樣的API,更多的平台能力使用限制請查看使用限制。
-
兩者的計費策略不一樣
開發中心為免費使用,設備管理為付費使用,設備管理服務的具體計費策略請查看計費詳情。
開發中心和設備接入服務是否有聯系?
開發中心是基於設備管理服務的物聯網開發工具,在開發中心上開發的產品(Profile文件和編解碼插件)只適用於設備管理服務,不能在設備接入服務中導入和使用。
---------------------------產品開發---------------------------
開發者在進行設備接入前,基於開發中心進行相應的開發工作,是真實設備接入到設備管理服務的前提條件。
開發操作 |
開發說明 |
---|---|
平台側的開發 |
主要包括Profile的開發和編解碼插件的開發。編解碼插件的開發僅針對上報數據為二進制碼流格式的設備,對於上報數據為JSON格式的設備不需要開發編解碼插件。 |
設備側的開發 |
主要為設備與物聯網平台的集成對接開發,包括設備接入物聯網平台、業務數據上報和對平台下發控制命令的處理。 |
應用側的開發 |
主要為業務應用與物聯網平台的集成對接開發,包括API接口的調用、業務數據的獲取和HTTPS證書的管理。 |
自助測試 |
自助測試提供了端到端的測試用例,幫助開發者自助完成產品的基礎能力測試,如數據上報、命令下發等。旨在通過物聯網檢測技術幫助開發者發現自身產品中存在的缺陷或問題,縮短產品上市時間。 |
產品發布 |
如果開發中心已經對接產品中心,則開發者在完成產品的自助測試后,可以把產品發布到產品中心。可以申請公開發布或私有發布。 |
平台側開發
開發操作 |
開發說明 |
---|---|
創建項目 |
項目是物聯網平台提供物聯網應用和設備的調測空間,您可以根據場景的不同創建不同項目空間分別調測。 |
創建產品 |
在物聯網平台中,某一類具有相同能力或特征的設備的合集被稱為一款產品。產品包含Profile(產品模型)、編解碼插件、測試報告等資源,其中產品信息被記錄在Profile中。 |
開發profile |
Profile(即產品模型)是用來描述一款產品中的設備“是什么”、“能做什么”以及“如何控制該設備”的文件。在物聯網平台集成對接中需要先創建Profile,因為Profile里面定義了設備上報的數據和應用服務器下發的命令包含了哪些字段。Profile的開發手段有在線開發和離線開發兩種。 |
開發編解碼插件 |
一款產品的設備上報數據時,如果“數據格式”為“二進制碼流”,則該產品需要進行編解碼插件開發;如果“數據格式”為“JSON”,則該產品下不需要進行編解碼插件開發。 |
設備側開發
華為物聯網平台支持終端設備直接接入,也可以通過工業網關或者家庭網關接入;支持多網絡接入、原生MQTT協議接入、SDK接入,解決設備接入復雜多樣化和碎片化難題,實現設備的快速接入,詳見設備側開發。
-
使用SDK接入:為了幫助設備快速連接到物聯網平台,華為提供了Agent Lite SDK、Agent Tiny SDK和LiteOS SDK。支持TCP/IP協議棧的設備集成Agent Lite SDK或Agent Tiny SDK后,可以直接與物聯網平台通信。不支持TCP/IP協議棧的設備例如藍牙設備、ZigBee設備等需要利用網關將設備數據轉發給物聯網平台,此時網關需要事先集成Agent Lite SDK。 如果是智能設備,可以集成LiteOS操作系統,利用LiteOS與物聯網平台通信。
-
原生MQTT協議接入:支持設備通過MQTT原生協議接入。MQTT是一種基於發布/訂閱范式的ISO標准消息協議,主要應用於計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備,適合長連接的場景,如智能路燈等。
-
使用模組接入:支持通過華為認證的Wifi、NB-IoT、2/3/4G模組直接接入物聯網平台。模組廠商只需要將Agent Tiny SDK集成在現有的模組固件包中,這樣模組就具備了接入華為物聯網平台的能力。
應用側開發
華為物聯網平台面向全球各行各業提供物聯網服務,並通過Restful API的形式對外開放物聯網平台豐富的設備管理能力。應用開發人員基於API接口開發所需的行業應用,如智慧城市、智慧園區、智慧工業、車聯網等行業應用,滿足不同行業的需求。應用開發人員可以選擇調用API接口、集成SDK兩種方式進行應用服務器(簡稱為應用)的開發。具體詳見應用側開發。
---------------------------上線(轉商用)---------------------------
當產品發布到產品中心后,我們在“開發中心”定義好的產品就可以在“設備管理服務”中使用了。由於開發中心所在的平台環境為測試環境,設備管理服務所在的平台環境為商用環境,兩個環境的數據不能互通,已對接測試環境的設備/應用服務器要遷移商用環境。具體詳見商用對接。
---------------------------雲端日常管理---------------------------
真實設備接入后,用戶就可以基於控制台或者API接口,進行日常的應用管理和設備管理。
功能 |
簡介 |
---|---|
訂閱推送 |
訂閱:是指應用服務器通過調用物聯網平台的API接口,向平台獲取發生變更的設備業務信息(如設備注冊、設備數據上報、設備狀態等)和管理信息(軟固件升級狀態和升級結果)。 推送:是指訂閱成功后,物聯網平台根據應用服務器訂閱的數據類型,將對應的變更信息推送給指定的URL地址。 |
授權應用 |
IoT平台支持應用授權操作,包括同一個用戶下的不同應用之間的授權、兩用戶下的不同應用之間授權,且兩應用之間可以相互授權,即被授權的可以通過控制台查看和操作授權應用下的所有設備,如創建規則、批量任務操作等。 |
數據上報 |
當設備完成和物聯網平台對接后,一旦設備上電,設備基於在設備定義上的業務邏輯進行數據采集和上報,可以是基於周期或者事件觸發。 |
命令下發 |
為能有效地對設備進行管理,設備的產品模型中定義了物聯網平台可向設備下發的命令,應用服務器可以調用物聯網平台開放的API接口向單個設備或批量設備下發命令,或者用戶通過物聯網平台直接向單個設備下發命令,配置或修改設備的服務屬性值,以實現對設備的遠程控制。 |
設備配置更新 |
物聯網平台提供設備配置更新功能,即用戶可通過控制台對單個設備或批量設備的設備屬性值進行修改,滿足用戶頻繁、快捷、方便的管理設備的訴求。 |
設備影子 |
設備影子是一個JSON文件,用於存儲設備的在線狀態、設備最近一次上報的設備屬性、應用服務器期望下發的配置。每個設備有且只有一個設備影子,設備可以獲取和設置設備影子以此來同步狀態,這個同步可以是影子同步給設備,也可以是設備同步給影子。 |
規則引擎 |
指用戶可以在物聯網平台上可以對接入平台的設備設定相應的規則,在條件滿足所設定的規則后,平台會觸發相應的動作來滿足用戶需求。包含設備聯動和數據轉發兩種類型。 |
群組與標簽 |
群組是一系列設備的集合,用戶可以對應用下所有設備,根據區域、類型等不同規則進行分類建立群組,以便處理對海量設備的批量管理和操作。 物聯網平台支持定義不同的標簽,並對設備打標簽,通過標簽,可以快速篩選設備。 |
設備監控 |
提供查看設備詳情、設備狀態管理、查看報表、查看操作記錄、查看審計日志、告警管理、設備消息跟蹤等設備監控與運維能力,提升設備的可維護性。 |
遠程診斷 |
支持用戶對接入的設備進行遠程維護操作,快速定位問題及恢復業務,減少近端維護引入的高成本。當前支持的遠程維護操作包括設備的運行日志收集、重啟模組。 |
固件升級 |
用戶可以通過OTA的方式對支持LWM2M協議的設備進行固件升級,升級協議為LWM2M協議。 |
軟件升級 |
用戶可以通過OTA的方式支持對LWM2M協議的設備進行軟件升級,升級協議為PCP協議。 |
看到這,您了解如何玩轉物聯網平台了么,如果還有疑惑,沒關系,我們有更詳細的寶典,請從這里開始。
關於華為物聯網可參加學習免費課程視>>>>>《IoT七天開發訓練營》或聯系華為IoT小助手(微信號:huawei-iot)獲取更多課程。