此篇博客用来记录使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程 的全部流程,首先您需要准备以下环境:
注:此次测试的 ESP-IDF 版本为 c9646ff0beffc86d2c6d1bfbad34da16e328e0e3 (HEAD, tag: v4.3)。
上述环境准备完成后,即可开始 ESP32 mqtt_tcp 例程 测试。
1 通过 mqtt.fx 生成 mqtt broker 并订阅主题
首先我们通过 ifconfig 指令查询本机 IP,如下: 可看到 IP 为 192.168.1.31 。打开 mqtt.fx ,点击设置图标,在弹出来的 Edit Connection Profiles 界面里设置 Broker Address 为上述查询到的本机 IP 192.168.1.31 ,如下: 配置完成后点击上图右下角的 OK 选项,然后点击主页的 Connect ,此时可以点击 Connect 下方横栏里的 Subscribe 里输入订阅主题,输入完成后点击 Subscribe 。通过查看 mqtt_tcp 例程 里的代码:
msg_id = esp_mqtt_client_publish(client, "/topic/qos1", "data_3", 0, 1, 0);
可以发现 ESP32 向 /topic/qos1 这个主题 publish 了 data_3 这段数据。在 mqtt.fx 里操作如下:
2 ESP32 开启 mqtt 并给主题发布消息
终端进入到 mqtt_tcp 例程 目录下,配置好 Wi-Fi SSID 、 PASSWORD 和 mqtt Broker URL,此时的 URL 里的 IP 为上述查询并填入 mqtt.fx 的本机 IP 地址 192.168.1.31 ,如下:
注:此时 ESP32 连接的 Wi-Fi 路由器需要与电脑 mqtt.fx 连接的一致。
配置完成后,将 mqtt_tcp 例程编译烧写至 ESP32,可以从 ESP32 log 和 mqtt.fx 中观察到对应的 mqtt 消息已经被成功的 publish 和 subscribe。如下:
|