物联网协议集
一、按网络四层协议分类
NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是物理层的,这几个都需要芯片模组支持(硬件支持)
而MQTT,COAP,HTTP都是应用层协议,这些需要开发服务器,或者对接云平台厂商(软件支持)
所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,蓝牙,zigbee,4G)的上层协议物理层中
二、按需要网关来分类
不需要网关:NB-IoT,4G(芯片可以直接连上移动,联通,电信运营商)
需要网关:LORA,WIFI,zigbee(不能直接连上电信运营商,需要通过一个网关中转才能连上电信运营商)
蓝牙比较特别,是两个蓝牙设备之间互联
三、NB-IoT,4G对比
NB-IoT低功耗,传输小数据,传输速度底,芯片模组和套餐便宜
4G:传输速度快和可以传输大的数据,但是功耗高,价格贵
WIFI和zigbee对比:
wifi 功耗高,传输数据快,一个路由只能加入较少设备
zigbee功耗低,传输数据慢,可以中继,一个zigbee网关可以加入成千上万的zigbee设备
四、应用层协议:MQTT和COAP对比
1、MQTT
mqtt 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)、卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用
2、coap
2.1、COAP协议网络传输层由TCP改为UDP。
2.2、基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。
2.3、COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑。
2.4、轻量化,COAP最小长度仅仅4B,一个HTTP的头都几十个B了
2.5、支持可靠传输,数据重传,块传输。 确保数据可靠到达。
2.6、支持IP多播, 即可以同时向多个设备发送请求。
2.7、非长连接通信,适用于低功耗物联网场景。
物联网组网技术
WIFI
优点:
- 设备可接入互联网
- 避免布线
缺点:
- 距离近(50米)
- 功耗大
- 必须有热点
- 连接数量少(一般最多16台设备)
应用场景:
- 天猫精灵、独立工作的家电
蓝牙
缺点:
- 功耗大
- 连接过程繁琐
- 安全性低
- 距离近(50米)
- 不可直接接入互联网
- 连接数量少
应用场景:
- 蓝牙音箱、键盘
ZigBee
ZigBee是一种低速短距离传输的无线协议
优点:
- 低速、低耗电、低成本
- 支持大量节点(最多65000个)
- 自组网
缺点:
- 不可接入互联网
- 短距离(10到100米)
- 穿透性差
应用场景:
- 智能家居(小米)
2G/4G/5G
移动网络
优点:
- 远距离(10KM)
- 可接入互联网
- 移动性强
缺点:
- 4G/5G成本高,功耗大
- 2G即将退网
应用场景:
- 共享单车、丰巢
NB-IoT
窄带物联网(Narrow Band Internet of Things,NB-IoT)可直接部署于GSM网络(2G)、UMTS网络或LTE网络(4G),以降级部署成本、实现平滑升级。
优点:
- 远距离(10KM)
- 低功率
- 可接入互联网(手机卡)
- 移动性强
缺点:
- 需要基站支持,这几年高速发展、慢慢覆盖全国
- 某些地区没信号
LoRa
LoRa是低功耗局域网无线标准
优点:
- 远距离(城镇2~5KM,郊区15KM)
- 低功耗(据说电池可工作10年)
- 安全(AES128加密)
缺点:
- 速度慢
- 不可接入互联网
应用场景:
- 农业信息化、环境监测、智能抄表
网关
LoRa或ZigBee不能直接接入互联网,所以需要用到网关
网关又称网间连接器、协议转换器。网关在网络层以上实现网络互联,是复杂的网络互联设备,仅用于两个高层协议的网络互联
物联网中常见的物联通信协议
TCP
TCP是一种面向连接、可靠的、基于字节流的传输层通信协议
特点:
- 面向连接
- 可靠通信方式
- 基于流的方式
缺点:
- 花销大
- 设备必须时刻保持连接状态(功耗大)
- 消耗时间比较久
UDP
用户数据报协议,支持一个无连接的传输协议
特点:
- 不需要连接
- 速度快
- 不需要应答
缺点:
- 不可靠
TCP和UDP比较
TCP | UDP |
可靠 | 不可靠 |
面向连接 | 无连接 |
传输效率低 | 传输效率高 |
高 | 低 |
UDP更适合对功率要求高、可靠性要求不高的场合
HTTP
HTTP是基于客户/服务器模式,且面向连接的(建立在TCP之上)。典型的HTTP事务处理有如下的过程:
- 客户与服务器建立连接
- 客户向服务器提出请求
- 服务器接收请求,并根据请求返回相应的文件作为应答
- 客户与服务器关闭连接
缺点:
- 必须有客户端主动向服务器发送请求,服务器无法主动通知客户端
- 要实习HTTP需要更多硬件资源(硬件成本更高)
结论:
- 不适合物联网
MQTT
MQTT是一个基于客户端/服务器的消息发布/订阅的传输协议。
机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家具、及一些小型化设备中已广泛使用。
- 特别适合于网络代价昂贵、带宽低、不可靠的环境。
- 能在处理和内存资源有限的嵌入式设备中运行。
- 使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合。
- 使用TCP/IP提供网络连接。
- 提供Last Will 和 Testament特性通知有关各方客户端异常中断的机制。
CoAP
CoAP是一种在物联网世界的类web协议,名字翻译来就是”受限应用程序“。
- CoAP协议网络传输层UDP
- 它基于REST,server的资源地址和互联网一样也有类似url的格式。客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。
- CoAP是二进制格式,HTTP是文本格式,CoAP比HTTP更加紧凑
- 轻量化、CoAP最小长度仅仅4KB,一个HTTP的头都几十个B了
- 支持可靠传输,数量重传、块传输。确保数据可靠到达
- 非长连接通信,适用于低功耗物联网场景
CoAP | MQTT | |
通信机制 | 同步 | 异步 |
连接方式 | UDP | TCP |
使用场景 | 物联网 | 更适合推送 |
功耗 | 低 | 高 |
支持平台 | 阿里云、百度、腾讯QQ物联等 | 华为、中兴、移动 |
反向控制 | 不支持 | 支持 |
MQTT协议是保持连接的,所以及时性相对很好。
CoAP协议是无连接响应式通讯,因此不能主动推送,要等客户端访问才可以携带回去,及时性相对较差。
LwM2M
LwM2它的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:
- 这个协议是轻量级的
- 这个协议适用于物联网设备
- LwM2M是适用于资源有限的终端设备管理的轻量级物联网协议