我为我的解决方案设置了一个架构师,认为物联网中心完成了mqtt代理的工作,但是当我开始实现时,我发现您无法订阅一个特定的主题来检索由另一个mqtt客户端发布的消息,在物联网中心上不存在主题的概念。
我读过几篇关于这一主题的文章,但我没有找到合适的替代办法。物联网集线器只有两个主题,事件集线器端点仅限于10个端点,您能指导我或向代理建议解决方案吗?我如何订阅一个特定的主题?
我想要一个设备,用来与pub / sub通信。
例如:设备在主题/家庭/房间上发布另一个设备使用物联网集线器订阅/ home / room
我愿意接受所有的建议。
谢谢
发布于 2020-07-14 16:15:04
云开发
IoT集线器有一个有限的MQTT实现,因此您不能从其他设备订阅设备主题。您可以使用Azure函数捕获所有消息,并决定是否需要向设备消息发送云。您还可以利用来决定是否需要在与该函数对话之前发送消息。如果你想遵守Azure IoT Stack的规则,这可能是你最好的选择。
无云开发
如果您真的想让您的设备彼此倾听,那么就有一个旧博文描述了这样一个场景:设备使用service侦听由不同设备发送到IoT集线器的消息。它列出了文章中的利弊。
自定义边缘模块
如果您的设备位于同一网络上,则可以构建实现MQTT代理的边缘模块。然后,这些设备将连接到边缘设备,就像在普通网关场景中一样,但也会连接到您的自定义代理。在路由过程中,您将向定制代理发送所有消息,以便传输到任何侦听该主题的设备,同时仍将数据发送到云。我想,如果你朝这个方向走的话,它们是你想要调查的一些安全风险。
所以简单地说,这是可能的,可能在许多其他方面,但最终您正在利用一个不支持本机的云平台。
https://stackoverflow.com/questions/62873148
复制相似问题