Emqx-lwm2m
跳转到导航
跳转到搜索
源代码
https://github.com/emqx/emqx-lwm2m
说明
emqx的LwM2M网关插件。此插件通常不需要从源代码安装,直接在EMQX的dashboard的插件页面启用emqx_lwm2m(也可使用源代码ReadMe.md中方式命令启用)。
LwM2M与MQTT 的映射
对与MQTT的应用而言,最主要的部分便是主题(Topic)与负载消息(Payload)。
因此,对于LwM2M网关而言,所有的LwM2M操作均将转换到MQTT的主题与负载消息中。最终用户通过发布MQTT消息下发LwM2M命令、订阅MQTT消息获取LwM2M客户端的上行数据。
注意:下列说明中,{}中的内容为变量,会根据实际情况变化。
主题 | 说明 |
---|---|
lwm2m/{?EndpointName}/up/resp
|
用于LwM2M客户端的上行数据,其中{?EndpointName}为LwM2M客户端名称
|
lwm2m/{?EndpointName}/dn
|
用于向LwM2M客户端发送下行数据,其中{?EndpointName}为LwM2M客户端名称
|
lwm2m/{?EndpiontName}/up/notify
|
用于LwM2M客户端的通知数据,其中{?EndpointName}为LwM2M客户端名称
|
LwM2M网关转换的MQTT消息的负载消息部分通常采用Json格式。
注册/更新 (LwM2M客户端注册接口)
主题 | 负载消息 | 说明 |
---|---|---|
lwm2m/{?EndpointName}/up/resp
|
{
"msgType": {?MsgType},
"data": {
"ep": {?EndpointName},
"lt": {?LifeTime},
"sms": {?MSISDN},
"lwm2m": {?Lwm2mVersion},
"b": {?Binding},
"alternatePath": {?AlternatePath},
"objectList": {?ObjectList}
}
}
|
|
下行命令与上行响应 (设备管理与服务启用接口)
主题 | 负载消息 | 说明 |
---|---|---|
lwm2m/{?EndpointName}/dn
|
{
"reqID": {?ReqID},
"msgType": {?MsgType},
"data": {?Data}
}
|
此MQTT消息主要用于向LwM2M客户端下发命令。
|
lwm2m/{?EndpointName}/up/resp
|
{
"reqID": {?ReqID},
"imei": {?IMEI},
"imsi": {?IMSI},
"msgType": {?MsgType},
"data": {?Data}
}
|
此MQTT消息主要用于LwM2M客户端的响应数据。
|
订阅 (信息上报接口-订阅/取消订阅)
主题 | 负载消息 | 说明 |
---|---|---|
lwm2m/{?EndpointName}/dn
|
{
"reqID": {?ReqID},
"msgType": {?MsgType},
"data": {
"path": {?ResourcePath}
}
}
|
此MQTT消息主要用于向LwM2M客户端下发订阅/取消订阅命令。
|
lwm2m/{?EndpointName}/up/resp
|
{
"reqID": {?ReqID},
"msgType": {?MsgType},
"data": {
"code": {?StatusCode},
"codeMsg": {?CodeMsg},
"reqPath": {?RequestPath},
"content": [
{
"path": {?ResourcePath},
"value": {?Value}
}
]
}
}
|
此MQTT消息主要用于LwM2M客户端的响应数据。
|
通知 (信息上报接口 - 通知)
主题 | 负载消息 | 说明 |
---|---|---|
lwm2m/{?EndpiontName}/up/notify
|
{
"reqID": {?ReqID},
"msgType": {?MsgType},
"seqNum": {?ObserveSeqNum},
"data": {
"code": {?StatusCode},
"codeMsg": {?CodeMsg},
"reqPath": {?RequestPath},
"content": [
{
"path": {?ResourcePath},
"value": {?Value}
}
]
}
}
|
此MQTT消息主要用于LwM2M客户端通知消息。
|