美文网首页
ESP8266+STM32实现MQTT协议

ESP8266+STM32实现MQTT协议

作者: 高巨龙 | 来源:发表于2018-10-29 11:15 被阅读218次

一、准备工具

1. 硬件

(1)WiFi模块 (AT指令固件)

(2)STM32

2. 软件

(1)Wireshark (网络抓包工具)

(2)MQTT.fx (MQTT调试软件)

(3)网络调试助手

二、MQTT介绍

1. MQTT协议

三、原理介绍

1. 参考 W5500 以太网接口芯片

W5500芯片内部集成全硬件TCP/IP协议栈。现在只需在MCU上进行应用层协议封装,就可以实现我们想使用的MQTT协议。

image

2. ESP8266实现MQTT协议方式

ESP8266内部也已集成TCP/IP协议栈,并且固件代码是开源的可以实现二次开发。所以 在ESP8266实现MQTT协议有两种方式,一种是直接对ESP8266固件进行开发,在ESP8266芯片中实现MQTT协议的。另外一种方式(也是这篇文章介绍的方式)参考W5500方式在MCU上实现MQTT应用层协议。相比之下在MCU上实现应用更加广泛,不仅可以对ESP8266实现MQTT协议,只要接入模块内部实现了TCP/IP协议更改少许的代码都可以实现MQTT 协议。

3. 接入流程介绍

借鉴与AT指令上手难度低使用方便,因此选择使用AT指令先使ESP8266以TCP协议去连接服务器(MQTT基于TCP协议)。连接成功后模块进入透传状态,然后在STM32上封装MQTT协议格式的数据,封装后的数据即已是MQTT协议,再透过ESP8266和MQTT服务器进行交互。

四、验证可行性

1. 抓取MQTT连接数据

相关文章

网友评论

      本文标题:ESP8266+STM32实现MQTT协议

      本文链接:https://www.haomeiwen.com/subject/pxkxnftx.html