• 常见的物联网协议


    我们玩ESP常见的物联网协议:MQTT NB-IOT,LoRa.了解即可。


    MQTT 协议

    MQTT 协议(Message Queue Telemetry Transport,消息队列遥测传输协议)是 IBM 的 Andy Stanford-Clark 和 Arcom 的 Arlen Nipper 于 1999 年为了一个通过卫星网络连接输油管道的项目开发的。为了满足低电量消耗和低网络带宽的需 求,MQTT 协议在设计之初就包含了以下几个特点:

    • 实现简单
    • 提供数据传输的 QoS 轻量、
    • 占用带宽低
    • 可传输任意类型的数据
    • 可保持的会话(Session)

    MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

    1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
    2. 对负载内容屏蔽的消息传输;
    3. 使用 TCP/IP 提供网络连接;
    4. 有三种消息发布服务质量:
      • “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
      • “至少一次”,确保消息到达,但消息重复可能会发生。
      • “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

    MQTT 协议的架构由 Broker 和连接到 Broker 的多个 Client 组成
    在这里插入图片描述

    它在移动互联网领域也大有作为,很多 Android App 的推送功能都是基于 MQTT 协议实现的,一些 IM 的实现也是基于 MQTT 协议的.
    在这里插入图片描述

    MQTT-SN 协议

    MQTT-SN(MQTT for Sensor Network)协议是 MQTT 协议的传感器版本
    MQTT 协议是运行于 TCP 协议栈之上的,TCP 协议对于某些计算能力和电量非常有限的设备来说,比如传感器,就不太适用 了。
    MQTT-SN 运行在 UDP 协议上,同时保留了 MQTT 协议的大部分信令和特性,如订阅和发布等。
    MQTT-SN 协议引入了 MQTT-SN 网关这一角色,网关负责把 MQTT-SN 协议转换为 MQTT 协议,并和远端的 MQTT Broker 进行通信。MQTT-SN 协议支持网关的自动发现。
    在这里插入图片描述

    CoAP

    CoAP(Constrained Application Protocol)协议是一种运行在资源比较紧张的设备上的协议

    CoAP 协议通常也是运行在 UDP 协议上的。 CoAP 协议设计得非常小巧,最小的数据包只有 4 个字节。CoAP 协议采用 C/S
    架构,使用类似于 HTTP 协议的请求 - 响应的 交互模式。 CoAP 提供一种观察模式,观察者可以通过 OBSERVE 指令向 CoAP
    服务器指明观察的实体对象。当实体对象的状态发生变化时,观察者就可以收到实体对象的最新状态,类似于 MQTT 协议中的订阅功能。

    在这里插入图片描述

    LwM2M

    LwM2M( Lightweight Machine-To-Machine )协议是由 Open Mobile Alliance(OMA)定义的一套适用于物联网的轻量级协议。它使用 RESTful 接口,提供设备的接入、管理和通信功能,也适用于资源比较紧张的设备。
    在这里插入图片描述

    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 就可
    以通过协议指定的接口进行交互了。

    HTTP 协议

    正如我们之前所讲,物联网也是互联网,HTTP 这个在互联网中广泛应用的协议,在合适的环境下也可以应用到物联网中
    在一些计算和硬件资源比较充沛的设备上,比如运行安卓操作系统的设备,完全可以使用 HTTP 协议上传和下载数据,就好像在开发移动应用一样。设备也可以使用运行在 HTTP 协议上的 WebSocket 主动接收来自服务器的数据。

    LoRaWAN 协议

    LoRaWAN 协议是由 LoRa 联盟提出并推动的一种低功率广域网协议,它和我们之前介绍的几种协议有所不同。

    • MQTT 协议、 CoAP 协议都是运行在应用层底层使用 TCP 协议或者 UDP 协议进行数据传输,整个协议栈运行在 IP 网络上。
    • LoRaWAN 协议则是物理层 / 数据链路层协议,它解决的是设备如何接入互联网的问题,并不运行在 IP 网络上。

    在这里插入图片描述

    LoRa(Long Range)是一种无线通信技术,它具有使用距离远、功耗低的特点。在上面的场景下,用户就可以使用 LoRaWAN 技术进行组网,在工程设备上安装支持 LoRa 的模块。
    通过 LoRa 的中继设备将数据发往位于隧道外部的、有互联网接入的 LoRa 网关,LoRa 网关再将数据封装成可以在 IP 网络中 通过 TCP 协议或者 UDP 协议传输的数据协议包(比如 MQTT 协议),然后发往云端的数据中心。

    NB-IoT 协议

    NB-IoT(Narrow Band Internet of Things)协议和 LoRaWAN 协议一样,是将设备接入互联网的物理层 / 数据链路层的协议。

    与 LoRA 不同的是:

    1. NB-IoT 协议构建和运行在蜂窝网络上,消耗的带宽较低,可以直接部署到现有的 GSM 网络或者 LTE 网络。设备安装支持 NB-IoT 的芯片和相应的物联网卡,然后连接到 NB-IoT 基站就可以接入互联网。
    2. NB-IoT 协议不像LoRaWAN 协议那样需要网关进行协议转换,接入的设备可以直接使用 IP 网络进行数据传输。

    NB-IoT 协议相比传统的基站,增益提高了约 20dB,可以覆盖到地下车库、管道、地下室等之前信号难以覆盖的地方。

    https://blog.csdn.net/weixin_45020839/article/details/106660207

  • 相关阅读:
    (AS笔记)Android的原生网络请求工具类——亲测可用
    【数据库原理与应用(第3版)】第一章:数据库系统概论(选择与填空)
    CNN网络测试集准确率始终无法提高
    【ArcGIS Pro二次开发】(69):使用MapTool实现隐藏和隔离图层
    Interceptor内存马
    unity 从UI上拖出3D物体,(2D转3D)
    公众号文章怎么制作?
    ETL可视化工具 DataX -- 安装部署 ( 二)
    深度学习九 —— 手撕 一维离散序列 的线性卷积 和 互相关
    【工作记录】css3 grid布局笔记
  • 原文地址:https://blog.csdn.net/weixin_45020839/article/details/126662132