使用 MQTT 協議與平臺對接可能出現的問題

      網友投稿 2325 2025-03-31

      使用 mqtt 協議與平臺對接可能出現的問題

      其實只需要簡單理解mqtt的消息訂閱發布機制,就能用mqtt的方式和平臺對接

      agentLite 證書校驗失敗,請檢查證書是否配置正確,證書一般是放置在demo中的conf目錄下的rootcert.pem 文件,如果該目錄下已經存在證書文件,請點擊下載更換證書

      參考:https://github.com/LiteOS/LiteOS/blob/develop/demos/agenttiny_mqtt/agent_tiny_demo.c

      不可以,平臺目前只支持MQTTS接入,原生接口參考:https://support.huaweicloud.com/api-IoT/iot_06_3002.html

      訂閱設備上報數據的topic(https://support.huaweicloud.com/api-IoT/iot_06_3010.html),往平臺發送數據

      訂閱設備接收命令的topic(https://support.huaweicloud.com/api-IoT/iot_06_3011.html),接收平臺下發給設備的數據

      自己寫的客戶端是可以連接到平臺的,一直連不上得看下具體的報錯

      Java 代碼示例參考:https://bbs.huaweicloud.com/forum/thread-27358-1-1.html

      設備想要收到下發的命令,必須訂閱設備接收命令的topic(https://support.huaweicloud.com/api-IoT/iot_06_3011.html)

      調用接口失敗,請參考接口返回的錯誤碼和錯誤描述解決問題

      參考問題(3)

      模組作為客戶端連接華為云mqtt服務器,是否是mqtts的連接應該是服務端所決定,參考問題(3)

      參考問題(1)

      問題理解,我用mqtt協議發送數據到平臺,然后我設置了回調,數據到達平臺的時候應該進入到我設置的回調,告訴我數據發送出去了。 最終的問題是,使用mqtt.fx模擬器發送數據,然后訂閱推送數據到應用服務器(就是問題所描述的回調)。原因:訂閱了設備信息變化(deviceInfoChanged),數據一直收不到,得訂閱 設備數據變化(deviceDataChanged)

      可以直接調接口 設備服務調用(https://support.huaweicloud.com/api-IoT/iot_06_0052.html) 給mqtt設備下發命令就能收到命令了

      Python示例:https://bbs.huaweicloud.com/forum/thread-27362-1-1.html

      參考問題(11)

      必須得加證書,參考 https://support.huaweicloud.com/api-IoT/iot_06_3009.html

      經排查代碼,發現心跳時間要設置30s以上,即options.setKeepAliveInterval(30);這個值 改為30以上

      目前都是需要帶證書的

      使用 MQTT 協議與平臺對接可能出現的問題

      上報數據的主題就一個

      設備連接應該使用 設備對接信息中的IP,且是8943和8843對應的IP地址

      mqtt一般來說上去的數據都是json,推薦直接以json的形式上報;如果報二進制的話topic中的codecMode要變成 binary,上報的消息要轉成binary上報

      可以參考java demo 示例

      //hexStr 就是上報的碼流,比如0101

      private static byte[] hexStr2Str(String hexStr) {

      String str = "0123456789ABCDEF";

      char[] hexs = hexStr.toCharArray();

      byte[] bytes = new byte[hexStr.length() / 2];

      int n;

      for (int i = 0; i < bytes.length; i++) {

      n = str.indexOf(hexs[2 * i]) * 16;

      n += str.indexOf(hexs[2 * i + 1]);

      bytes[i] = (byte) (n & 0xff);

      }

      return bytes;

      }

      原因:如果broker遇到問題重啟了,所有的client端都得重啟,因為服務端丟失了client的subscribe信息。(即使cleanSession=false)。為了避免服務端重啟、網絡短時斷線影響消息的持續接收,需要做一些設置和編碼

      //防止 ERROR o.e.p.c.mqttv3.internal.ClientState - Timed out as no activity ?錯誤

      mqttConnectOptions.setConnectionTimeout(0);

      //mqttClient.reconnect(); 這個方法或者回調已經設置了重連

      mqttConnectOptions.setAutomaticReconnect(true);

      //服務端記錄 session (自己手動重新subscribe ,可能設置為true也行)

      mqttConnectOptions.setCleanSession(false);

      未完持續更新。。。

      有關于 MQTT 的問題歡迎補充?。。?/p>

      MQTT

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word圈1怎么打(word圓圈1怎么打快捷鍵)
      下一篇:如何讓快捷方式變成演示文稿(直接保存演示文稿的快捷鍵)
      相關文章
      亚洲av专区无码观看精品天堂| 亚洲国产精品综合久久网络 | 亚洲国产成人精品无码一区二区 | 亚洲av无码片在线播放| 亚洲最大成人网色香蕉| 国产偷国产偷亚洲清高动态图| 麻豆狠色伊人亚洲综合网站| 亚洲国产超清无码专区| 亚洲日韩精品无码一区二区三区| 亚洲精品中文字幕无码A片老| 亚洲国产第一站精品蜜芽| 五月天婷亚洲天综合网精品偷| 亚洲色偷偷偷网站色偷一区| 亚洲一区二区三区影院| 中文字幕第13亚洲另类| 亚洲aⅴ无码专区在线观看春色| 久久综合亚洲色HEZYO社区| 久久精品国产精品亚洲人人| 亚洲日本一区二区三区在线不卡| 亚洲欧美国产日韩av野草社区| 亚洲视频一区网站| 91亚洲国产成人久久精品网址| 亚洲综合视频在线观看| 亚洲国产中文在线视频| 亚洲国产精品一区二区三区在线观看| 亚洲高清在线mv| 亚洲jjzzjjzz在线观看| 亚洲中文字幕久久精品无码VA | 亚洲美女在线观看播放| 亚洲国产夜色在线观看| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲色一区二区三区四区| 欧美激情综合亚洲一二区| 亚洲色在线无码国产精品不卡| 婷婷国产偷v国产偷v亚洲| 亚洲欧美国产国产一区二区三区| 色欲aⅴ亚洲情无码AV| 久久久久亚洲精品男人的天堂| 亚洲AV无码一区二区三区系列| 久久亚洲AV无码精品色午夜 | 超清首页国产亚洲丝袜|