物联网协议概述

简介: 物联网协议概述

61c37477979c492182569cb5fcdee823.jpeg前言


物联网是在互联网的基础上延伸和扩展的一种网络,其用户端延伸和扩展到了任何物品之间,彼此进行信息交换和通信,目的是实现所有物品与网络的连接,从而方便识别、管理和控制。

无线物联网的特点包括:全面感知、实时准确传递物品信息、利用智能计算技术对海量数据进行分析和处理,以实现智能化控制。


由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的 HTTP 协议应用在物联网上就显得过于庞大而不适用。


MQTT 协议和 CoAP 协议都是物联网中比较流行的协议,都对传输量做了很大的精简,传输开销小,以适应物理网的网络环境。

内容


CoAP(Constrained Application Protocol 受限应用协议)


image.png

CoAP 是 6LowPAN 协议栈中的应用层协议。COAP 协议网络传输层由 TCP 改为 UDP。

COAP 是二进制格式的,HTTP 是文本格式的,COAP 比 HTTP 更加紧凑。

轻量化,COAP 最小长度仅仅 4B,一个 HTTP 的头都几十个 B 了。

支持可靠传输,数据重传,块传输。 确保数据可靠到达。

支持 IP 多播,即可以同时向多个设备发送请求。

非长连接通信,适用于低功耗物联网场景。

MQTT(Message Queuing Telemetry Transport 消息队列遥测传输)


image.png

为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布 / 订阅型消息协议。轻量、简单、开放和易于实现。

1. 使用发布 / 订阅消息模式,提供一对多的消息发布,解除应用程序耦合
2. 使用 TCP/IP 提供网络连接

3. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量


这些特点使它适用于受限环境。例如,但不仅限于此:

特别适合于网络代价昂贵,带宽低、不可靠的环境

・能在处理器和内存资源有限的嵌入式设备中运行
・使用发布 / 订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合
・使用 TCP/IP 提供网络连接
・提供 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制

哪种协议?从应用场景要求的层面分析如何选用


1、服务端主动发送给客户端的数据(反控)的时效性(如通过 APP 控制硬件动作)


因 MQTT 协议是保持连接的,所以及时性相对很好;CoAP 协议是无连接响应式通讯,因此不能主动推送,要等客户端访问才可以携带回去,及时性相对较差。

2、设备环境对底层协议的要求或限制


  MQTT 协议是建立在 TCP 协议基础之上的,因此他也具备 TCP 协议的优缺点;CoAP 协议是建立在 UDP 协议基础之上的,因此他也具备 UDP 协议的优缺点。

3、在 NAT 网络环境中是否需要调整


  因 MQTT 协议是保持长连接的,所以在 NAT(Network Address Translation,网络地址转换)下没有问题;CoAP 协议因是无连接方式,需要使用 NAT 穿透性手段。

NAT NAT(Network Address Translation,网络地址转换)是 1994 年提出的。当在专用网内部的一些主机本来已经分配到了本地 IP 地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用 NAT 方法。这种方法需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT 路由器,它至少有一个有效的外部全球 IP 地址。这样,所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和因特网连接。

4、实现多对多的通信还是单对单通信


  因 MQTT 协议的消息模型是发布/订阅式的,所以是可以多对多通信的;CoAP 协议的消息模型是请求 / 响应式的,所以是单对单通信。

5、服务质量等级及自动重连重发


  因 MQTT 协议有 QoS 配置,支持服务质量等级和自动重连重发机制;CoAP 本身不具备,需要应用层自己来写这个逻辑。

6、对网络稳定性要求


  MQTT 协议利用自动重连重发机制解决网络不稳定问题,断网就会触发重连;CoAP 协议只有客户端发送的时候需要保证网络连接正常,其他时段无需连接。

7、对硬件设备的功耗影响


  MQTT 协议因有保持连接,所以功耗略高于 CoAP 协议。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6月前
|
XML 编解码 JSON
【开源视频联动物联网平台】协议包管理
【开源视频联动物联网平台】协议包管理
82 1
|
6月前
|
负载均衡 网络协议 安全
【开源视频联动物联网平台】SIP协议的特点
【开源视频联动物联网平台】SIP协议的特点
99 1
|
6月前
|
消息中间件 边缘计算 物联网
【开源视频联动物联网平台】如何解决物联网协议多样性问题
【开源视频联动物联网平台】如何解决物联网协议多样性问题
109 0
|
7天前
|
传感器 消息中间件 物联网
常用的物联网协议
常用的物联网协议包括:MQTT(消息队列遥测传输)、CoAP(受限应用协议)、HTTP/HTTPS、LWM2M(轻量级机器对机器)和Zigbee等。这些协议在不同的应用场景中发挥着重要作用,如数据传输、设备管理等。
|
25天前
|
网络协议 物联网 网络性能优化
物联网协议比较 MQTT CoAP RESTful/HTTP XMPP
【10月更文挑战第18天】本文介绍了物联网领域中四种主要的通信协议:MQTT、CoAP、RESTful/HTTP和XMPP,分别从其特点、应用场景及优缺点进行了详细对比,并提供了简单的示例代码。适合开发者根据具体需求选择合适的协议。
50 5
|
4天前
|
消息中间件 监控 物联网
物联网8大协议介绍及对比
根据具体的应用需求,选择合适的协议可以大幅提升系统的性能和可靠性。希望本文能为您在物联网协议的选择和应用中提供有价值的参考。
32 0
|
3月前
|
物联网 C# 智能硬件
智能家居新篇章:WPF与物联网的智慧碰撞——通过MQTT协议连接与控制智能设备,打造现代科技生活的完美体验
【8月更文挑战第31天】物联网(IoT)技术的发展使智能家居设备成为现代家庭的一部分。通过物联网,家用电器和传感器可以互联互通,实现远程控制和状态监测等功能。本文将探讨如何在Windows Presentation Foundation(WPF)应用中集成物联网技术,通过具体示例代码展示其实现过程。文章首先介绍了MQTT协议及其在智能家居中的应用,并详细描述了使用Wi-Fi连接方式的原因。随后,通过安装Paho MQTT客户端库并创建MQTT客户端实例,演示了如何编写一个简单的WPF应用程序来控制智能灯泡。
116 0
|
3月前
|
物联网 网络性能优化 Python
"掌握MQTT协议,开启物联网通信新篇章——揭秘轻量级消息传输背后的力量!"
【8月更文挑战第21天】MQTT是一种轻量级的消息传输协议,以其低功耗、低带宽的特点在物联网和移动应用领域广泛应用。基于发布/订阅模型,MQTT支持三种服务质量级别,非常适合受限网络环境。本文详细阐述了MQTT的工作原理及特点,并提供了使用Python `paho-mqtt`库实现的发布与订阅示例代码,帮助读者快速掌握MQTT的应用技巧。
85 0
|
4月前
|
供应链 网络协议 安全
物联网协议包含哪些协议?
物联网协议是物联网生态系统中不可或缺的组成部分,它们负责处理和协调物联网设备之间的通信。
69 3
|
5月前
|
传感器 物联网
物联网协议概述:MQTT、CoAP 和 HTTP
【6月更文挑战第3天】探索物联网的三大协议——MQTT、CoAP 和 HTTP。MQTT 是高效的消息传递使者,适用于大规模、不稳定网络环境;CoAP 小巧灵活,适合资源有限的设备;HTTP 则是熟悉的网络通信老将。根据不同场景选择合适的协议,让物联网设备有效交流。示例代码展示它们的使用方式。
163 0

相关产品

  • 物联网平台