【问题标题】:MQTT broker connect without pre-set IP address没有预设 IP 地址的 MQTT 代理连接
【发布时间】:2020-01-08 10:18:51
【问题描述】:

我正在构建一个应用程序来使用树莓派作为 MQTT 代理和客户端,并从另一个 MQTT 客户端 ESP32 接收消息。我需要 ESP32 才能连接代理,而无需手动预先设置 IP 地址。有谁知道如何让覆盆子无线安全地共享 IP 地址?或者无论用户更改什么网络配置,树莓派都能获得静态 IP 地址吗?感谢您的任何帮助或讨论。

【问题讨论】:

  • 鉴于您已经添加的标签 (mdns/avahi),您已经有了答案
  • 除了静态配置之外,如果您想使用 DHCP,您还可以让路由器或 ESP 前面的东西为其 MAC 分配相同的 IP
  • 我尝试了静态ip地址,当用户更改wifi时它不起作用。该设计需要像端到端模式一样,来自充当代理和客户端的树莓派,以及充当客户端的 ESP32/树莓派。客户端设备和代理设备都将由最终客户在 UI 上配置它们的 WiFi,然后 IP 地址将是未知的~~ 我的替代方法是让 ESP32 通过蓝牙从用户应用程序获取 IP 地址,然后连接到代理。但我们仍然期待更直接的方式。
  • 答案是 mdns
  • 我标记了它,因为我看到了一些关于它的痕迹。 groups.google.com/forum/#!topic/mqtt/QL6Qrqx-Y24 但我没有找到将它应用到 ESP32 或 Rapsberry Pi 上的明确说明或示例。

标签: raspberry-pi mqtt esp32 mdns avahi


【解决方案1】:

这两条指令提供了一些帮助:在 raspberry 和 mDNS 客户端中构建 mDNS 查找以接收字符串输入。需要更多的逻辑来定义“盲搜索”的原理,但考虑到安全原因,我们更喜欢从应用端通过BLE传输字符串主机名。

ESP32 中的 mDNS 客户端接收字符串输入 How is the ESP32 (DOIT DevKit) finding another host in the same LAN via mDNS?

在 raspberry 中构建 mDNS 查找:

http://root42.blogspot.com/2015/02/how-to-setup-mdns-lookups-on-raspberry.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 2010-11-19
    • 1970-01-01
    相关资源
    最近更新 更多