物联网设备在不同层使用不同的通信和消息传递协议。在开发 iot 设备时,设备要执行的类型,层和功能往往决定了最终的选择。mqtt,xmpp,dds,amqp 和 coap 是 iot 应用层中广泛使用的一些通信协议。今天,本文带大家了解这几个通信协议的优缺点。
mqtt 是一种机器对机器 (m2m) 协议。它是一种基于发布 – 订阅的消息传输协议,用于将设备数据传送到服务器。mqtt 的主要目的是远程管理物联网设备。它主要用于需要通过互联网监控或管理庞大的小型设备网络,即停车传感器,水下线路,能源网络等。
mqtt 工作原理
优点:
▪ 适用于受限网络的轻量级
▪ 灵活选择具有给定功能的服务质量
▪ 由 oasis 技术委员会标准化
▪ 实施简单快捷
缺点:
▪ 由于基于 tcp 的连接,功耗很高
▪ 缺乏加密
常见应用场景:
在大型地下停车场安装了许多停车传感器,以识别空的或空置的停车位的数量和位置。
xmpp 使用 xml 格式进行消息传递。该协议的主要特征是其寻址机制。它使用称为 jabber id(jid) 的地址识别物联网网络中的设备/节点。jid 遵循标准–name@domain.com。无论节点在网络中的距离如何,这种寻址机制都可以使两个节点交换信息。
xmpp 消息通常通过底层 tcp 连接传输。它使用轮询机制来标识消息的目标。xmpp 使用客户端 – 服务器体系结构实现。客户端通过发送开始标记来启动 xml 流。然后,服务器使用 xml 流回复客户端。由于 xmpp 是一种开放协议,任何人都可以在其网络中拥有自己的 xmpp 服务器,而无需连接到 internet。
xmpp 工作原理
优点:
▪ 寻址方案以识别网络上的设备
▪ 客户端 – 服务器架构
缺点:
▪ 基于文本的消息传递,没有端到端的加密配置
▪ 没有服务质量规定
常见应用场景:
智能恒温器,可通过 web 服务器从智能手机访问;一个游戏控制台,在两个在线玩家之间提供即时消息。
dds 也基于发布 – 订阅模型。dds 直接连接设备,与 mqtt 不同,mqtt 将它们连接到服务器。这就是 dds 比 mqtt 更快的原因。显然,它可以在几秒钟内向多个不同的接收器传送数百万条消息,因为它消除了与服务器的通信。dds 可用于通过数据总线提供设备到设备通信。它提供详细的服务质量和可靠性。
dds 工作原理
优点:
▪ 基于简单的 “发布 – 订阅” 通信范例
▪ 灵活且适应性强的架构,支持新的或过时的端点应用程序的 “自动发现”
▪ 低开销 – 可与高性能系统一起使用
▪ 确定性数据传递
▪ 动态可扩展
▪ 有效利用传输带宽
常见应用场景:
军事系统,风电场,医院集成,医疗成像,资产跟踪系统以及汽车测试和安全。
高级消息队列协议 (amqp) 是一种开放标准应用层协议,用于在服务器之间发送事务消息。作为以消息为中心的中间件,它可以处理数千个可靠的排队事务。amqp 专注于不丢失消息,因为消息可以使用 tcp 或 udp 传输。tcp 的使用提供了可靠的点对点连接。此外,端点必须确认接受每条消息。该标准还描述了具有正式多阶段提交序列的可选事务模式。amqp 专注于跟踪消息并确保每条消息按预期交付,无论故障或重新启动如何。
amqp 工作原理
优点:
▪ 消息可以通过 tcp 和 udp 发送
▪ 提供端到端加密
缺点:
▪ 相对较高的资源利用率,即功率和内存使用率
常见应用场景:
amqp 主要用于商业消息传递。它通常定义移动手机等设备,与后台数据中心通信。
总结 所有上面列出的协议都特别适用于不同的操作场景。任何协议都可以根据物联网应用程序开发的优缺点进行精心挑选。在为应用程序选择其中任何一个时要考虑的主要因素是服务质量,安全性以及应用程序所需的可靠性。
任何协议都可以根据物联网应用程序开发的优缺点进行精心挑选。我们在为应用程序选择传输协议时需要考虑的主要因素是服务质量,安全性以及应用程序所需的可靠性。