我正在尝试做一个IoT项目,其中节点需要从云接收一些命令。 以前,我是使用MQTT协议实现的。但是在互联网上搜索其他协议时,我发现了REST,这使得通过HTTP进行通信成为可能。但是,我已经看到该协议更多地用于获取数据(向节点发出请求并在响应中从该节点接收数据)。 我对这个协议很陌生。因此,我想知道是否还可以像在MQTT中一样从云将命令发送到节点。
非常感谢您的帮助。
答案 0 :(得分:0)
HTTP协议(因此基于请求/响应模型)并将其用于IoT设备命令可能具有以下缺点:
考虑到MQTT的连接寿命长,HTTP上的开销也比MQTT多。使用HTTP,您将浪费更多的电源进行连接和断开连接,并且网络数据包将比MQTT大。
您可以使用REST / HTTP向设备发送命令吗? 是。你应该做吗? 可能不是,这完全取决于您的实际设备要求和功能以及为什么要替换MQTT。
答案 1 :(得分:0)
与REST类似的IoT协议为CoAP。如果您正在考虑在IoT上下文中使用REST,建议您看看它。如果您的节点始终处于连接/可访问状态,那么没有什么可以阻止这个方向的发展。 CoAP是一种分散式服务协议,其中每个节点都可以与另一个节点通话。
MQTT是具有中央代理的发布/订阅协议。这样,您的云就可以仅将命令发送到代理,并且只要节点连接到代理,它将接收命令。因此,该节点不必始终保持在线。