什么是物联网?常见 IoT 物联网协议最全讲解( 三 )


什么是物联网?常见 IoT 物联网协议最全讲解文章插图
2.3 CoAP协议
CoAP(Constrained Application Protocol)协议是一种运行在资源比较紧张的设备上的协议 。 CoAP协议通常也是运行在UDP协议上的 。
CoAP协议设计得非常小巧 , 最小的数据包只有4个字节 。 CoAP协议采用C/S架构 , 使用类似于HTTP协议的请求-响应的交互模式 。 设备可以通过类似于coap://192.168.1.150:5683/2ndfloor/temperature的URL来标识一个实体 , 并使用类似于HTTP的PUT、GET、POST、DELET请求指令来获取或者修改这个实体的状态 。
同时 , CoAP提供一种观察模式 , 观察者可以通过OBSERVE指令向CoAP服务器指明观察的实体对象 。 当实体对象的状态发生变化时 , 观察者就可以收到实体对象的最新状态 , 类似于MQTT协议中的订阅功能 。 CoAP协议的通信模型如图2-3所示 。
什么是物联网?常见 IoT 物联网协议最全讲解文章插图
2.4 LwM2M协议
LwM2M( Lightweight Machine-To-Machine )协议是由Open Mobile Alliance(OMA)定义的一套适用于物联网的轻量级协议 。 它使用RESTful接口 , 提供设备的接入、管理和通信功能 , 也适用于资源比较紧张的设备 。 LwM2M协议的架构如图2-4所示 。
什么是物联网?常见 IoT 物联网协议最全讲解文章插图
LwM2M协议底层使用CoAP协议传输数据和信令 。 而在LwM2M协议的架构中 , CoAP协议可以运行在UDP或者SMS(短信)之上 , 通过DTLS(数据报传输层安全)来实现数据的安全传输 。
LwM2M协议架构主要包含3种实体—LwM2M Bootstrap Server、LwM2M Server和LwM2M Client 。
LwM2M Bootstrap Server负责引导LwM2M Client注册并接入LwM2M Server , 之后LwM2M Server和LwM2M Client就可以通过协议指定的接口进行交互了 。
2.5 HTTP协议
正如我们之前所讲 , 物联网也是互联网 , HTTP这个在互联网中广泛应用的协议 , 在合适的环境下也可以应用到物联网中 。 在一些计算和硬件资源比较充沛的设备上 , 比如运行安卓操作系统的设备 , 完全可以使用HTTP协议上传和下载数据 , 就好像在开发移动应用一样 。 设备也可以使用运行在HTTP协议上的WebSocket主动接收来自服务器的数据 。
2.6 LoRaWAN协议
LoRaWAN协议是由LoRa联盟提出并推动的一种低功率广域网协议 , 它和我们之前介绍的几种协议有所不同 。 MQTT协议、CoAP协议都是运行在应用层 , 底层使用TCP协议或者UDP协议进行数据传输 , 整个协议栈运行在IP网络上 。 而LoRaWAN协议则是物理层/数据链路层协议 , 它解决的是设备如何接入互联网的问题 , 并不运行在IP网络上 。
LoRa(Long Range)是一种无线通信技术 , 它具有使用距离远、功耗低的特点 。 在上面的场景下 , 用户就可以使用LoRaWAN技术进行组网 , 在工程设备上安装支持LoRA的模块 。 通过LoRa的中继设备将数据发往位于隧道外部的、有互联网接入的LoRa网关 , LoRa网关再将数据封装成可以在IP网络中通过TCP协议或者UDP协议传输的数据协议包(比如MQTT协议) , 然后发往云端的数据中心 。
2.7 NB-IoT协议
NB-IoT(Narrow Band Internet of Things)协议和LoRaWAN协议一样 , 是将设备接入互联网的物理层/数据链路层的协议 。
与LoRA不同的是 , NB-IoT协议构建和运行在蜂窝网络上 , 消耗的带宽较低 , 可以直接部署到现有的GSM网络或者LTE网络 。 设备安装支持NB-IoT的芯片和相应的物联网卡 , 然后连接到NB-IoT基站就可以接入互联网 。 而且NB-IoT协议不像LoRaWAN协议那样需要网关进行协议转换 , 接入的设备可以直接使用IP网络进行数据传输 。