設備接入服務,看完這篇給你整的明明白白


摘要:設備接入服務能夠幫助物聯網行業用戶快速完成設備聯網及行業應用集成。

本文分享自華為雲社區《華為雲IoT設備接入服務都有哪些功能?看完給你整的明明白白》,作者:Super.雯。

設備接入服務(IoTDeviceAccess)是華為雲的物聯網平台,提供海量設備連接上雲、設備和雲端雙向消息通信、批量設備管理、遠程控制和監控、OTA升級、設備聯動規則等能力,並可將設備數據靈活流轉到華為雲其他服務,幫助物聯網行業用戶快速完成設備聯網及行業應用集成。基於華為雲物聯網平台的物聯網系統如圖9-6所示,其主要分為幾個部分:終端設備、設備連接、消息通信、設備管理、數據流轉、物聯網應用,以及與華為雲的其他服務進行的數據互通和協同。

基於華為雲物聯網平台的物聯網系統

物聯網常用協議

HTTP

HTTP(HyperTextTransferProtocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

HTTP是一個應用層協議,由請求和響應構成,是一個標准的客戶端服務器模型。

同時HTTP是一個無狀態的協議。同一個客戶端的這次請求和上次請求是沒有對應關系,對http服務器來說,它並不知道這兩個請求來自同一個客戶端。為了解決這個問題,Web程序引入了Cookie機制來維護狀態。

並且HTTP是一種同步協議。客戶端需要等待服務器響應。Web瀏覽器具有這樣的要求,但它的代價是犧牲了可伸縮性。在IoT領域,大量設備以及很可能不可靠或高延遲的網絡使得同步通信成為問題。異步消息協議更適合IoT應用程序。傳感器發送讀數,讓網絡確定將其傳送到目標設備和服務的最佳路線和時間。

HTTP是一種有許多標頭和規則的重量級協議。它不適合受限的網絡。

建立過程中三次握手:

HTTP三次握手流程

注解:SYN:同步,Seq:序號,ACK:確認,ack:確認序號。

第一次握手:

當客戶端想與服務器建立連接的時候,會發送一個請求連接的報文,此報文首部中的SYN=1(TCP規定,SYN=1的報文段不能攜帶數據,並且需要消耗一個序號),同時隨機生成初始序列號Seq=X,客戶端進入了SYN-SENT(同步以發送狀態)。

第二次握手:

服務器接收到客戶端發送的連接請求報文后,如果同意連接,則發出確認報文,其中確認報文段中SYN=1,ACK=1,同時隨機初始化一個序列號Seq=Y,確認號ack=X+1,而且服務器也進入

SYN_RCVD(同步接收狀態)。

第三次握手:

客戶端接收到確認報文后,還需要向服務器發出確認報文。確認報文的ACK=1,ack=Y+1,此時,TCP連接建立成功,客戶端進入ESTABLISHED(已建立連接)狀態。

三次握手的重要性:

當客戶端發送第一個請求連接的報文的時候,由於網絡阻塞原因,導致服務端不能及時收到,直到某個時刻才收到請求連接的報文,此時此刻服務器收到的已經是一個失效的報文了,服務器給客戶端發送確認報文,等待客戶端的連接,假設采用的是兩次握手,客戶端不理睬服務器發送的確認報文,而服務器一直等待接收客戶端的請求,這樣導致服務器很多資源浪費,而如果采用三次握手,服務器接收不到客戶端的確認報文,就會斷開與客戶端的連接,因此采用三次握手更為合適。

MQTT

MQTT(MessageQueuingTelemetryTransport,消息隊列遙測傳輸),是IBM開發的一個即時通訊協議。MQTT協議采用訂閱/發布的工作模式,客戶端向服務器訂閱感興趣的信息,服務器把信息推送給訂閱了這類信息的客戶端。

MQTT交互流程

MQTT的特點:

協議簡單,輕量級(消息可以短至兩個字節,對終端的硬件配置要求低,適用於CPU等硬件資源有限的場合,有助於降低終端成本,推動產業發展)。

  • 基於TCP/IP,消息傳遞可靠。
  • 使用長連接,有心跳保活機制,減少重新建鏈開銷。
  • 支持消息實時通知、有豐富的推送內容。
  • 心跳機制不利於設備進入休眠模式,設備比較耗電。
  • MQTT的特點非常符合無線傳感網、物聯網等領域的要求,目前智慧家庭解決方案主要就是用的MQTT協議。

客戶端(Client):

  • 包括發布者或訂閱者,兩者都是MQTT客戶端,分別負責發布或訂閱。
  • 可以是從微控制器到一個完全成熟的服務器,在設備上運行着MQTT庫並且可以通過任何網絡連接到MQTT代理服務器。

代理服務器(Broker):

  • 是任何發布/訂閱協議的核心,可以處理多達成千上萬的MQTT客戶端的並發連接。
  • 代理服務器主要負責接收所有消息,將消息發送給所有訂閱的客戶端。
  • 一個職責是保持所有持續連接的客戶端的會話,包括訂閱和丟失的消息。
  • 另一個職責是對客戶端的認證和授權。

CoAP

CoAP(ConstrainedApplicationProtocol,受限制的應用協議),專門為資源受限設備(如傳感器節點)和網絡(如NB-IoT,LoRa)而設計。CoAP從HTTP協議發展而來,CoAP協議也是采用請求/響應工作模式,客戶端發起請求,服務器做出響應。為了克服HTTP對於受限環境的劣勢,CoAP既考慮到數據報長度的最優化,又考慮到提供可靠通信。

CoAP交互流程

CoAP特點:

報頭壓縮,報文格式簡單,消息可以很短,最小的CoAP消息只有4個字節。

  • 傳輸層使用UDP協議,減少網絡開銷和支持組播功能。
  • 為了彌補UDP傳輸的不可靠性,CoAP有消息重傳機制。
  • 不支持長連接,沒有心跳,沒有業務時設備不用跟外部發消息。
  • 做業務時,設備可能需要先喚醒,消息實時性不太好。

跟MQTT相比,CoAP不需要保持長連接,不用不停發送心跳消息,更加適合物聯網場景中需要休眠/喚醒機制的設備,設備可以長時間處於休眠模式,節省電量,一塊電池使可以用10年甚至更久,目前智能水表、智能電表、智慧農業、智能停車場等解決方案主要就是用的CoAP協議。

設備管理

設備注冊&接入鑒權

為了保證接入物聯網平台的設備是安全可信的,需要進行設備注冊和設備接入鑒權操作。設備注冊,指用戶通過控制台或調用注冊設備API在IoT平台中注冊設備信息,平台中存在設備信息后,再接入真實的實體設備,這樣平台與終端實體設備可以實現連接和通信。

設備接入鑒權,是指IoT平台對接入平台的設備進行鑒權認證,用於保障設備接入信息的完整性和安全性、設備與平台消息傳輸完整性和安全性。

設備注冊&設備接入鑒權

命令下發

設備的產品模型中定義了IoT平台可向設備下發的命令,平台向設備下發命令,修改設備的服務屬性,實現對設備的控制。

平台向設備下發命令包括立即下發和緩存下發兩種情況,如下表所示。

對於立即下發模式,下發的命令直接全部下發給設備;對於緩存下發模式,需等待設備上線或設備上報數據到平台后,按照串行的方式下發命令給設備,即緩存的命令需要按照緩存的時間逐一向設備進行下發。設備命令整個生命周期的狀態轉換如下圖所示。

設備命令的狀態轉換

設備命令狀態的詳細說明如下表所示。

通過命令下發特性,平台能夠為終端用戶提供遠程控制設備的服務,實現設備連接,也可以實現對設備的批量命令下發等,操作簡單快捷。當用戶需要對設備進行某一操作,而設備並不在可操作范圍內,或者需要操作大批量設備時,可以使用命令下發。

設備聯動規則

規則引擎的使用對象是終端用戶,系統已經預置支持的規則場景,終端用戶通過方便、易理解的友好界面在自有設備下制定自動化規則。

規則可以和設備、應用、告警綁定,當綁定的信息滿足條件時,規則可以自動化執行響應動作。規則引擎定位處理各種事件,利用規則引擎可以完成異常事件的及時通知和快速處理,幫助終端用戶維護設備、監控設備,保證系統業務的及時恢復。閾值超限、范圍超限、位置跟蹤等事件,也可定義為規則引擎輸入條件,並關聯對應的處理動作。

設備聯動的觸發條件及響應動作如下圖所示。

設備聯動規則

設備升級管理

物聯網平台支持通過OTA(OverTheAir)的方式對終端設備的固件和軟件進行升級。

  • 設備固件升級:固件升級又稱為FOTA(FirmwareOverTheAir),是指用戶可以通過OTA的方式對支持LwM2M協議和CoAP的設備進行固件升級,升級包下載LwM2M協議。
  • 設備軟件升級:軟件升級又稱為SOTA(SoftwareOverTheAir),是指用戶可以通過OTA的方式對支持LwM2M協議和CoAP的設備進行軟件升級,升級包下載協議為PCP。

設備固件&軟件升級

設備批操作

華為雲物聯網平台支持對設備的批量操作,包括批量注冊設備、批量命令下發、批量位置上傳、批量設備配置和批量軟固件升級。

  • 批量注冊設備:因注冊設備數量過多而導致注冊時間太長,可采用批量注冊的方式注冊設備。批量命令下發:當物聯網平台需要對批量設備下發命令時,可通過北向接口創建批量命令下發任務,在物聯網平台上,可查看任務的執行狀態、操作者和成功率等信息。
  • 批量位置上傳:當物聯網平台需要對設備的位置進行批量上傳時,可采用批量位置上傳操作。這里的設備主要指安裝位置相對固定的終端設備,如水表。
  • 批量設備配置:當物聯網平台需要對設備進行批量配置時,可采用批量設備配置操作。
  • 批量軟固件升級:當物聯網平台需要對設備的固件或者軟件進行批量升級時,可采用批量軟固件升級操作。

設備批操作向物聯網平台提供對終端設備統一管理的通道,能提升對終端設備的管理效率,很好地滿足用戶批量管理設備的需求。當用戶接入的設備數量過多,或者需要對全部或某一個群組的設備進行相同的操作時,可以采用設備批操作。批量注冊設備和批量位置上傳時設備數量的上限是30000個,批量命令下發、批量設備配置和批量軟固件升級的設備上限是10000個。

更多學習內容,請關注IoT物聯網社區 

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM