我想使用MQTT从网络应用程序向我的Raspberry PI发送消息。哪种服务可行?我是否需要在结束时安装mqtt代理?
答案 0 :(得分:0)
只要使用node.js,就可以使用轻量级mqtt服务器mosca(http://mosca.io)和客户端MQTT js(https://github.com/mqttjs/MQTT.js)
MQTT遵循pub-sub消息传递模式。你只需要在一端(任一端)拥有经纪人。
选项1:
让一个代理服务器与您的webapp和publish
消息一起运行mqtt客户端(在raspberry pi上运行)将订阅的主题
选项2:
如果raspberry pi是唯一一个静态设备,只需在其上运行代理(MQTT服务器),并从Web服务运行publish
消息
备选方案:
如果您的消息不需要极高的吞吐量,请使用websockets。即使它们没有MQTT(轻量级协议)那么快,但是websockets提供了良好的双向通信,尤其是当您的任何组件连接到或依赖于http接口时。
事实上,MQTT的安全机制在M2M通信中尚未建立,而websockets遵循http安全机制(TLS ecnryption)
<强>更新强>
我使用了一个误导性的句子没有完善。我的意思是没有简单的协议外MQTT安全性(类似于mqtts)
我知道这不是一个正确的陈述。选项包括:
只有在发布频繁且有效负载不是很大的情况下,websockets才有用。