我是靠谱客的博主 害怕夏天,最近开发中收集的这篇文章主要介绍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源码实现思维导图
    在这里插入图片描述
  1. 工程创建后,修改mqtt_config.h文件接入自己的云账号和WiFi密码等。
    在这里插入图片描述

  2. 修改使用的协议版本
    在这里插入图片描述

  3. 修改增加SNTP备用服务器
    在这里插入图片描述

  4. 修改mqttConnectedCb函数订阅自定义服务
    在这里插入图片描述

  5. 设置遗嘱
    在这里插入图片描述

  6. 修改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

在这里插入图片描述

  1. 最后编译下载,就可以连接上云,提示订阅和发布成功了。
    在这里插入图片描述

最后

以上就是害怕夏天为你收集整理的ESP8266:MQTT1. MQTT2. 使用MQTT.fx客户端连接百度云3. ESP8266使用MQTT连接百度云的全部内容,希望文章能够帮你解决ESP8266:MQTT1. MQTT2. 使用MQTT.fx客户端连接百度云3. ESP8266使用MQTT连接百度云所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部