lwm2m-轻型物联网

创建对象

轻型物联网协议,提供在云平台管理设备的功能,例如检查设备在线状态,观测当前信号情况,重启设备等。

以下型号支持此模块功能,对于定制的功能,根据实际功能为准:

EC200UEU_AB_SANX/BG95M8_SANX/EC200AAU_HA_SANX/EG912NEN_AA。

lwm2m

lw=lwm2m()

创建lwm2m对象。

参数描述:

无参数。

返回值描述:

返回lwm2m对象。

初始化对象

lwm2m.init

lwm2m.init()

初始化对象。

参数描述:

无参数。

返回值描述:

成功返回整型数值0,失败返回整型数值-1。

配置对象

lwm2m.config

lwm2m.config(config_type,config_list)

配置功能模块参数。

参数描述:

  • config_type - 配置类型 ,枚举型,lwm2m对象下的枚举数值,详见下表。
配置类型 对应的config_list参数 备注
lwm2m.Epnamemode [mode]
lwm2m.Reset [] 空list
lwm2m.Security [serverID,SSID,server_addr,bootstrap,security_mode,psk_id,psk_key]
lwm2m.Server [serverID,life_time,pmin,pmax,disable_timeout,storing,binding_mode]
lwm2m.Urc [URC_onoff] 如果要抓取URC,必须配置开启
lwm2m.Fota [download,update] 如果要抓取URC,配置成均不自动
  • config_list - 配置参数列表 ,列表数据类型,列表元素值详见下表。
字段名 字段类型 字段说明
serverID 整型 0 - Bootstrap server
1 - DM server
SSID 整型 100 - Bootstrap server
1000 - Diagnostics server
server_addr 字符串 服务器地址,格式为:"address:port",最长支持256
bootstrap 整型 0 - 不用bootstrap(仅当serverID不为0)
1 - 使用bootstrap (仅当serverID为0)
security_mode 整型 加密方法:
0 - Pre-share key mode
3 - No security mode
psk_id 字符串 security_mode为0时有用
psk_key 字符串 security_mode为0时有用
life_time 整型 生存时间,取值范围1~86400,默认值86400,单位秒
pmin 整型 pmin默认周期,取值范围1~86400,默认值86400,单位秒
pmax 整型 pmax默认周期,取值范围1~86400,默认值86400,单位秒
disable_timeout 整型 与 LwM2M 服务器断开连接后到下一个连接的时间间隔。范围为 1-86400,默认值为 86400,单位为秒
实测断开后可以立刻启动连接,功能无效(上送给服务端的,服务端未限制)
storing 整型 是否保存服务器信息
0 - 不保存
1 - 保存
binding_mode 字符串 和服务器连接方式,目前仅支持基于UDP的连接方式
"U" - UDP方式
"UQ" - UDP有队列模式方式
"S" - SMS方式
"SQ" - SMS有队列模式方式
"US" - UDP和SMS方式
"UQS" - UDP和SMS有队列模式方式
mode 整型 终端设备名字格式
3 - 格式为: urn:imei:xxxxx,配置epname格式
download 整型 下载模式
0 - 手动下载
1 - 自动下载
update 整型 更新模式
0 - 手动更新
1 - 自动更新
URC_onoff 整型 是否开启lwm2m的urc上报
0 - 禁用URC上报
1 - 启用URC上报

返回值描述:

成功返回整型数值0,失败返回整型数值-1,不支持返回整型数值-2。

注册

lwm2m.register

lwm2m.register()

向lwm2m服务器发送登录请求,登录成功或失败结果会通过回调函数上送登录成功消息。

参数描述:

无参数

返回值描述:

执行成功返回0,执行失败返回-1。注册结果需要调用查询接口进行查询。

注销

lwm2m.unregister

lwm2m.unregister()

向lwm2m服务器发送退出登录请求,成功或失败结果通过回调函数进行通知。

参数描述:

无参数。

返回值描述:

执行成功返回0,执行失败返回-1。注销结果需要调用查询接口进行查询。

查询注册状态

lwm2m.stat

lwm2m.stat()

查询当前登录状态。

参数描述:

无参数。

返回值描述:

未注册状态返回整型值0,注册中状态返回整型值1,已注册状态返回整型值2,注销中状态返回整型值3,登录失败状态返回整型值4。

发送心跳

lwm2m.update

lwm2m.update(ssid)

向lwm2m服务器发送心跳包,内部会有自动心跳流程,不建议主动调用此接口。

参数描述:

  • ssid - 配置的ssid或者是BS登录阶段BS下发的ssid,整型值。

返回值描述:

成功返回整型值0,失败返回整型值-1。update结果通过回调函数通知。

注册回调函数

lwm2m.register_call

lwm2m.register_call(usrfun)

注册回调函数,此回调函数会通知上层应用登录结果,以及服务器下发的消息。

参数描述:

  • usrfun - 设置消息回调函数,function类型,当服务端响应时触发该方法。

回调函数参数

  • list - 回调函数通知消息数据,list类型,详细介绍如下:
元素 数据类型 备注
list[0] 整型 事件类型(可以不处理忽略)
list[1] 整型 事件编码(可以不处理忽略)
list[2] 整型 抓取到的URC字符串数据(具体事件说明请参考事件说明,以此参数判断Lwm2m的连接事件为准

返回值描述:

成功返回0,失败返回-1。注意如果要删除已经注册的回调函数,传入参数None。

事件说明

事件类型不同的平台可能稍有不同,例如APN某些平台没有,不影响功能,不影响使用。

事件类型 说明 备注
+QLWURC: "pdp active",result,apn PDP的激活结果。在向lwm2m发送注册请求之前,应激活 PDP 服务器 result:string类型
"successfully"
"failed"
apn:string类型
APN值
+QLWURC: "initial",result,ssid 客户端与lwm2m服务器连接的初始化结果 result:string类型
"successfully"
"failed"
ssid:整型类型
0-所有的服务器
其他值-其他的特殊服务器
+QLWURC: "dtls",result,ssid 使用加密方法时的DTLS握手结果 同上
+QLWURC: "bootstraping" 当 Bootstrap 工作时,将报告此 URC
+QLWURC: "bootstrap",result,ssid Bootstrap 的工作结果 同上
+QLWURC: "registering" 当客户端在lwm2m服务器上注册时将报告此 URC 同上
+QLWURC: "ready",result,ssid 向lwm2m服务器发送注册请求后的注册结果 同上
+QLWURC: "update",result,ssid 向lwm2m服务器发送更新请求后的更新结果 同上
+QLWURC: "deregister",ssid,code
+QLWURC: "deregister",code
向lwm2m服务器发送注销请求后的注销结果 ssid:整型类型
0-所有的服务器
其他值-其他的特殊服务器
code:整型
0 - 成功
1 - 失败
3 - 未知错误
+QLWURC: "fota/pkgurl",url lwm2m服务器下发的url地址
+QLWURC: "apn_changed",APN lwm2m服务器下发的apn值
+QLWURC: "user_name_changed",user lwm2m服务器下发的用户名
+QLWURC: "secret_changed",password lwm2m服务器下发的密码
+QLWURC: "authentication_type_changed", lwm2m服务器下发的鉴权方式
+QLWURC: "lifetime_changed",lifetime lwm2m服务器下发的存活周期(心跳周期)
+QLWURC: "current_time_changed",data_time lwm2m服务器下发的时间戳

获取示例代码

点击下载示例代码