
# LwM2M/CoAP协议接入
#### 概述
LwM2M（Lightweight M2M，轻量级M2M），由开发移动联盟（OMA）提出，是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务。LwM2M为物联网设备的管理和应用建立了一套标准，它提供了轻便小巧的安全通信接口及高效的数据模型，以实现M2M设备管理和服务支持。
LwM2M/CoAP协议鉴权支持加密与非加密两种接入方式，若设备采用非加密方式接入时，非加密端口为5683，在设备接入物联网平台时携带设备唯一标识nodeId，完成设备的接入鉴权；当设备采用加密方式接入时，加密业务数据交互端口为5684，使用DTLS/DTLS+传输层安全协议通道接入，并携带nodeId和密钥以完成设备的接入鉴权。
物联网平台从安全角度考虑，强烈建议采用安全接入方式。
![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
LwM2M的语法和接口细节，请以此[标准规范](https://openmobilealliance.org/release/LightweightM2M/V1_1-20171208-C/)为准。
物联网平台支持协议规定的plain text, opaque, Core Link ,TLV , JSON编码格式。在多字段操作时（比如写多个资源），默认用TLV格式。
#### 使用限制
表1LwM2M/CoAP协议接入使用限制 
| 描述           | 限制                                                                                |
|:---|:---|
| 支持的LwM2M协议版本 | 1.1                                                                               |
| 支持的DTLS版本    | DTLS 1.2                                                                          |
| 支持的加密算法套件    | TLS_PSK_WITH_AES_128_CCM_8，TLS_PSK_WITH_AES_128_CBC_SHA256                        |
| 支持的body体最大长度 | 1KB                                                                               |
| 接口规格说明       | 请参考[产品规格说明](https://support.huaweicloud.com/productdesc-iothub/iot_04_0014.html)。 |
   
#### 调用说明
物联网平台的Endpoint请参见：[地区和终端节点](https://support.huaweicloud.com/devg-iothub/iot_02_1004.html#section0)。
![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
使用"设备接入-\> CoAP (5683)\| CoAPS (5684)"对应的Endpoint，端口为5683（非加密接入方式）或者5684（加密接入方式）。
#### 使用LwM2M/CoAP协议接入的鉴权流程
图1LwM2M/CoAP协议接入鉴权流程图   
![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002338968345.png "点击放大")
1. 通过调用注册接口向物联网平台发送注册请求或者在控制台上注册设备。
2. 物联网平台向设备分配密钥，返回timeout。
   ![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
   - 密钥可以在注册设备时自定义，如果没有定义，平台将自动分配预置密钥。
   
   - timeout是指超时时间，若设备在有效时间未接入物联网平台，则平台会删除该设备的注册信息。
     
3. 设备登录时，安全设备携带设备唯一标识码nodeId（如IMEI）和密钥发起接入鉴权请求；非安全设备携带设备唯一标识码nodeId发起接入鉴权请求。
4. 平台验证通过后，返回成功响应，设备连接物联网平台成功。
 
#### LWM2M/CoAP协议设备接入开发流程
1. 平台侧开发：包括创建产品、开发产品模型、开发编解码插件、注册设备。详细操作指导请参考[创建产品](https://support.huaweicloud.com/devg-iothub/iot_01_0053.html)、[开发产品模型](https://support.huaweicloud.com/devg-iothub/iot_02_0005.html)、[开发编解码插件](https://support.huaweicloud.com/devg-iothub/iot_02_0008.html)、[注册单个设备](https://support.huaweicloud.com/usermanual-iothub/iot_01_0031.html)。
2. 设备侧开发：使用模组、设备侧Tiny SDK接入。详细操作指导请参考[通过华为认证模组接入](https://support.huaweicloud.com/devg-iothub/iot_02_2134.html)、[IoT Device SDK Tiny使用指南（C）](https://support.huaweicloud.com/sdkreference-iothub/iot_02_9980.html)
 
#### 相关最佳实践
[基于NB-IoT小熊派开发智慧路灯](https://support.huaweicloud.com/bestpractice-iothub/iot_bp_0007.html)
#### 相关FAQ
LWM2M/CoAP协议接入热点咨询问题如下：
- [如何检测NB网络信号？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section1)
- [NB模组附着网络失败如何处理？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section2)
- [NB模组绑定设备失败怎么办？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section3)
- [NB模组无法正常上报数据怎么办？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section4)
- [NB设备接入时，出现513错误？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section5)
- [同一个NB卡，使用一个设备能上报，在另一个设备里无法上报？](https://support.huaweicloud.com/iothub_faq/iot_faq_01005.html#section6)
 
