MQTT和Coap

什么是MQTT?

MQTT是一个“发布和订阅”协议。用户可以订阅某些主题,或发布某些主题的消息。订阅者将收到订阅的主题消息。用户可以通过保证交付来配置协议更可靠。

什么是CoAP?

CoAP看起来像是兼容HTTP,支持大多数互联网。 CoAP可以利用代理服务器,并将其转换成HTTP,或者根据环境限制直接与设计为使用CoAP的特殊服务器进行通信。

你什么时候使用它们?

由于发布/订阅体系结构与中间商中介,MQTT是广域网(WAN,互联网)上的设备之间的通信的理想选择。它在带宽有限的情况下是最有用的,例如远程现场站点或其他缺乏强大网络的区域。

MQTT是Azure和Amazon服务产品的一部分,因此它具有很多已建立的架构,使其易于适应当前的开发人员。

CoAP的强项是与HTTP的兼容性。如果您有一个基于Web服务的现有系统,那么在CoAP中添加是一个很好的选择。它建立在用户数据报协议(UDP)上,这在一些资源有限的环境中是有用的。由于UDP允许广播和多播,您可以使用较少的带宽潜在地传输到多个主机。这使得它对于设备需要快速交流的本地网络环境很好,这对于一些M2M设置是传统的。

如果物联网开发人员正在使用将利用现有Web服务器架构的设备,开发人员将使用CoAP。但是,如果开发者正在构建一个设备真正“仅报告”的东西 - 也就是说,它被丢弃在网络上,只需要将数据报告回服务器 - CoAP将会更好。其他用途,如云架构,可能最好用MQTT完成。

MQTT和CoAP的未来

随着时间的推移,对于其他协议,使用或行业采用趋向于向更*和包容的平台迁移,除非非包容性平台更好。 MQTT和CoAP都是开放标准,任何人都可以实现。 CoAP由标准机构启动,而不是由私有公司(包括IBM)设计的MQTT。 CoAP被设计为处理资源有限的环境,可能是它成为赢家,但是目前MQTT似乎处于领先地位。 MQTT背后有显着的动力 - 大云玩家已经选择了这一势头,或者至少选择它。此外,许多商业用例需要MQTT(存储和转发,集中式主机)的功能。然而,一种可能性是,一些围绕HTTP(例如移动应用程序开发)进行标准化的软件开发可以开始利用CoAP来处理外围设备,并与后端通信,以帮助减少不良连接带宽。

最终,这些协议可以通过互联网有效部署在不同的应用程序中。我们知道有特定的使用案例,其中每个都是最好的,但是我们也知道,物联网和物联网设备将会在复杂性和普及性方面继续发展。对于开发人员来说,了解应用程序的关键差异不仅可以实现更好的初始部署,而且可以为今后的开发工作奠定坚实的基础。

上一篇:物联网 阿里云 电信云 移动oneNET 腾讯云 华为云 能接入的NBIOT通信协议


下一篇:Cisco Packet Tracer使用