我正在使用MQTT协议和javascript构建IoT项目
它从MQTT客户端读取数据并将数据发送到代理,使用javascript构建的api引擎-图像中的虚线区域,内置了MQTT客户端并监听代理。
在本地环境中,我可以很好地运行代理并可以通过api引擎与其进行通信,但是在生产环境中,我不知道如何以及在何处安装代理和api引擎。
我的猜测是我将代理安装在MQTT代理云之一(即cloudmqtt.com)上,然后将api引擎部署到Heroku或其他东西,并使api引擎中的MQTT客户端指向MQTT代理云以侦听。
希望有人可以给我一些建议。 (我还不能嵌入图像,所以这里是一个链接) architecture
答案 0 :(得分:0)
我使用CloudMQTT Heroku add-on为我的应用程序使用Heroku构建了具有非常相似的体系结构的产品。
使用CloudMQTT时,您将获得“作为服务”的MQTT代理。因此,您无需在任何地方“安装” MQTT代理。您只需为MQTT客户端(在IOT设备/集线器和API后端中)配备适当的访问凭据即可发布/订阅您的CloudMQTT实例。
答案 1 :(得分:0)
这是我对体系结构的建议。
您正在构建的管理器应用程序应始终是代理的一部分。经理应该是经纪人的客户。通过这种方法,您将可以更好地控制设备。
我们对所有客户的建议是仅将MQTT用于边缘设备以进行Broker通信,而将REST用于其他所有内容。
Ranjith
Bevywise网络
答案 2 :(得分:0)
您可以通过两种不同的方式运行Mosca mqtt代理:1.独立模式或以2.嵌入到javascript应用程序中。这意味着,当您部署Nodejs API引擎时,它会与Mosca mqtt代理一起运行。在后一种情况下,您不必单独使用cloudmqtt。
因此,一旦您继续使用mqtt-client将设备中的数据发布到Mosca代理,就可以从中介计费服务器和其他应用程序进行订阅。使用数据库,您可以利用获利和控制数据,而mqtt pub-sub可以根据实现的QoS处理IoT遥测数据。