Raspbian 通过Internet连接到安装在Raspberry Pi上的MQTT代理(MOSQUITO)

Raspbian 通过Internet连接到安装在Raspberry Pi上的MQTT代理(MOSQUITO),raspbian,mqtt,raspberry-pi2,mosquitto,Raspbian,Mqtt,Raspberry Pi2,Mosquitto,我计划创建一个非常简单的家庭\办公室监控系统,在这里我将能够使用Mosquitto broker在Raspberry Pi上连接传感器。传感器将向代理发布数据,我将能够作为订户查看数据 我有一个发布者,定期将消息发布到同一局域网内的Raspberry Pi(Mosquitto broker)。但我想将位于我办公室的传感器连接到同一个代理,因此连接只能在线进行 我目前面临的问题是,我想将传感器连接到Raspberry Pi,但考虑到硬件的局限性,我需要通过互联网进行连接。如何将传感器从LAN网络外

我计划创建一个非常简单的家庭\办公室监控系统,在这里我将能够使用Mosquitto broker在Raspberry Pi上连接传感器。传感器将向代理发布数据,我将能够作为订户查看数据

我有一个发布者,定期将消息发布到同一局域网内的Raspberry Pi(Mosquitto broker)。但我想将位于我办公室的传感器连接到同一个代理,因此连接只能在线进行


我目前面临的问题是,我想将传感器连接到Raspberry Pi,但考虑到硬件的局限性,我需要通过互联网进行连接。如何将传感器从LAN网络外部连接到驻留在Raspberry Pi中的代理?我刚刚检查过,我的公共IP地址下面可能有数千个地址,我如何知道哪一个是我并连接到它

多少取决于您的家庭网络。如果您的ISP使用所谓的“”,这种情况由于IPv4地址很少而变得越来越普遍,则您无法从Internet连接到本地网络

否则,您可以向内建立连接,因此您的遥感器只需要TCP/IP连接。我们需要更多关于传感器的信息来向您展示如何做到这一点。要查找公共IP地址,请从本地网络上的计算机访问。(若要了解您是否仍在使用运营商级nat,请咨询您的ISP或反向查找您的公共IP地址,您可能会知道)。您还需要在路由器上配置防火墙,以便它允许入站连接到您选择的端口(在外部),并将其映射到Pi的内部IP地址和MOSQUITO上配置的用于处理MQTT流量的端口

对于运营商级NAT,或者如果无法配置路由器的防火墙以允许传入连接,则应在Internet上的某个位置使用另一个MQTT代理。然后将Pi代理配置为桥接到Internet代理

有一个快速教程。MOSQUITO文档中也有关于如何执行此操作的信息

在本例中,您的Pi代理正在与internet建立连接,如果您没有过度阻止传出流量,则可以在任何WAN上正常工作

无论哪种情况,都不要忘记互联网上的任何流量都是不安全的。您需要设置SSL证书以及用户名/密码组合来保护流量。

简单

  • 只需将端口转发(在本地路由器192.168.x.x中)添加到raspberrPi ip和MQTT(通常为端口1883)
  • 然后你的传感器应该连接到互联网,并发送一个主题/有效载荷到你家的公共IP地址
我这样做是为了android应用程序 -自营 -多汁的 -拉斯皮切克 -myMQTT -openHAB -Yatse(用于Kodi remote)

但不要忘记,当您打开一个端口时,您需要以某种方式保护它的访问。。。
您的ISP(InternetServiceProvider)可以自动更改您的公共IP。

只需发布到代理的IP地址即可。这就是IP地址的重点。你在哪里陷入困境?你需要解释你的网络布局,我可以假设NAT路由器或动态IP地址,但你需要解释问题better@EmilVikstr这个建议太棒了,我不知道我怎么会想不起来。但是我发现我不能这样做,除非我连接到同一个局域网。但事实并非如此,因为我是通过wifi连接的。这就是我目前的困境,它告诉我它没能出版。@hardillb谢谢你,先生。目前,作为一名用户,我只是希望能够远程访问网络,而不需要像Raspberry Pi一样位于同一个LAN网络中。我需要进一步解释吗?我目前面临的问题是,我无法从任何在线位置自由连接到Raspberry Pi,除非我在同一个LAN网络中。不,仍然没有足够的细节。编辑带有网络布局详细说明的问题(无,不添加更多评论)。谢谢先生。真棒的回答。我忘了提到我是通过大学的互联网连接的,这意味着我不能做端口转发。因此,你的建议,使经纪人之间的联系真的很好,我希望得到解决我的问题很快。虽然这意味着在网络中会有额外的延迟。很乐意帮忙。请注意,延迟不是MQ系统的问题,您也不希望它们是即时的。我想问,Internet上某个地方的另一个代理是否应该是我的,因此我必须自己配置它?或者我可以使用Mosquito和paho的测试服务器吗?我不会使用测试服务器,因为它们可能不总是工作的。但是,也有公共MQTT服务提供免费计划。对于不太担心安全性的休闲用品来说,这很好。e、 如果您落后于运营商级NAT,则g.CloudMQTT或ThingMQ.不起作用。这在一些国家越来越普遍,而且是强制性的。你也许可以通过IPv6来解决这个问题,但这通常是一场噩梦。