为物联网应用选择合适的协议
我们正在工作一个IoT场景,其中Thing / Constrained设备定期将其GPS位置发送到给定服务器。受限设备是一块类似于Arduino的板,该板由电池供电,并使用GSM / SIM屏蔽罩进行连接。这些是我们的设计目标: 延长电池寿命 最小化数据传输 为了进行测试,我们使用HTTP生成了大约500字节的消息,但是现在该使用更合适的协议进行数据传输了。数据传输的一些特征如下: 所述有效载荷是非常小,通常小于50个字节少(相当远离典型的MTU,即一切应该适合在IP封装) 数据应大约每分钟发送一次。某些差异并不重要。 它是确定以失去一些消息 目前,该设备不需要服务器的任何响应(但是,将来可能会改变)。服务器也不必开始与设备的任何对话。 到目前为止,我们已经想到了以下可能性: TCP上的自定义协议。这将摆脱HTTP标头,使消息小10倍。这是我们可靠/保守的方法。 UDP上的自定义协议。由于UDP的标头较小,并且没有开销,因此我们希望它非常有效。如所评论的,在此处丢失一条消息或无需担心……但是,可能还有其他我们不了解的不可靠性问题。 MQTT(TCP上的标准):与TCP相比,几乎没有任何开销,因此这也是一种选择...但是,我们在GSM / SIM技术方面经验不足,也不知道如何连续的MQTT连接将以这种方式工作,并且连接心跳带宽对于这种低频数据传输是否值得。 CoAP(UDP上的标准):看起来也很有希望。标头和UDP工作仅4字节开销。但是,存在未知的UDP风险。 有人可以给任何提示吗?提前致谢。