MQTT是一种轻量级且灵活的协议,用于交换物联网消息并传递数据。它致力于在物联网开发中实现灵活性和硬件/网络资源之间的平衡。
ESP8266提供了高度集成的Wi-Fi SoC解决方案。其低功耗、紧凑的设计和高稳定性可以满足用户的需求。ESP8266具有完整而自包含的Wi-Fi网络功能,可以独立应用,也可以在另一个主机MCU上作为从设备运行。
在这个项目中,我们将实现将ESP8266连接到由EMQX Cloud运营和维护的免费公共MQTT代理,并使用Arduino IDE对ESP8266进行编程。EMQX Cloud是由EMQ推出的带有安全性的MQTT物联网云服务平台,提供一站式运维代理和MQTT 5.0接入服务,具有独特的隔离环境。
1. 所需的物联网组件
- ESP8266
- ESP-01/ESP-01S 下载器
- Arduino IDE
- MQTTX:跨平台MQTT 5.0客户端工具
- 免费公共MQTT代理
- 代理:broker.emqx.io 或 您定义的MQTT代理
- TCP端口:1883
- WebSocket端口:8083
2. ESP8266 发布/订阅
3. 代码
1.首先,我们导入了ESP8266WiFi和PubSubClient库。ESP8266WiFi库可以将ESP8266连接到Wi-Fi网络,而PubSubClient库可以使ESP8266连接到MQTT代理以发布消息和订阅主题。
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
2.设置Wi-Fi名称和密码,以及MQTT代理的连接地址和端口。
//