mBed Pelion學習筆記(一)Welcome & Introduction

一、 簡介

  • Pelion Device Management 是一個與交互和管理連接設備等相關的服務。它包括以下功能:
    ①安全連接:通過它可以進行交互管理和IoT設備管理
    ②端對端遠程固件更新 解決方案
    ③有清晰的工作流程和配置機制,能夠簡化我們的開發過程,能夠讓我們無縫過渡到部署(實際運用)。
    ④有着靈活的配置機制。能夠和任何出廠設置一起使用,爲你的設備提供所需的信息去連接到 Device Management 。
    ⑤使用各種接口進行Web應用程序開發:REST APIs,軟件開發工具包(SDKs)和在線編譯。
    ⑥設備上使用定製的、可在多種操作系統下運行的客戶端,用以支持Device Management 的服務。
  • 系統圖:

 

二、 Pelion Device Management

  • 爲了提供一個端對端的解決方案,Pelion包括兩個部分:雲端服務、設備客戶端。雲端服務即Pelion Device Management 服務。
  • 設備客戶端由三個部分組成:
    ①Device Management Connect 客戶端:提供鏈接到Device Management 服務器。
    ②Device Management Update 客戶端:接受和管理固件更新的安裝。
    ③Device Management Provision 客戶端:保存配置信息,信息包括:設備證書、服務端URIs、其他參數(設備連接到你的賬戶所需的)
  • 使用設備管理客戶端可以做到:
    ①創建一個唯一的設備ID,在設備管理服務器上註冊或者註銷設備,設備證書。
    ②基於標準的TSL/DTLS 的安全連接。
    ③在設備管理服務器上管理設備。
    ④從服務端控制設備和應用程序邏輯。
    ⑤通過服務端的控制,用Device Management Update 無線更新設備。
    ⑥使用統一移植層(PAL)將設備移植到不同的平臺。

 

三、 Device Management Connect

  • Device Management Connect 提供IoT設備 和 企業軟件或Web應用間的安全連接,該安全連接是通過把兩者都連接到設備管理服務器、並且讓兩者有權限互聯來實現的。
    一般用的都是業界的通信標準,例如:用LwM2M 協議來做設備管理,用CoAP 來實現設備和設備管理服務器之間的通信。
  • Device Management Connect 提供:
    ①兩種客戶端:
        a. Device Management Client
        b. Device Management Client Lite:輕量級設備管​​理客戶端,使用預共享密鑰。
    ②設備管理用LwM2M
    ③通信用CoAP
    ④Web應用和設備管理服務器的連接
    ⑤端對端通道安全:
        a. 設備和服務器之間的連接用的是DTLS/TLS。
        b. Web應用程序和Device Management REST API 之間的連接用的是HTTPS。
    ⑥物聯網設備的優化。
  • LwM2M:Lightweight Machine to Machine。Device Management Connect實現了LwM2M 標準,該標準提供了一致的設備管理,可以無視設備硬件和設備上跑的應用的差異。
  • LwM2M包括了以下接口:
    ①引導程序接口:引導設備和Device Management 之間的安全連接。
    ②客戶端註冊接口:讓設備註冊到Device Management 。並且顯示設備資源,以便Web應用使用。
    ③設備管理和服務支持接口:讓應用可以操作設備資源。基於LwM2M Resource model,該接口可以讀、寫、操作設備。
    ④信息報告接口:讓應用可以觀察客戶端上的資源變化,當有值變化或者滿足一定條件時,接收到提醒。
  • CoAP:The Constrained Application Protocol。CoAP協議是一種低開銷協議,專爲受限設備(有限性能MCU的設備)和低功耗IP網絡而設計。 它通常只使用UDP,但Device Management Client 已添加TCP支持。它還支持TLS / DTLS協議,以提供傳輸安全性和設備身份驗證。
  • Device Management Edge:提供IoT 網關支持,當物聯網設備無法獨立連接時(通常是因爲它們使用非IP協議),Device Management Edge提供協議轉換。

 

四、 Device Management Update

  • 爲實現更新,需要一個設備管理更新客戶端運行在設備上,一個設備管理更新服務器來推送更新。
  • 典型更新的工作流程:
    ①先要構建一個新的固件鏡像,並把它上傳到設備管理服務器。鏡像中要包括設備管理更新客戶端(這次更新成功後下次還能再遠程更新)。
    ②創建並上傳清單文件(manifest file)。作用是描述這次更新,並且允許設備選擇是否更新。可以使用清單工具創建滿足所有設備管理要求的清單。
    ③固件鏡像和清單準備好之後,可以合併它們進行一次或多次更新操作,可以針對一些特定設備或一組設備。
  • 設備上的Device Management Update客戶端,負責分析、安裝固件,報告更新進程。
  • 固件鏡像應該有更新客戶端和你的應用內容,這樣以後才能再次更新。但固件鏡像不應該包括BootLoader,因爲它是不可更新的。
  • 可以通過以下方式將固件上傳到設備管理服務器:
    ①設備管理服務器網站
    ②設備管理的API
    ③設備管理SDK中的一個
    ④清單工具的更新命令
  • 可以通過以下方式發起一次更新操作:
    ①設備管理服務器網站
    ②設備管理的API
    ③設備管理SDK中的一個

 

  • 設備要做一些是否進行固件更新的決定。諸如,該更新是否適用於這臺設備;要現在更新還是晚點再更新;固件鏡像要放在哪等等。我們要把這些信息在一次更新操作中傳達給設備,因此要創建一個包含一些更新元數據的清單。
  • 清單會用私鑰進行簽名,確保只有可用的、可信任的更新纔會寫入存儲。清單中還包含一個可用於回退到上一版本的序列號,用Unix時間戳實現。可用清單工具來生成清單。
  • 設備管理更新用證書來:確保端對端的安全性;驗證固件更新是源自真實且可信的來源。

 

五、 Device Management Provision

  • 在設備大規模生產的過程中,我們可以用Device Management Provision來配置成千上萬個擁有唯一加密身份和正確服務器參數的設備。它允許我們創建、注入到設備和安全存放以下連接到設備管理服務器所需的東西:
    私鑰、證書、服務器URL、服務器證書、連接參數、固件更新密鑰。
  • 要使設備連接到設備管理服務器,我們要將每一個IoT設備配置到符合以下條件:
    ①具有唯一的加密憑證,設備管理服務可用於:
        a. 驗證設備。
        b. 生成session encryption keys。
        c. 授權設備使用設備管理系統服務。
    ②配置了向服務器描述設備的信息,用於驗證軟件更新的密鑰,以及用於識別、連接和驗證設備管理服務器的正確服務器和連接參數。
  • Provisioning SDK減少了爲大規模生產設備準備製造流程的開發時間。它包含以下軟件組件:
    ①密鑰和配置管理器(KCM):是設備上運行的設備管理客戶端軟件的一部分。它可以將敏感信息安全地存儲在設備的非易失性存儲器中。
    ②工廠配置客戶端(FCC):設備上運行的設備管理客戶端軟件的一部分。它將身份證書提取,驗證並保存到設備。
    ③(可選)Factory Configurator Utility(FCU):可以集成到工廠車間運行的製造測試和配置設備中,以生成和打包設備身份證書。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章