更新时间:2024-05-21 09:16:05下载pdf
本文主要介绍蜂窝标准协议的通信格式及基础功能。涂鸦 LTE Cat.1 模组串口通用协议主要用于涂鸦 LTE Cat.1 模组与其它 MCU 串口直连做串口通信,其架构框如下图所示:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 固定为 0x55aa |
版本 | 1 | 升级扩展用 |
命令字 | 1 | 具体帧类型 |
数据长度 | 2 | 大端 |
数据 | N | - |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
所有大于一个字节的数据均采用大端模式传输。
一般情况下,采用同命令字一发一收同步机制,即一方发出命令,另一方应答,如下图所示。若发送方超时未收到正确的响应包,则超时传输。
若 MCU 发送命令后,模组在 2 分钟内无任何回复,则 MCU 需重启模组。MA510 模组在系统固件 OTA 升级完成后会重启,该重启无法通知 MCU。若 MA510 模组启动时 uart3_tx
为高,则会导致模组无法启动,需 MCU 重启模组。
模组控制命令下发,MCU 状态上报则采用异步模式。假设模组控制命令下发 命令字 为 X,MCU 状态上报 命令字 为 Y,如下所示:
模组下发控制命令:
MCU 上报状态:
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xFF |
数据长度 | 2 | 2+N(版本信息长度) |
数据 | 2+N |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:55 AA 00 FF 00 07 70 24 31 2E 30 2E 31 87
以 15s 的间隔定期发送心跳。若在 90s 超时时间内未收到 MCU 的任何回应,则认为与 MCU 通信异常,模组自动内部软件重启复位。
MCU 也可依据此心跳,定期检测模组是否正常工作。若模组无心跳下发,则 MCU 可通过模组提供的硬件复位引脚来复位模组。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 00 00 0000 ff
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:
0x55aa 03 00 0001 00 03
(MCU 第一次返回)
0x55aa 03 00 0001 01 04
(除第一次外,正常返回)
产品信息由 PID(product ID)和 MCU 软件版本构成。
"x.x.x"
(0 ≤ x
≤ 99),x
为十进制数。模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和得出的结果对 256 求余 |
示例:0x55aa 00 01 0000 00
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x01 |
数据长度 | 2 | N |
数据 | N | {“p”:“AIp08kLIftb8x2x0”, “v”:“1.0.0”, “m”:1, “apn”:“cniot”, “mht”:60, “qr”:1, “slave”:1, “ext_ota”:[ { “ch”:1, “v”:“0.1.1” }, … { “ch”:n, “v”:“0.1.n” }], “U”:0, “dp_cache”:1, “cops”:“xxx” “dp_ack”:1, “online_tts”:0 } 其中 apn 是可选项。如果没有 apn ,系统自动配置 apn 。mht 、qr 、slave 是可选项。 |
校验和 | 1 | 从帧头开始按字节求和得出的结果对 256 求余 |
示例:{"p":"AIp08kLIftb8x2x0", "v":"1.0.0", "m":1}
p
:表示产品 ID 为 AIp08kLIftb8x2x0
。
v
:表示 MCU 版本为 1.0.0。
m
:表示模组的功耗:
0
:正常功耗1
:低功耗,提供的定时器为 1 秒一个周期mht
:表示模组的 MQTT 心跳间隔时间,单位秒。默认心跳间隔 300s。
qr
:表示模组获取扫码配网使用的二维码短码的字段。
qr
字段设置为 1
时,会获取二维码短码。0
时不会获取二维码短码。如果设备已经绑定,不再获取短码地址。slave
:表示低功耗蓝牙搭配 LTE Cat.1 的模式。
ext_ota
:表示附属 MCU 多通道固件版本。v
版本信息最大 10 字节,最多支持 6 组。但是,应用固件和基础固件占用的通道不能用。
U
:表示 MCU OTA 升级方式选择:
0
:协议版本为 0
1
:协议版本为 1
slave
配置时,U
未配置,固定协议版本为 0。slave
配置时,U
有配置,0 表示协议版本 0,1 表示协议版本 1。slave
未配置时,U
未配置,固定协议版本为 0。slave
未配置时,U
有配置,0 表示协议版本 0,1 表示协议版本 1。dp_cache
:是否开启 DP 缓存。开启 DP 缓存需要额外的云端功能。如果您有需求,请联系您的涂鸦客户经理。
1
:开启。cops
:该字段为可选项。设置运营商 PLMN(Public Land Mobile Network)值。该值必须是数字编码。例如 cops:"20416"
,该字段等同于 AT 指令:AT+COPS=1,2, "xxxxx"
。 若为 LTE Cat-M1 模组,联系产品经理确认是否需要设置该值。
dp_ack
:该字段为可选项。1
为开启,开启后下发 DP 数据给 MCU,会进行 ACK 确认,未收到 ACK 会进行重发。最多重发三次,每次等待 ACK 为 500ms。
online_tts
:该字段设置为 1
的时候,表示支持涂鸦在线 TTS(Text-to-Speech)音频功能。该功能只有在模组支持音频服务时才有效。
gps
:GPS 型号,默认为和芯星通 UFirebird。Allystar 为华大 GPS 模组,使用 AGNSS 服务时需指定 GPS 型号。通用对接协议版本为 1.1.3 及以上。
env_pre
:1
表示预发环境,其余为正式环境。通用对接协议版本为 1.1.3 及以上。
net_type
(仅 MA510 支持): 通用对接协议版本为 1.1.4 及以上。
0
或者无该字段时:自动1
:GSM 网络2
:LTE 网络4
:CATM 网络5
:NB-IoT 网络在配置该字段时,需确认模组支持的网络类型
模组工作模式区分设置模组的工作状态以及重置模组方式,分两种情况:
MCU 与模组配合处理:
模组自处理:
NET_MODE
引脚驱动 LED 状态显示。模组自处理模式下,LED 灯只支持 NET_MODE
指示灯。此时,模组不上报设备联网状态。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 00 02 0000 01
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x02 |
数据长度 | 2 |
|
数据 | 0/2 | 数据长度为 2,首字节为模组状态指示 GPIO 序号(固定值为 0)。次字节为模组重置按键 GPIO 序号。 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:
0x55aa 03 02 0000 04
(MCU 与模组配合处理)0x55aa 03 02 0002 0c0d 1f
(模组自处理,指示灯 0x0c
:GPIO12,复位按钮 0x0d
:GPIO13)设备联网状态 | 描述 | 状态值 | 自处理模式状态灯 |
---|---|---|---|
状态 1 | SIM 卡未连接 | 0x00 | 常亮 |
状态 2 | 搜索网络中 | 0x01 | 亮 0.1s,灭 0.3s |
状态 3 | 已成功注册未联网 | 0x02 | 亮 0.1s,灭 1s |
状态 4 | 联网成功并获取到 IP | 0x03 | 亮 0.1s,灭 2s |
状态 5 | 设备已连接到云端 | 0x04 | 亮 0.1s,灭 3s |
状态 6 | SIM 基站注册被拒绝,可能是 SIM 当前的业务未开通 | 0x05 | 亮 0.1s,灭 0.1s |
状态 7 | 设备待配网 | 0x06 | 亮 0.1s,灭 2s |
状态 8 | 未知状态 | 0xFF | - |
1
:SIM 卡未连接2
:搜索网络中3
:已成功注册未联网4
:联网成功并获取到 IP5
:设备已连接到云端6
:是 SIM 基站注册被拒绝,可能是 SIM 当前的业务未开通7
:设备等待配网模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 参考 状态说明 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 00 03 0001 00 03
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 03 03 0000 05
LTE Cat.1 模组接收到重置命令后,解除设备和云端绑定。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 03 04 0000 06
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 00 04 0000 03
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x71 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x41 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x71 |
数据长度 | 2 | 0x0002+n |
数据 | n |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
设备从云端获取二维码短链接后,主动发送给 MCU。该功能一般使用在有屏的设备且需要在屏幕上显示绑定二维码。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0001+N |
数据 | 1+N |
|
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈