更新时间:2024-07-30 03:01:05下载pdf
本文介绍 NB-IoT 设备采用 MCU SDK 开发时使用的涂鸦串口协议。
大于 1 字节的数据均采用大端模式传输。
协议中举例数据为十六进制。
NB-IoT 模组主动发起的通信发送包超时时长为 1 秒,重发机制会重发三包。
通常采用同命令字一发一收同步机制,即一方发出命令,另一方应答。若发送方超时未收到正确的响应包,则视为超时传输。
具体通信方式以 协议详述 章节为准。
MCU 状态上报则采用同步模式,MCU 状态上报 命令字 为 y
,如下所示:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 固定为 0x55aa |
版本 | 1 | 升级扩展用 |
命令字 | 1 | 具体帧类型 |
数据长度 | 2 | 大端 |
数据 | N | 数据部分包含网络层传下来的数据,例如 IP 数据包等 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
产品信息由 Product ID 和 MCU 软件版本等构成。
x.x.x
,其中 0 ≤ x
≤ 99,x
为十进制数。模组发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组发送示例
55 aa 00 01 00 00 00
MCU 返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | N |
数据 | N | {"p":"gl9iswyeobu5s93j", "v":"1.0.0", "s":"psm", "c":"isp"} {"p":"gl9iswyeobu5s93j", "v":"1.0.0", "s":"psm", "c":"isp","t":"22092217004703"} |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
数据
参数 | 状态 | 说明 |
---|---|---|
p | 必选 | 产品 ID,即在开发者平台所创建的产品的 PID。 |
v | 必选 | MCU 版本。 |
s | 必选 | 设备的功耗模式。
|
c | 必选 | 设备连接云的方式。
|
t | 可选 | MCU 配置 NB-IoT 模组的 RTC 时间,可在需要比较准确时间的场景中增加该配置,例如严格的本地定时的场景,按以下信息格式:22092217004703 。
|
MCU 返回示例
55 AA 00 01 00 38 7B 22 70 22 3A 22 67 6C 39 69 73 77 79 65 6F 62 75 35 73 39 33 6A 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 2C 22 73 22 3A 22 70 73 6D 22 2C 22 63 22 3A 22 69 73 70 22 7D 02
设备联网状态 | 描述 | 状态值 |
---|---|---|
状态 1 | 搜索 NB-IoT 网络中 | 0x01 |
状态 2 | 已搜索 NB-IoT 网络 | 0x02 |
状态 3 | 已连接到电信平台,设备未绑定 | 0x03 |
状态 4 | 设备已绑定,已连接到云端 | 0x04 |
状态 5 | 设备附着基站被拒绝 | 0x05 |
模组发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 指示 NB-IoT 模组工作状态:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组发送示例
设备已绑定,已连接到云端。
55 aa 00 02 00 01 04 06
MCU 返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 返回示例
55 aa 00 02 00 00 01
设备将会重置一切设置,并刷新模组到出厂状态,然后模组重新向云端请求激活。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 03 00 00 02
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回示例
55 aa 00 03 00 00 02
设备联网状态 必须为 已连接到云端,否则实时状态上报命令将执行失败。
MCU 可以通过实时状态上报命令,将数据的实时状态上报到模组。
使用场景
要求实时推送状态的设备,类似报警器等。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 取决于协议版本,状态数据单元 类型以及个数。 |
数据消息 ID | 2 | 仅支持协议版本 >=0x01,如果协议版本 =0x00 则不包括该字段。 |
数据 | N | 一个或多个组合 状态数据单元 组。 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 当协议版本为 0x00 时,数据长度为 0x0001 当协议版本为 0x01 及以上时,数据长度为 0x0003 |
数据消息 ID | 2 | 仅支持协议版本 0x01 及以上。如果协议版本为 0x00,则不包括该字段 |
数据 | 1 | 0x00 表示成功,0x01 表示失败 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
单个状态数据单元上报样例(协议版本=0x00)
状态数据:DP 109,布尔型变量,数值为 1
。
55 aa 00 05 00 05 6d 01 00 01 01 79
多个状态数据单元上报样例(协议版本 0x00)
状态数据 1:DP 109,布尔型变量,数值为 1
。
状态数据 2:DP 102,字符型变量,数值为 201804121507
(具体传输对应 ASCII 值)。
55 aa 00 05 00 15 6d 01 00 01 01 66 03 00 0c 32 30 31 38 30 34 31 32 31 35 30 37 5d
单个状态数据单元上报样例(协议版本 0x01 及以上)
数据消息 ID:0x00FF。
状态数据:DP 109,布尔型变量,数值为 1
。
55 AA 01 05 00 07 00 FF 6D 01 00 01 01 7B
多个状态数据单元上报样例(协议版本 0x01 及以上)
数据消息 ID:0x0100。
状态数据 1:DP 109,布尔型变量,数值为 1
。
状态数据 2:DP 102,字符型变量,数值为 201804121507
(具体传输对应 ASCII 值)。
55 AA 01 05 00 17 01 00 6D 01 00 01 01 66 03 00 0C 32 30 31 38 30 34 31 32 31 35 30 37 61
MCU 的记录型数据是由多个 DP 组合的整条数据,因此需要整体上报。上报可通过向 NB-IoT 模组发送以下描述的命令。若数据上报时设备断网,这条数据会暂时在模组端存储,在下次网络通畅、有数据上报时,模组会再次上传存储的数据。
00
:推送成功
01
:推送成功但模组存在滞留数据02
:推送失败使用场景
对于类似门锁等包含多个需要上报到服务端、当作整条信息处理的 DP 数据的类记录型的设备,若设备短暂断网,本命令会要求设备暂存无法上报成功的数据,以满足记录型设备的上报需求。命令上报需要带上本地的时间。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 取决于协议版本,状态数据单元 类型以及个数。 |
数据消息 ID | 2 | 仅支持协议版本 >=0x01,如果协议版本 =0x00 则不包括该字段。 |
数据 | 7 | 需要使用 MCU 的时间戳,按以下信息格式:
说明:需要使用模组的时间戳时,只需要将该字段填充 0。模组将自动将内部 RTC 时间填充到记录型数据上。 |
模组发送 | N | 一个或多个组合 状态数据单元 组 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
单个状态数据单元(协议版本 0x00)
DP 109,布尔型变量,数值为 1。以模组内部 RTC 时间为准。
55 aa 00 08 00 0c 00 00 00 00 00 00 00 6d 01 00 01 01 d1
多个状态数据单元(协议版本 0x00)
状态数据 1:DP 109,布尔型变量,数值为 1
。
状态数据 2:DP 102,字符型变量,数值为 201804121507
(具体传输对应 ASCII 值)。以服务端时间为准。
55 aa 00 08 00 1c 00 00 00 00 00 00 00 6d 01 00 01 01 66 03 00 0c 32 30 31 38 30 34 31 32 31 35 30 37 a7
单个状态数据单元(协议版本 0x01 及以上)
数据消息 ID:0x00FF。
DP 109,布尔型变量,数值为 1。以模组内部 RTC 时间为准。
55 AA 01 08 00 0E 00 FF 00 00 00 00 00 00 00 6D 01 00 01 01 85
多个状态数据单元(协议版本 0x01 及以上)
数据消息 ID:0x0100。
状态数据 1:DP 109,布尔型变量,数值为 1
。
状态数据 2:DP 102,字符型变量,数值为 201804121507
(具体传输对应 ASCII 值)。以服务端时间为准。
55 AA 01 08 00 1E 01 00 00 00 00 00 00 00 00 6D 01 00 01 01 66 03 00 0C 32 30 31 38 30 34 31 32 31 35 30 37 6B
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 当协议版本为 0x00 时,数据长度为 0x0001 当协议版本为 0x01 及以上时,数据长度为 0x0003 |
数据消息 ID | 2 | 仅支持协议版本为 0x01 及以上。如果协议版本为 0x00,则不包括该字段 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
命令下发 为异步处理协议,MCU 收到相关控制包,确认接收到回复下发包后,完成相关的控制动作。MCU 状态反馈通过 MCU 的 状态上报 实现。
模组发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 取决于 命令数据单元 类型以及个数。 |
数据 | N | 命令数据单元 组。 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组发送信息示例
系统开关对应 3 号 DP,使用布尔型变量,开机数值为 1。
55 aa 00 09 00 05 03 01 00 01 01 13
MCU 返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 返回信息示例
55 aa 00 09 00 00 08
命令或状态数据单元
Datapoint 命令/状态数据单元如下所示。
数据字段属性 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 设备功能序号 |
type | 1 | 对应开放平台上设备功能具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
除 Raw 类型的 DP 状态数据单元外,其他类型均属于 Obj 型。状态数据 可含多个 DP 命令数据单元。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 06 00 00 05
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0x0008 |
数据 | Data | 数据长度为 8 字节:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回示例
本地时间:18 年 9 月 17 日 16 时 9 分 5 秒星期一。
如设备在国内激活使用,则当地时间为北京时间 (东 8 区)。
如果设备在国外激活使用,则当地时间为设备所处时区时间。
55 aa 00 06 00 08 01 12 09 11 10 09 05 01 59
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 10 00 00 0F
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x0008 |
数据 | 8 | 数据长度为 8 字节:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回示例
格林威治时间:2018 年 9 月 17 日 8 时 21 分 3 秒 星期一。
55 aa 00 10 00 08 01 12 09 11 08 15 03 01 65
查询设备 NB-IoT 的信号强度。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0b |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 0b 00 00 0a
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0b |
数据长度 | 2 | 0x0002 |
数据 | 2 | Data[0] 取值:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回示例
55 aa 00 0b 00 02 01 50 5D
查询 NB-IoT 模组的剩余内存。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0f |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 0f 00 00 0e
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0f |
数据长度 | 2 | 0x0004 |
数据 | 2 | Data[0-3]:剩余 RAM 内存,单位字节 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回示例
55 aa 00 0f 00 04 00 01 F4 00 07
查询设备是否已经被用户绑定。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbb |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 bb 00 00 0a
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbb |
数据长度 | 2 | 0x0001 |
数据 | 1 | 数据长度为 1 字节。
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
55 aa 00 bb 00 01 01 bc
MCU 将睡眠锁设置为 1 后,模组将禁止进入睡眠。设置为 0 后,模组将自动在 IDLE 进入 PSM 模式低功耗待机。在 PSM 模式下,可以拉低 PSM-INT 引脚,唤醒模组。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb2 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 数据长度为 1 字节
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 b2 00 01 01 00
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb2 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 0 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
55 aa 00 b2 00 00 b1
用户可以根据自己的业务需求,设置模组的 NB-IoT 网络心跳周期,默认心跳间隔是 8 小时。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb3 |
数据长度 | 2 | 0x0004 |
数据 | 4 | uint32_t 类型,单位为秒,大端格式 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
设置心跳间隔为 1 小时。
55 aa 00 b3 00 04 00 00 0e 10 da
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb3 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
55 aa 00 b3 00 01 01 b4
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xc1 |
数据长度 | 2 | 0x0004 |
数据 | 4 | uint32_t 类型,单位为秒,大端格式。 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
设置下一次唤醒间隔为 3 分钟。
55 aa 00 c1 00 04 00 00 00 b4 78
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xc1 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
55 aa 00 c1 00 01 01 c2
通过设置网络心跳间隔时间,模组将周期性地自动发送心跳包,本命令可以由 MCU 控制主动发送一个心跳包,以用于主动同步下发数据。在通常情况下,可以由 实时状态上报(例如上报电量)替代本命令的功能。
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb1 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 B1 00 00 B0
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb1 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息
55 AA 00 B1 00 01 01 B2
设备联网状态 | 描述 | 状态值 |
---|---|---|
状态 1 | 搜索 NB-IoT 网络中 | 0x01 |
状态 2 | 搜索到 NB-IoT 网络 | 0x02 |
状态 3 | 已连接到电信平台,设备未绑定 | 0x03 |
状态 4 | 设备已绑定,已连接到云端 | 0x04 |
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2b |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送示例
55 aa 00 2b 00 00 2c
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2b |
数据长度 | 2 | 0x0001 |
数据 | 1 | 指示 NB-IoT 模组工作状态:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
设备已绑定,已连接到云端。
55 aa 00 2b 00 01 04 2f
对于使用电池供电的设备,在模组进行固件升级时,固件升级过程意外断电将可能会导致模组无法正常工作,因此需要电池剩余足够的电量,以便完成整个升级过程。
当用户 App 触发升级模组且下载完固件后,App 会向 MCU 询问电池电量是否正常。厂商需要根据硬件设计,确定一个电池电量充足的阈值(通常为大于 50%)来应答模组。
不使用电池供电的设备可以直接应答非低电量状态后开始升级。
模组发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbc |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组发送信息示例
55 AA 00 BC 00 00 BB
MCU 返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbc |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 返回信息示例
55 AA 00 BC 00 01 01 BD
设备运行状态 | 描述 | 状态值 |
---|---|---|
状态 1 | 设备初始化中 | 0x00 |
状态 2 | 设备识别到 SIM 卡 | 0x01 |
状态 3 | 设备正常运行中 | 0x02 |
状态 4 | 设备被绑定 | 0x03 |
状态 5 | 设备被解绑 | 0x04 |
状态 6 | 设备成功下载 schema | 0x05 |
状态 7 | 设备正准备进入睡眠 | 0x06 |
状态 8 | 设备正准备重启 | 0x07 |
状态 9 | 设备正在重置 | 0x08 |
状态 10 | NB-IoT 模组 FOTA 下载开始 | 0x09 |
状态 11 | NB-IoT 模组 FOTA 下载完成 | 0x0A |
状态 12 | NB-IoT 模组 FOTA 下载失败 | 0x0B |
状态 13 | NB-IoT 模组 FOTA 更新开始 | 0x0C |
状态 14 | NB-IoT 模组 FOTA 更新成功 | 0x0D |
状态 15 | NB-IoT 模组 FOTA 更新失败 | 0x0E |
状态 16 | NB-IoT 模组 schema 下载开始 | 0x0F |
状态 17 | NB-IoT 模组 schema 下载失败 | 0x10 |
模组发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbe |
数据长度 | 2 | 0x0001 |
数据 | 1 | 指示 NB-IoT 模组运行状态:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组发送信息
设备正常运行中。
55 aa 00 be 00 01 02 c0
设备运行状态 | 描述 | 状态值 |
---|---|---|
状态 1 | 设备初始化中 | 0x00 |
状态 2 | 设备识别到 SIM 卡 | 0x01 |
状态 3 | 设备正常运行中 | 0x02 |
状态 4 | 设备被绑定 | 0x03 |
状态 5 | 设备被解绑 | 0x04 |
状态 6 | 设备成功下载 schema | 0x05 |
状态 7 | 设备正准备进入睡眠 | 0x06 |
状态 8 | 设备正准备重启 | 0x07 |
状态 9 | 设备正在重置 | 0x08 |
状态 10 | NB-IoT 模组 FOTA 下载开始 | 0x09 |
状态 11 | NB-IoT 模组 FOTA 下载完成 | 0x0A |
状态 12 | NB-IoT 模组 FOTA 下载失败 | 0x0B |
状态 13 | NB-IoT 模组 FOTA 更新开始 | 0x0C |
状态 14 | NB-IoT 模组 FOTA 更新成功 | 0x0D |
状态 15 | NB-IoT 模组 FOTA 更新失败 | 0x0E |
状态 16 | NB-IoT 模组 schema 下载开始 | 0x0F |
状态 17 | NB-IoT 模组 schema 下载失败 | 0x10 |
MCU 发送信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbf |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 aa 00 bf 00 00 be
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xbf |
数据长度 | 2 | 0x0001 |
数据 | 1 | 指示 NB-IoT 模组运行状态:
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
设备识别到 SIM 卡。
55 aa 00 bf 00 01 01 c0
本命令可以由 MCU 控制主动发送指令包,使模组立刻进入睡眠状态。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xc0 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 C0 00 00 BF
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xc0 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
55 AA 00 C0 00 00 BF
MCU 主动发送,解锁模组并使之允许进入 PSM 状态。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb4 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 B4 00 00 B3
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xb4 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
55 AA 00 B4 00 00 B3
由 MCU 主动发送,可立即重启 NB-IoT 设备。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC4 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 C4 00 00 C3
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC4 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
55 AA 00 C4 00 00 C3
由 MCU 主动发送,可查询 NB-IoT 的网络心跳间隔时间。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC7 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 C7 00 00 C6
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC7 |
数据长度 | 2 | 0x0004 |
数据 | 4 | LifeTime 心跳时间 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
55 AA 00 C7 00 04 00 00 70 80 BA
由 MCU 主动发送,可配置 NB-IoT 模组首次启动的离散信息。该功能仅针对首次上电驻网,使设备错峰启动、优化网络阻塞问题,可用于安装比较密集的产品中。
请酌情使用该功能。若设备采用主动断电的场景,禁用该功能。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xCb |
数据长度 | 2 | N |
数据 | N | {"enable": 1,"duration": 360,"step": 1}
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 发送信息示例
55 AA 00 CB 00 27 7B 22 65 6E 61 62 6C 65 22 3A 20 31 2C 22 64 75 72 61 74 69 6F 6E 22 3A 20 33 36 30 2C 22 73 74 65 70 22 3A 20 31 7d 9F
模组返回信息
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xCb |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回信息示例
55 AA 00 CB 00 01 00 CB
版本 | 日期 | 说明 |
---|---|---|
0.6.19 | 2023.03.23 | 增加联网状态 5。通讯协议版本号升级至 0x01,支持用户记录及非记录型数据上报消息 ID。 |
0.6.18 | 2022.10.18 | 增加 MCU 配置 RTC 时间,增加离散功能。 |
0.6.17 | 2022.04.20 | 增加 FOTA 与 schema 下载状态与下载进度查询、T3324 查询、T3412 查询、LifeTime 查询。 |
0.6.16 | 2022.01.25 | 增加文件百分比、查询内存、PSM、T3412 等命令协议。 |
0.6.15 | 2022.01.21 | 更新 MCU 文件下载服务,支持自定义请求下载文件。 |
0.6.14 | 2021.11.13 | 更新 MCU 升级服务,MCU 判断 CRC32 结果,兼容旧协议。 |
0.6.13 | 2021.11.02 | 增加 MCU 升级服务,支持 MCU OTA 断点升级。 |
0.6.12 | 2021.04.01 | 增加波特率 9600/115200 自适应说明。 |
0.6.11 | 2020.11.30 | 增加记录型数据使用 MCU 时间戳。 |
0.6.10 | 2020.11.19 | 新增设置设备 APN 命令。 |
0.6.9 | 2020.11.16 | 更新设置心跳时间间隔的返回状态。 |
0.6.8 | 2020.08.17 | 更新 MCU 获取查询模组 NB-IoT 网络强度中数据呈现形式。 |
0.6.7 | 2020.08.13 | 查询产品信息中,新增功耗模式及云连接方式返回。 |
0.6.6 | 2020.07.27 | 新增记录型数据唤醒时间功能。 |
0.6.5 | 2020.05.14 | 获取/发送设备运行状态信息命令中,新增 SIM 卡识别成功,设备绑定,解绑,schema 下载完成等状态。 |
0.6.4 | 2020.04.28 | 新增获取/发送设备运行状态信息命令。新增发送强制设备进入睡眠命令。 |
0.6.3 | 2020.04.16 | 新增发送设备 IMEI 信息命令。 |
0.6.2 | 2019.11.09 | 新增发送心跳包命令。 |
0.6.1 | 2019.09.05 | 更新记录型上报协议中的时间字段规则。 |
0.6.0 | 2019.06.24 | 更新 Wi-Fi 相关信息。 |
0.5.2 | 2019.03.20 | 更新睡眠锁说明。 |
0.5.1 | 2019.03.08 | 继承 Wi-Fi 通用门锁。 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈