此篇博客用来记录使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程 的全部流程,首先您需要准备以下环境:
- 下载 mqtt.fx
- 安装配置 ESP-IDF 环境
- 一块 ESP32 开发板
注:此次测试的 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。如下:
-
ESP32 端
-
mqtt.fx 端
本次指南到此已结束,相关进阶 mqtt.fx 对应的 mqtt 操作后续可自行进一步探索。