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

自定義MQTT Topic通信

用戶可以直接通過SDK提供的MQTT API與阿里云物聯網平臺通信,即可以通過向指定的Topic發送消息的方式將數據發送到阿里云物聯網平臺,也可以通過訂閱指定的Topic從阿里云物聯網平臺接收數據,這些Topic都是用戶自定義的。

通信流程圖

使用MQTT Topic與物聯網平臺通信的流程示意圖如下:image

  1. 通過調用IOT_MQTT_Construct()接口調用, 建立設備和云平臺之間的長連接 。

    • 該接口用來向云平臺發起連接請求,需要的“簽名信息”可以通過dev_sign功能中的IOT_Sign_MQTT()獲得。

    • 連接成功后,會返回一個handle參數,這是連接的句柄,可用作之后所有MQTT網絡接口的輸入參數。

  2. 通過IOT_MQTT_Subscribe()接口調用,可以向云平臺表達設備將接收哪些Topic上的報文。

  3. 進入業務主循環 。

    • 通過IOT_MQTT_Publish()IOT_MQTT_Publish_Simple(),可將消息上報到云端。

    • IOT_MQTT_Yield()用于接收云端下發的消息,并調用用戶在IOT_MQTT_Subscribe()時指定的回調函數,用于對數據進行處理。

功能API接口

函數名

說明

IOT_MQTT_CheckStateNormal

MQTT連接后,調用此函數檢查長連接是否正常。

IOT_MQTT_Construct

MQTT實例的構造函數,入參為iotx_mqtt_param_t結構體,連接MQTT服務器,并返回被創建的句柄。

IOT_MQTT_Destroy

MQTT實例的摧毀函數,入參為 IOT_MQTT_Construct創建的句柄。

IOT_MQTT_Publish

MQTT會話階段,組織一個完整的MQTT Publish報文,向服務端發送消息發布報文。

IOT_MQTT_Publish_Simple

MQTT會話階段,組織一個完整的MQTT Publish報文,向服務端發送消息發布報文,參數中不含結構體等復雜數據類型。

IOT_MQTT_Subscribe

MQTT會話階段,組織一個完整的MQTT Subscribe報文,向服務端發送訂閱請求。

IOT_MQTT_Subscribe_Sync

MQTT會話階段,組織一個完整的MQTT Subscribe報文,向服務端發送訂閱請求,并等待應答。

IOT_MQTT_Unsubscribe

MQTT會話階段,組織一個完整的MQTT UnSubscribe報文,向服務端發送取消訂閱請求。

IOT_MQTT_Yield

MQTT會話階段,MQTT主循環函數,內含了心跳的維持,服務器下行報文的收取等。

需要實現的HAL接口

以下函數為可選實現,如果希望SDK提供MQTT通道功能,則需要用戶對接。

函數名

說明

HAL_UptimeMs

返回設備加電以來到當前時間點過去的毫秒數

HAL_SleepMs

按照入參指定的毫秒數睡眠相應時間

HAL_SSL_Destroy

銷毀一個TLS連接,用于MQTT功能,加密連接的情況

HAL_SSL_Establish

建立一個TLS連接,用于MQTT功能,加密連接的情況

HAL_SSL_Read

從一個TLS連接中讀數據,用于MQTT功能,加密連接的情況

HAL_SSL_Write

向一個TLS連接中寫數據,用于MQTT功能,加密連接的情況

HAL_TCP_Destroy

銷毀一個TLS連接,用于MQTT功能

HAL_TCP_Establish

建立一個TCP連接,包含了域名解析的動作和TCP連接的建立

HAL_TCP_Read

在指定時間內,從TCP連接讀取流數據,并返回讀到的字節數

HAL_TCP_Write

在指定時間內,向TCP連接發送流數據,并返回發送的字節數

說明

SDK提供的用戶API接口都列在src/mqtt/mqtt_api.h,可能需要對接的HAL函數都列在src/mqtt/mqtt_wrapper.h,具體以代碼為準。