title: 基於mqtt協議的wz指令開發
tags: wz指令
這是一款真正的基於mqtt的at指令目前市面上能找到的相容mqtt的at指令少之又少
而且安信可和樂鑫官方也沒有開發這個at指令,基本上都是基於mcu端的處理,同時mqtt是基於tcp轉化而來,
如果想要用mqtt就把tcp資料封包成為mqtt協議,就可以用tcp發出mqtt的資料。
這是arduino中文社群的一篇帖子,感覺講的非常好
我的方法,與上面的方法不同,我是從使用者端的邏輯來進行的操作,以至於達到了很好的使用者體驗!最終效果:
使用說明:
****************************
特點: 簡單到只需要一行**就可以將資料點推送至mqtt伺服器
可用於個人emq伺服器,或者樹莓派搭建的區域網伺服器(暫不支援onenet等商用平台)
預設埠:1883
支援wifi掉線重連、支援伺服器掉線重連。
版本號:v2.0
**:wenzheng.club
*****************************
燒寫位置:0x00000000
建議將esp01清除快取後再燒寫
at指令:僅此一條json資料,沒有繁瑣的其他配置環節,簡單粗暴
at指令說明:
1、"wz":"wenzheng.club" 為必填項!無此字段無法使用此指令。
2、伺服器連線:第一次傳送這條at指令時會進行伺服器連線,
3、訊息發布:後續傳送這條at指令則代表傳送指定主題的訊息。message目前最大支援200位元組。
3、主題訂閱:目前暫不支援使用者自定義訂閱主題,
但是系統開機預設訂閱主題名為:wz_server 的主題!
4、訊息接收:wz_server 發布的訊息會在串列埠中列印出來,
如:wz:[hello world!]
使用者可對此進行處理然後執行相關動作。
後續版本會支援使用者自定義。
**舉例:
**arduino**
void setup()
void loop() ");
//真正的只需要一行**實現資料傳送!!使用者只需要拼接字元即可!
delay(1000);
}**stm32**
微控制器配置好串列埠直接
printf("");
即可!///**************///
更新日誌:
2023年2月13日晚上製作v2.0版本
新增mqtt_user驗證
新增mqtt_passward驗證
2023年2月13日上午製作v1.0版本
實現基本通訊
2023年初有初步想法
stm32串列埠測試:總結,經過我的測試,還是相對穩定的,無論是arduino還是stm32進行資料傳送,都是可以的。經測試arduino不間斷傳送3000+資料,伺服器接收依然正常!基於MQTT的RPC協議
rpc 是一種基於request response 模式的分布式協議。而mqtt 是基於pub sub模式的協議。是否能夠將這兩種協議相結合,實現rpc over mqtt 我並沒有發現由比較知名的rpc over mqtt協議。於是,自己著手設計乙個極簡的rpc over mqtt 協議。本文介紹...
MQTT協議開發心得
公司這幾天在做關於mqtt的一些事情,現在大部分的工作算是完成了,下面就寫幾篇部落格,關於這半個月對於mqtt學習的一些心得體會。還是老慣例,先是了解一些什麼是mqtt。1.1 mqtt協議的特點 mqtt message queuing telemetry transport,訊息佇列遙測傳輸 是...
MQTT協議詳解及開發教程(一)MQTT協議概述
推薦一款穩定的基於c編寫的mqtt client開源庫 cmqtt mqtt協議目前在物聯網技術中應用非常廣泛,各種公有雲的iot平台通訊基本上都是按照該協議來實現的,這裡先簡單的做個總結 1 mqtt協議框架及內容比較標準,可以認為是 物聯網行業的modbus協議 2 不同廠家的mqtt 伺服器或...