评估 权衡你正在考虑的技术、产品和项目的利弊。

为什么IOT开发人员被MQTT和CAAP混淆了?

最近,在Exadel,我们遇到了对IOT开发人员的有趣挑战。因为IOT应用程序获得了如此多的动力,所以如何发展它们越来越多。对于设备通信,两个专业竞争协议突出:消息队列遥测运输(MQTT)和受限的应用协议(CAAP)。它们都设计为轻量级,并仔细使用稀缺的网络资源。两者都有在正确的设置中使用,但问题是,由于IOT开发的相对缺星,人们不知道这些协议是或何时使用它们。

这些不是每个人都使用的标准Web协议。

鉴于我们自己的内部对话,我决定我想帮助揭开这些。首先,让我们看看这些协议实际上是什么。

MQTT是什么?

对于外行人来说,MQTT很像Twitter。这是一个“发布和订阅”协议。您可以订阅一些主题并在其他主题上发布。您将收到关于您订阅的主题的邮件以及订阅您发布的主题的人将收到这些消息。当然存在差异。例如,您可以通过保证交付配置协议以更加可靠。发布/订阅系统利用代理,以进一步绘制类比,将是Twitter平台本身 - 根据您的订阅首选项过滤消息。

CoAP是什么?

像亚马逊一样,COAP更像是传统的基于网站的业务。您请求资源(在Amazon示例中的页面和搜索结果),偶尔还会提交自己的数据(购买)。凯克是旨在看起来像和兼容当我们目前了解它时,HTTP将大多数互联网供电。COAP可以利用代理服务器并将其转换为HTTP或直接通过旨在使用CAAP的特殊服务器进行通信,具体取决于环境约束。

你什么时候用它们?

你可能会问的问题是,“如果它们如此相似,我应该在什么时候使用其中一个和另一个?”

MQTT非常适合在广域网(WAN、internet)上的设备之间进行通信,因为它的发布/订阅体系结构是中间有代理的。它在带宽有限的情况下最有用,例如偏远的现场站点或其他缺乏健壮网络的地区。MQTT是Azure和Amazon服务产品的一部分,因此它有许多已建立的架构,使其易于适应当前的开发人员。

在COAP的情况下,最强大的用例是其与HTTP的兼容性。如果您拥有基于Web服务的现有系统,则添加CAAP中的一个很好的选择。它建成了用户数据报协议(UDP)这在一些资源受限的环境中很有用。由于UDP允许广播和多播,您可以潜在地使用更少的带宽传输到多个主机。这有利于本地网络环境,设备之间需要快速通信,这是一些M2M设置的传统做法。

如果物联网开发人员使用的设备将利用现有的web服务器架构,那么该开发人员将使用CoAP。但如果开发人员正在构建的设备是真正的“仅报告”——也就是说,它被丢弃在网络上,只需要向服务器报告数据——CoAP将会更好。其他用途(如云架构)可能最好使用MQTT。

MQTT和CoAP的未来

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

最终,这些协议可以被有效地部署通过物联网在不同的应用中。我们知道,在特定的用例中,每种物联网都能得到最好的服务,但我们也知道,物联网和物联网设备的复杂性和普遍性将继续增长。对于开发人员来说,理解应用程序中的关键差异不仅可以实现更好的初始部署,而且可以为将来的开发建立一个强大的基础。

所有IoT Agenda网络贡献者都对其帖子的内容和准确性负责。意见是作者的,不一定传达物联网议程的想法。

搜索CIO.

搜索安全

搜索网络

搜索数据中心

搜索数据管理

关闭