日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

DTU集成SDK

對于不帶有廣域網聯網能力的存量單品設備,往往無法進行硬件升級,通過外接DTU將這種設備進行互聯網接入是最佳方案。設備接入阿里云IoT時需要遵守阿里云IoT的接入規范,因此DTU需要集成SDK接入阿里云IoT,來快速將存量設備快速接入阿里云物聯網平臺。

使用說明

本文適用的硬件形態如下:

  • 2G透傳DTU。

  • 3/4G透傳DTU。

  • 串口轉以太網透傳服務器(模塊)。

名詞解釋

名詞

說明

設備證書

設備證書指ProductKeyDeviceNameDeviceSecret的組合。

  • ProductKey:是物聯網平臺為產品頒發的全局唯一標識。該參數很重要,在設備認證以及通信中都會用到,因此需要您保管好。

  • DeviceName:在注冊設備時,自定義的或系統生成的設備名稱,具備產品維度內的唯一性。該參數很重要,在設備認證以及通信中都會用到,因此需要您保管好。

  • DeviceSecret:物聯網平臺為設備頒發的設備密鑰,和DeviceName成對出現。該參數很重要,在設備認證時會用到,因此需要您保管好并且不能泄露。

SDK

阿里云IoT為希望進行設備接入的用戶,提供了連接SDK。連接SDK運行于設備端,為用戶提供了與阿里云IoT建立連接所需的協議棧、認證機制、加密機制、WiFi配網、設備綁定等多種功能,您可以按需選擇使用,快速接入阿里云IoT平臺。適用于存量DTU改造。

AliOS Things

相對于SDK提供的連接能力,AliOS Things是一個完整的嵌入式操作系統,AliOS Things已經原生包含連接SDK,同時也可以支持多種硬件平臺的硬件抽象接口。對于新開發DTU產品在效率上會有比較大提升。

云端透傳解析服務

針對DTU在端側的透傳模式,如果用戶希望在云端使用物模型能力,需要在數據抵達云平臺后對數據用戶的原數據進行解析,映射為物模型。例如用戶上傳數據為8個字節,前四字節為電壓,后四字節為電流。則用戶需要在阿里云IoT平臺中編制一個解析腳本,實現從序列數據到物模型中屬性的轉換。

DTU改造

由于本地設備不能修改軟件,所以接入IoT平臺的設備證書的填寫都需要在DTU的配置界面中完成,同時,DTU設備代替本地設備完成連接建立,以及向固定的云上Topic發送數據和訂閱云上下發Topic的功能。具體功能需求如下:

增加配置項

xxxDTU配置頁面,增加阿里云IoT對接tab或功能配置組,下圖作為參考。

image.png

創建設備的連接地址:https://iot.console.aliyun.com/product

設備證書的具體位置位于阿里云IoT平臺設備管理控制臺下的具體設備詳情中,如下圖所示。

image.png

網關廠商需要將用戶所配置的設備證書信息,及接入版本的信息進行DTU本地存儲,從而每次上電時都可以獲取用戶的身份認證信息進行阿里云IoT平臺的鑒權和建立連接工作。

數據轉發

將用戶數據通過阿里云提供的通道,轉發至阿里云IoT平臺的用戶賬戶。

  1. 完成連接SDK在DTU設備上的移植。本文檔基于SDK版本2.3.0編寫,因此建議用戶基于相同的版本進行開發,也可以使用更高版本的SDK進行開發

    由于DTU設備主要存在于廣域網場景中,且有本地配置工具,所以需要關心的是SDK中MQTT相關部分,TLS鏈接加密部分,以及物模型實現部分。

  2. 完成阿里云IoT平臺的連接鑒權。

    在每次上電時,利用用戶配置的設備證書信息,通過SDK提供的連接和鑒權API完成和阿里云IoT平臺建立連接并完成身份認證工作,等待用戶本地數據到來。

    • 用戶自定義Topic方式:

      請參考example/MQTT/MQTT_example.c文件中IOT_MQTT_Construct()函數的調用以及傳入參數,實現DTU的接入和鑒權。

    • 物模型方式:

      請參考examples/linkkit/linkkit_example_solo.c文件中IOT_Linkkit_Open()函數和IOT_Linkkit_Connect()函數完成連接和鑒權。

  3. 實現業務邏輯,將接收到的本地用戶數據,通過SDK提供的API轉發至阿里云IoT平臺。針對不同的接入版本,分為如下兩個模式

    • 自定義Topic方式。

      將接收到的用戶數據,通過SDK提供的MQTT Pub接口,發送至云端的一個特定Topic。Topic格式如下:

      /${Productkey}/${deviceName}/update                                   

      其中${Productkey}部分替換為用戶配置進來的productkey字符串,${deviceName}替換為用戶配置進來的devicename字符串。DTU需要將用戶本地傳進來的數據作為一個MQTT報文的payload傳至云端。具體調用可以參考SDK軟件包中。example/MQTT/MQTT_example.c示例文件中IOT_MQTT_Publish() 函數的調用實現。

    • 物模型。

      SDK已經將物模型涉及的Topic進行封裝,所以只需要將用戶原數據通過IOT_Linkkit_Report()函數向云端上報數據,上報時需要傳入ITM_MSG_POST_RAW_DATA參數,標識是透傳上報,云端需要進行解析。具體的實現可以參考examples/linkkit/linkkit_example_solo.c文件中user_post_raw_data()函數的調用示例。

將收到的阿里云IoT平臺的下發數據,轉發至本地設備通信口

數據轉發實現對云端特定Topic的訂閱,從而完成云端至邊緣側的數據下發。具體實現如下:

  • 自定義Topic方式。

    在建立MQTT實例后,訂閱如下Topic,具體的訂閱操作參考examples/MQTT/MQTT_example.c文件中的IOT_MQTT_Subscribe()函數調用。在訂閱時需要設置回調函數,用于處理接收到的數據。

    /${Productkey}/${deviceName}/get
  • 物模型。

    在物模型中,訂閱的工作SDK已經完成,所以DTU只需要對RAWDATA_ARRIVED事件設置一個回調,在回調中獲取云端下發的數據并轉發給客戶即可。具體可以參考examples/linkkit/linkkit_example_solo.c文件中的調用,以及回調的實現。

    IOT_RegisterCallback(ITE_RAWDATA_ARRIVED, \
                         user_down_raw_data_arrived_event_handler);
    
    static int user_down_raw_data_arrived_event_handler(const int devid, const unsigned char *payload,
            const int payload_len)
    {
        EXAMPLE_TRACE("Down Raw Message, Devid: %d, Payload Length: %d", devid, payload_len);
        return 0;
    }

安全連接

在阿里云連接SDK中為用戶提供了包括TLS和阿里專有的iTLS兩種安全加密方式,DTU在實現時可以自由選擇使用。為了保證終端用戶數據的安全,請盡量采用加密傳輸通道進行數據傳輸。

  • DTU實現建議框圖。

image.png

圖中提到的函數參數或結構體成員的意義,請參考SDK軟件包中examples/MQTT/MQTT_example.cexamples/linkkit/linkkit_example_solo.c文件。

用戶使用路徑示意圖

集成Link SDK的DTU實例

DTU型號

廠商

F2A16

廈門四信通信科技有限公司。

HF5111B

上海漢楓電子科技有限公司。

ZWNET-4352

廣州致遠電子有限公司。

LS-D3000

杭州樂舜。