使用 EMQX 接入 LwM2M 协议设备

LwM2M 协议介绍

LwM2M 是一种轻量级的物联网设备管理协议,由 OMA(Open Mobile Alliance)组织制定。它基于 CoAP (Constrained Application Protocol)协议,专门针对资源受限的物联网设备设计,例如传感器、智能表计等,它们通常由电池供电,并且 CPU、内存、网络链接资源有限。

协议栈结构

协议栈结构

LwM2M 协议栈有以下几个特点:

  • 应用层除了协议本身定义了一套标准的对象资源模型外,也允许用户进行自定义对象模型。
  • 传输层上一般是常用的 CoAP/UDP,使其在兼顾轻量的前提下,也提供了一定程度的可靠性保证。
  • 传输安全上采用 DTLS 协议,支持 Pre-Shared Key、Raw Public Key、X.509 证书等多种安全模式。
  • 网络层一般以 UDP + IPv4/6 和 SMS 为主,同时也支持将其部署在 NB-IoT、TCP、LoRAWAN 等网络上。

资源模型

资源模型是 LwM2M 协议的核心,它定义了客户端与服务器之间的通信规范。客户端按该定义的数据格式向服务器上报数据,服务器通过资源模型向客户端对应的资源发送读、写、执行等控制命令。

下图展示了客户端(LwM2M Client)、对象(Objects)和资源(Resources)之间的关系,客户端可能有多个类型的资源,每个资源都隶属于某个对象:

资源模型

所有标准的对象和资源都存在一个固定的编号,他们由 OMA LwM2M Registry 进行统一维护。

例如,用于温度传感器类设备的对象 Id 为 3303,它定义了:

  • Resource 5700: Sensor Value (current temperature reading)

    资源 5700:传感器值(当前温度读数)

  • Resource 5701: Sensor Units (units of the temperature reading, e.g., Celsius or Fahrenheit)

    资源 5701:单位(例如,摄氏度或华氏度)

  • Resource 5601: Min Measured Value (minimum recorded temperature)

    资源 5601:最小测量值

  • Resource 5602: Max Measured Value (maximum recorded temperature)

    资源 5602:最大测量值

LwM2M 协议支持在对象和资源上定义允许的操作,例如:

  • Read: 获取资源的当前值
  • Write: 设置新值
  • Execute: 调用定义在资源上的函数
  • Observe/Notify: 订阅该资源值的变化,并实时进行通知

优势和主要应用场景

综上可见,LwM2M 协议的主要优势有:

  • 轻量级:基于 CoAP 和 UDP 协议,网络开销小,适合资源受限设备。
  • 远程管理:定义了多种标准化的资源,支持设备升级、资源状态查询、监控等操作。
  • 灵活的资源模型:LwM2M 的资源模型允许灵活地表示设备能力,可根据具体应用定义自定义资源。
  • 安全性:支持 DTLS 安全传输,确保设备数据的安全性。

主要适用的场景有:

  • 智慧城市:管理路灯、交通传感器和环境监测设备。
  • 交通运输:跟踪和管理车队车辆,优化物流,监控车辆健康状况。
  • 工业物联网:在工厂环境中监控和管理机器、传感器和执行器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值