發(fā)布報文
PUBLISH:30 +字符總長度(遵循剩余字符算法)+發(fā)布地址長度(2字節(jié))+發(fā)布地址+用戶數據;
PUBLISH:32 +字符總長度(遵循剩余字符算法)+發(fā)布地址長度(2字節(jié))+發(fā)布地址+00 00(報文標識)+用戶數據(QoS1);
服務器會返回:4002xxxx(報文標識與發(fā)布保持一致,服務等級0無ACK返回)。
第一步:初始化發(fā)送緩存變量;
第二步:傳入PUB-TOPIC字符到計算緩存變量,用于計算和字符轉換(調用前文提到的長度計算腳本和ASCII轉HEX腳本);
第四步:保存計算結果;
第五步:傳入發(fā)送數據字符到計算緩存變量,用于計算和字符轉換(調用前文提到的長度計算腳本和ASCII轉HEX腳本);
第六步:根據等級封裝報文標識符,等級0不需要寫入報文標識;
第七步:將之前的緩存的字符串傳入長度計算算出字符總長;
第八步:根據等級封裝報文頭及可變長度;
第九步(Qos1):等待服務器響應,響應超時重發(fā)一次;
若訂閱請求報文發(fā)送錯誤(非服務器許可主題和服務等級)服務器會斷開連接,因此超時后發(fā)送心跳更新在線狀態(tài);
推薦文章:【教程】利用ECAN-401實現CAN報文自定義協(xié)議轉發(fā)
億佰特人每一天都致力于更好的助力物聯化、智能化、自動化的發(fā)展,提升資源利用率,更多產品更多資料,感興趣的小伙伴可以登錄我們的官網行了解,還有客服小姐姐在線答疑哦!成都億佰特--物聯網應用專家,隨時在身邊,時刻準備為您服務!