系列文章:
【玩转ESP32】1、开发环境搭建
【玩转ESP32】2、开发参考资料
【玩转ESP32】3、点亮LED,Blink,blink,blink
【玩转ESP32】4、ESP32驱动DHT11
【玩转ESP32】5、i2c-tools访问i2c设备
【玩转ESP32】6、驱动i2c设备—0.96 OLED
【玩转ESP32】7、ESP32连接wifi
【玩转ESP32】8、ESP32 Guru MeditationError报错分析
【玩转ESP32】9、ESP32 作为TCP客户端连接服务器(非阻塞接收)
【玩转ESP32】10、创建用户分区表,数据读写存储
【玩转ESP32】11、编译报错:esp_bt.h:No such file or directory
【玩转ESP32】12、esp32串口使用
【玩转ESP32】13、软件定时器esp_timer使用
【玩转ESP32】14、esp32 mqtt基础
1、前言
ESP-IDF提供了mqtt组件,在components/mqtt,相关的API位于components/mqtt/esp-mqtt目录下,这个组件是基于https://github.com/tuanpmt/esp_mqtt的 。组件支持MQTT over TCP、SSL with mbedtls、MQTT over Websocket、 MQTT over Websocket Secure;支持订阅、发布、身份验证、遗嘱消息、心跳、以及3个消息等级。
2、API说明
2.1、MQTT客户端配置结构体
esp_mqtt_client_config_t
通过这个结构体,可以设置回调函数、服务器地址、用户名、client id、密码、证书等,基本上与mqtt相关的参数都可以设置。
2.2、基于配置创建MQTT Client句柄
esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config);
config
:配置结构体变量指针;
esp_mqtt_client_handle_t
:创建成功返回的mqtt client句柄。
2.3、启动MQTT Client(客户端)
esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client);
client
:mqtt client句柄;
esp_err_t
:返回值为ESP_OK标识启动成功。
2.4、订阅主题
int esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *t