使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南

此篇博客用来记录使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程 的全部流程,首先您需要准备以下环境:

注:此次测试的 ESP-IDF 版本为 c9646ff0beffc86d2c6d1bfbad34da16e328e0e3 (HEAD, tag: v4.3)。

上述环境准备完成后,即可开始 ESP32 mqtt_tcp 例程 测试。

1 通过 mqtt.fx 生成 mqtt broker 并订阅主题

首先我们通过 ifconfig 指令查询本机 IP,如下:
使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南
可看到 IP 为 192.168.1.31。打开 mqtt.fx ,点击设置图标,在弹出来的 Edit Connection Profiles 界面里设置 Broker Address 为上述查询到的本机 IP 192.168.1.31,如下:
使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南
配置完成后点击上图右下角的 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 里操作如下:
使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南

2 ESP32 开启 mqtt 并给主题发布消息

终端进入到 mqtt_tcp 例程 目录下,配置好 Wi-Fi SSID 、 PASSWORD 和mqtt Broker URL,此时的 URL 里的 IP 为上述查询并填入 mqtt.fx 的本机 IP 地址 192.168.1.31,如下:
使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南
使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南

注:此时 ESP32 连接的 Wi-Fi 路由器需要与电脑 mqtt.fx 连接的一致。

配置完成后,将 mqtt_tcp 例程编译烧写至 ESP32,可以从 ESP32 log 和 mqtt.fx 中观察到对应的 mqtt 消息已经被成功的 publish 和 subscribe。如下:

  • ESP32 端
    使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南

  • mqtt.fx 端
    使用 mqtt.fx 创建本地 mqtt 服务器测试 ESP32 mqtt_tcp 例程指南
    本次指南到此已结束,相关进阶 mqtt.fx 对应的 mqtt 操作后续可自行进一步探索。

上一篇:计算坐标


下一篇:百度不支持索引型sitemap,但是使用Baidu Sitemap Generator 报错怎么办