路由器后面的 MQTT 客户端和端口转发以订阅客户端

物联网 MQTT 联网 无线上网
2021-06-13 16:29:49

我使用 MQTT (Mosquitto) 和几个 ESP8266 来解决传感问题。

我希望客户端也可以“订阅”以触发对客户端的操作。

MQTT 服务器放置在我的主路由器的 VLAN 中。除了这个 VLAN,另一个路由器(我们称之为 ESP 路由器)连接到主路由器(所有内部局域网)。

ESP 路由器的 WiFi 客户端无法通过 1883 连接到 MQTT 服务器。

但是如果我想在 WiFi 客户端上订阅主题,我需要在 ESP 路由器上进行端口转发。我只能将特定端口转发到特定端口/地址。我怎样才能移植到这个完整的 WiFi 子网?我正在使用 Mikrotik 路由器。

1个回答

如果客户端可以连接到代理,那么您就不需要其他任何东西了。

MQTT 在 TCP 上工作,它是一个持久的双向连接。

流程是:

  • 客户端连接
  • 客户订阅
  • 当匹配的消息到达时,代理通过现有连接向客户端发送消息
  • 如果在保持活动期间没有消息到达,代理 ping 客户端,客户端响应