W5500+DHCP+DNS+MQTT
原文:
stm32+W5500_MQTT連阿里云_W5500_網絡通信協議
下載其例程
https://www.eclipse.org/paho/index.php?page=downloads.phpmqtt協議下載:https://www.eclipse.org/paho/index.php?page=downloads.php
??????https://codeload.github.com/eclipse/paho.mqtt.embedded-c/zip/refs/heads/master
1、w5500驅動,使用野火的例程
4. w5500模塊 — [野火]STM32模塊例程介紹 文檔
修改底層適配自己的硬件,其tcp、udp、http、ping、dns、dhcp都已有現成可用源碼,只需簡單調用即可
(調試tcp-client時,電腦作為主機,使用USR-TCP232-Test工具打開不了,而使用NetAssist工具就可以)
2、mqtt
? 2.1、使用先前下載的mqtt例程,mqtt是基于tcp協議的,所以第一步的tcp調通是首要步驟。
? 2.2、申請阿里云控制臺賬號,阿里云->控制臺->產品與服務->物聯網平臺
2.3、物聯網平臺->公共實例->設備管理->產品
創建自己的產品,命名一個產品名稱,選擇自定義品類,數據格式使用json
2.4、設備,選擇在創建的產品下,創建一個設備
設備屬于產品下的一個具體類別。設備也是我們具體操作使用
產品->查看(具體產品欄最后一列),功能定義,添加草稿,定義模塊具體功能,添加標準功能
在同一目錄下的物模型通信 Topic,定義了mqtt訂閱的主題,服務端下發與客戶端上送都需用到該主題。
服務端下發:
/sys/gyolUWhL70H/${deviceName}/thing/service/property/set
客戶端上送
/sys/gyolUWhL70H/${deviceName}/thing/event/property/post
2.5、w5500通過mqtt連接以后,阿里云平臺可以看到設備上線,否則屬于未激活狀態
2.6、監控運維->在線調試可以對添加的功能進行調試,設置,在客戶端可以接收到服務端下發的內容
sys/gyolUWhL70H/gateway/thing/service/property/set{"method":"thing.service.property.set","id":"2134948151","params":{"temperature":12},"version":"1.0.0"}
其topic:sys/gyolUWhL70H/gateway/thing/service/property/set
2.7、客戶端要回數據,或者主動上送數據時
? char *pub_topic = "/sys/gyolUWhL70H/gateway/thing/event/property/post"; // 客戶端上傳
數據內容:json格式,定義參數和具體內容值
? ? ? ? char msg_buf[128];
? ? ? ? sprintf(msg_buf, "{\"params\":{\"LightSwitch\":0,\"temperature\":%d}}",temp);
2.8、云平臺mqtt需要有保活機制,否則會認為設備下線了,間隔一段時間對服務端ping一次
W5500+DHCP+DNS+MQTT工程代碼stm32l4+freertos-智能家居文檔類資源-CSDN下載
總結
以上是生活随笔為你收集整理的W5500+DHCP+DNS+MQTT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 匈牙利命名法(指导)
- 下一篇: mini2440 sd卡加载过程详解