云MQTT代理

物联网 MQTT aws-iot 节点红色
2021-06-02 14:12:47

我对物联网世界完全陌生,我需要一些建议。我想构建一个可以使用互联网从世界任何地方访问的家庭自动化系统。最终目标是能够从世界各地访问我的家庭设备。

在互联网上,我看到了很多教程,但其中大部分要么涉及本地网络,要么涉及收费的第三方云网络(例如 AWS 或 HiveMQ)。

有没有一种方法可以在我的笔记本电脑或树莓派上设置一个可以从世界任何地方访问的云 mqtt 代理?是否有现有的软件(节点红色?)可以帮助我解决这个问题?

3个回答

确实可以!关于您最满意的方面,您可以使用不同的技术作为经纪人。

例如,您可以使用:https : //mosquitto.org/ 这是一个众所周知的开源 mqtt 代理。您会找到大量教程/示例来帮助您入门。

如果你是一个节点人,我已经测试过https://github.com/mcollina/mosca,它工作得非常好,但是我在某个地方发红了,虽然它不能很好地扩展。但对于开发目的来说,它非常好!

正如 hardillb 所提到的,你需要做一些端口转发。但是您将无法从世界任何地方访问该服务,因为您的自托管服务器很可能有时会更改其公共地址,这将使您的所有客户端无法提供服务。

因此,自托管方式对于开发来说已经足够了,但在某些时候您可能需要更深入地使用 VPS。

如果您想运行自己的公开代理,则您的家庭宽带需要一个静态 IP 地址(因为 MQTT 连接是持久的)。

假设你有这个,那么你需要在你的路由器上启用端口转发以向外界公开代理(默认端口是 1883)。如果你这样做,那么你应该确保你已经启用了某种形式的安全性,因为像 Shodan 这样的站点会定期索引 MQTT 代理。

请参阅以下链接,这些提供了有关主题级别安全性、授权、身份验证等的额外功能