使用 MQTT 从 Web 应用程序向我的 Raspberry PI 发送消息
Send message to my Raspberry PI from web app using MQTT
我想使用 MQTT 从 Web 应用程序向我的 Raspberry PI 发送消息。哪个服务可以做同样的事情?我是否需要在两端都安装 mqtt 代理?
就使用 node.js 而言,有一个轻量级的 mqtt 服务器 mosca (http://mosca.io) and client MQTT js (https://github.com/mqttjs/MQTT.js)
MQTT 遵循 pub-sub 消息传递模式。你只需要在一端(两端)有代理。
选项 1:
有一个代理服务器 运行ning 连同你的网络应用程序和 publish
消息关于 mqtt 客户端(运行ning 在 raspberry pi 上)将订阅的主题
选项 2:
如果 raspberry pi 是唯一一个静态设备,则只有 运行 一个代理(MQTT 服务器)和 publish
来自网络服务的消息
替代选项:
如果您的消息不需要极高的吞吐量,只需使用 websockets。尽管它们不如 MQTT(轻量级协议)快,但 websockets 提供了良好的双向通信,尤其是当您的任何组件附加到或依赖 http 接口时。
事实上MQTT的安全机制在M2M通信中并没有很好地建立起来,而websockets遵循http安全机制(TLS加密)
更新:
我用了一个误导性的句子 not well established。我的意思不是简单的 out-of-the-protocol MQTT 安全(类似于 mqtts)
我明白这不是一个正确的陈述。选项是:
- 通过预共享证书使用底层 TCP 安全 (SSL)。如果有很多设备和证书更新或
,这会很痛苦
- 使用会损害元数据(例如主题、qos 等)的应用程序级安全性
而 websockets 只有在发布不频繁且负载不大的情况下才有用。
我想使用 MQTT 从 Web 应用程序向我的 Raspberry PI 发送消息。哪个服务可以做同样的事情?我是否需要在两端都安装 mqtt 代理?
就使用 node.js 而言,有一个轻量级的 mqtt 服务器 mosca (http://mosca.io) and client MQTT js (https://github.com/mqttjs/MQTT.js)
MQTT 遵循 pub-sub 消息传递模式。你只需要在一端(两端)有代理。
选项 1:
有一个代理服务器 运行ning 连同你的网络应用程序和 publish
消息关于 mqtt 客户端(运行ning 在 raspberry pi 上)将订阅的主题
选项 2:
如果 raspberry pi 是唯一一个静态设备,则只有 运行 一个代理(MQTT 服务器)和 publish
来自网络服务的消息
替代选项:
如果您的消息不需要极高的吞吐量,只需使用 websockets。尽管它们不如 MQTT(轻量级协议)快,但 websockets 提供了良好的双向通信,尤其是当您的任何组件附加到或依赖 http 接口时。
事实上MQTT的安全机制在M2M通信中并没有很好地建立起来,而websockets遵循http安全机制(TLS加密)
更新:
我用了一个误导性的句子 not well established。我的意思不是简单的 out-of-the-protocol MQTT 安全(类似于 mqtts)
我明白这不是一个正确的陈述。选项是:
- 通过预共享证书使用底层 TCP 安全 (SSL)。如果有很多设备和证书更新或 ,这会很痛苦
- 使用会损害元数据(例如主题、qos 等)的应用程序级安全性
而 websockets 只有在发布不频繁且负载不大的情况下才有用。