- 最新动态
- 产品介绍
- 快速入门
- 用户指南
- 开发指南
-
API参考
- 北向API参考
- 北向JAVA SDK API参考
- 北向PHP SDK API参考
- 北向Python SDK API参考
- Agent Lite API参考(Android)
- Agent Lite API参考(C)
- Agent Lite API参考(Java)
- MQTT接口参考
-
常见问题
- 常见问题导航
- 产品规格
- 产品使用
-
二次开发
-
产品开发常见问题
- Profile定义
- 插件开发
-
设备开发
- 在物联网平台注册完设备,真实设备无法接入物联网平台
- 终端设备接入物联网平台时,出现513错误
- 物联网平台支持的DTLS加密算法有哪些
- AT+CGDCONT=1,"IP","CTNB" 中 CTNB 是什么
- 设备如何选择PSM、DRX、eDRX模式
- 设备收不到平台下发的命令
- 设备已经上报数据,但是物联网平台未收到
- 设备上报了数据,且日志无报错,但在历史数据中没有数据
- 设备收到命令需要多长时间
- 设备上报数据后,收不到物联网平台回复的数据上报响应
- 设备在一个位置上报数据成功,在另一个位置上报失败
- 设备上报了命令执行结果,但是命令状态未切换为成功
- 物联网平台支持大小端模式切换吗
- 省电模式DRX模式,设备1-2天未上报数据,下发命令失败
-
应用开发常见问题
-
接口调用
- 本地可以成功调用物联网平台的鉴权接口,但是在应用服务器调用失败
- 应用服务器调用接口报错如何定位
- 在线应用模拟器下发命令失败
- 模拟器下发命令成功,调用API下发命令失败
- 应用服务器下发命令失败,收到403的错误,提示回调地址冲突
- 应用服务器如何下发缓存命令
- 历史命令中显示的超期是什么意思
- 物联网平台下发命令有重发机制吗
- 历史命令中显示超时是什么意思
- 平台能批量下发命令吗
- 平台接口只能用Java调用吗
- 物联网平台的命令状态总共有几种
- 调用注册设备接口失败
- 之前调用接口成功,一段时间后参数不变,但是调用接口失败
- 之前对单个设备下发命令成功,一段时间后下发命令失败
- 历史数据中有数据,但是调用查询设备历史数据接口没有返回值
- 通过调用接口在物联网平台注册设备,一段时间后注册设备被平台删除
-
订阅与推送
- 调用订阅接口时,提示回调地址不合法
- 调用删除单个订阅接口时,subscriptionId如何获取
- 应用服务器收不到平台推送的数据
- 如何导出https推送证书
- 设备数据变化通知和批量设备数据变化通知的区别是什么
- 应用服务器如何获取设备的IMEI号
- 应用服务器收到数据,但是平台显示推送失败
- 历史数据中有数据,但是有时能推送到应用服务器,有时推不到
- 应用服务器如何获取物联网平台推送消息时使用的地址
- 物联网平台是否具有重推机制
- 应用服务器如何收到命令状态变化的通知
- 已订阅消息确认通知和命令响应通知,为何应用服务器收不到推送消息
- 物联网平台只支持HTTPS的回调地址吗
- 在同一个应用下,物联网平台可以将不同设备上报的数据,推送到两个服务器吗
- 订阅地址可以用域名吗
- 回调地址可以修改吗
- 调用订阅接口时,回调地址如何获取
-
接口调用
- 软/固件升级常见问题
- 其他常见问题
-
产品开发常见问题
- 通用参考
链接复制成功!
固件升级
LwM2M的固件升级对象使得固件升级的管理成为可能。固件升级对象包括安装固件包、更新固件、以及更新固件之后执行的其它动作。成功进行了固件升级后,device必须要重启,以使新的固件生效。
在设备重启之后,如果“Packet”资源包含了一个合法的但还未被安装的固件包,“State”资源必须为<Downloaded>状态, 否则须为<Idle>状态。
在设备重启之前,标识更新结果的相关数值必须保存。
固件升级对象定义
Name |
Object ID |
Instances |
Mandatory |
Object URN |
---|---|---|---|---|
Firmware Update |
5 |
Single |
Optional |
rn:oma:LwM2M:oma:5 |
固件升级对象的资源定义
ID |
Name |
Operations |
Instances |
Mandatory |
Type |
Range or Enumeration |
Description |
---|---|---|---|---|---|---|---|
0 |
Package |
W |
Single |
Mandatory |
Opaque |
- |
固件包。 |
1 |
Package URI |
W |
Single |
Mandatory |
String |
0-255 bytes |
固件包的下载URI。 |
2 |
Update |
E |
Single |
Mandatory |
none |
no argument |
更新固件。 只有当State资源是Downloaded状态时,该资源才是可执行的。 |
3 |
State |
R |
Single |
Mandatory |
Integer |
0-3 |
固件升级的状态。这个值由客户端设置。0: Idle (下载之前或者成功更新之后) 1: Downloading (下载中) 2: Downloaded (下载已完成) 3: Updating (更新中)在Downloaded状态下,如果执行Resource Update操作,状态则切换为Updating。 如果更新成功,状态切换为Idle;如果更新失败,状态切换回Downloaded。 |
4 |
Update Supported Objects |
RW |
Single |
Optional |
Boolean |
- |
默认值是false。 如果该值置为true,则固件成功更新了之后,客户端必须通过更新消息或注册消息,向服务器通知Object的变动。 如果更新失败了,Object参数通过下一阶段的更新消息报告。 |
5 |
Update Result |
R |
Single |
Mandatory |
Integer |
0-8 |
下载/更新固件的结果: 0: 初始值。一旦开始更新流程(下载/更新)开始,该资源的值必须被置为0。 1: 固件升级成功 2: 没有足够空间存储新固件包 3: 下载过程中内存不足 4: 下载过程中连接丢失 5: 新下载的包完整性检查失败 6: 不支持的包类型 7: 不合法的URI 8: 固件升级失败该资源可以通过Observe操作上报。 |
6 |
PkgName |
R |
Single |
Optional |
String |
0-255 bytes |
固件包的名字。 |
7 |
PkgVersion |
R |
Single |
Optional |
String |
0-255 bytes |
固件包的版本。 |
固件升级状态机
固件升级状态之间的变换关系如图所示:

固件升级流程
固件升级流程如图所示:
