🔗 MQTT 通信

目标

通过 MQTT 协议连接到公共 Broker,发布传感器数据并订阅控制指令。

硬件准备

代码示例

#include "mqtt_client.h"

void mqtt_app_start(void) {
    esp_mqtt_client_config_t cfg = {
        .broker.address.uri = "mqtt://broker.hivemq.com",
    };
    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&cfg);
    esp_mqtt_client_start(client);

    /* 发布消息 */
    esp_mqtt_client_publish(client,
        "/haitunty/sunny/data", "{\"temp\":25.5}", 0, 1, 0);

    /* 订阅主题 */
    esp_mqtt_client_subscribe(client, "/haitunty/sunny/cmd", 0);
}

步骤说明

  1. 确保 Wi-Fi 已连接(参考 Wi-Fi 连接例程)。
  2. 使用公共 Broker:broker.hivemq.com:1883。
  3. 烧录代码,打开 MQTT 客户端工具订阅同一主题观察数据。
提示: 遇到问题可查看 Q&A 页面,或在工蜂仓库提交 Issue。