我是靠谱客的博主 害怕夏天,最近开发中收集的这篇文章主要介绍ESP8266:MQTT1. MQTT2. 使用MQTT.fx客户端连接百度云3. ESP8266使用MQTT连接百度云,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. MQTT
- 首先设备通过TCP/UDP通过云平台提供的端口,连接到云平台后,此时按照云服务器所规定的通信协议就可以发送和接收信息,实现物联网,百度云、阿里云、腾讯云都支持MQTT协议。
- MQTT基于TCP协议实现,建立连接后,通过MQTT协议交换数据。
- 基于客户端和服务端模式。
- 基于请求/回答模式和发布/订阅模式。
请求/发布:假设需要打电话给朋友,需要等朋友接电话了,才能开始交流。(同步方式)
发布/订阅:假设发送邮件给朋友,邮件点击发送后,就不管了。朋友收到邮件后,任何时候去查看邮件都可以。(异步方式)
- MQTT协议文档说明下载:https://mqtt.org/
- 资料来源参考[野火]《LwIP应用开发实战指南—基于野火 STM32 全系列(M47)开发板》
2. 使用MQTT.fx客户端连接百度云
-
连接说明:https://cloud.baidu.com/doc/IoTCore/s/Akck4811r,根据生成的账户连接密码等,填入MQTT.fx客户端进行连接。
-
创建主题,注意不要带$符号,不然MQTT.fx客户端可能收到不到订阅消息,创建云设备可以参考百度云的教程说明,这里不再说明。
-
MQTT.fx客户端设置
3. ESP8266使用MQTT连接百度云
- esp8266提供的NONOS_SDK有MQTT的例程,包括了MQTT的实现源码。
- 本次教程采用ESP8266_NONOS_SDK-3.0.5,将examples下的esp_mqtt_proj工程移植,移植过程参考:https://blog.csdn.net/INT_TANG/article/details/124386410
- MQTT源码实现思维导图
-
工程创建后,修改mqtt_config.h文件接入自己的云账号和WiFi密码等。
-
修改使用的协议版本
-
修改增加SNTP备用服务器
-
修改
mqttConnectedCb
函数订阅自定义服务
-
设置遗嘱
-
修改
config.h
文件,用于解决MQTT重复断开连接问题,主要原因是服务器返回MQTT报文0x04拒绝连接:用户名/密码错误。
MQTT: Connected to broker acncpzm.iot.gz.baidubce.com:1883
MQTT: Sending, type: 1, id: 0000
TCP: Sent
TCP: data received 4 bytes
TCP: data received 32,2,0,4 //应答报文0x04拒绝连接:用户名/密码错误。
MQTT: Connected to acncpzm.iot.gz.baidubce.com:1883
MQTT: Connected
MQTT: queue subscribe, topic"LED", id: 1
MQTT: queuing publish, length: 23, queue size(86/2048)
TCP: Disconnected callback
MQTT: Disconnected
- 最后编译下载,就可以连接上云,提示订阅和发布成功了。
最后
以上就是害怕夏天为你收集整理的ESP8266:MQTT1. MQTT2. 使用MQTT.fx客户端连接百度云3. ESP8266使用MQTT连接百度云的全部内容,希望文章能够帮你解决ESP8266:MQTT1. MQTT2. 使用MQTT.fx客户端连接百度云3. ESP8266使用MQTT连接百度云所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复