功能控制服务

更新时间:2024-07-17 06:19:36下载pdf

本文介绍蜂窝标准协议下的功能控制模块的相关指令说明。

启动或关闭蓝牙控制(0x72 89)

在设备注册后,可以启动或关闭蓝牙连接。默认启动蓝牙连接。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x89
  • 控制命令:0x01 启动,0x00 关闭
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x89
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

获取模组 MAC(0x2d)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x2d
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x2d
数据长度 2 0x0007
数据 7
  • Data[0] 为获取 MAC 地址是是否成功的标志:
    • 0x00 表示成功,表示后面 6 字节的 MAC 地址有效。
    • 0x01 表示获取 MAC 失败,表示后面 6 字节的 MAC 无效。
  • Data[1]~Data[6] 则表示模组有效的 MAC 地址。

启动或关闭设备低电压关机功能(0x72 88)

启动或关闭电池供电情况下低电压关机功能,默认处于关闭状态。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x88
  • 控制命令:0x01 启动,0x00 关闭
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x88
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

设置模组网络状态持续异常的时间后重启(0x72 96)

用于模组网络在连续一定时间内无法驻网或者拨号成功,执行设备重启。

  • 当前可设置的最小时间 180 秒(误差在 60 秒内)。
  • 如果持续时间是 0 秒,表示关闭该功能。设置进入飞行模式、未插入 SIM 卡、未开始拨号不重启设备。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0003
数据 3
  • Data[0] 子命令:0x96
  • Data[1]-Data[2] 连续异常时间单位秒,高字节在前
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x96
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组重启(0x72 98)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0001
数据 1 Data[0] 子命令:0x98
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组自动直接重启。

蜂窝告警事件上报(0x71 9a)

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • Data[0] 子命令:0x9A
  • Data[1] 类型:
    • 1:网络注册错误
    • 2:网络 PDP 激活错误
    • 3:TCP 网络无法连接(连接云端后网络异常才会上报)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

外部唤醒管脚配置(0x72 9b)

针对新增模组外部唤醒管脚变化时进行配置。目前 LZ501、LZ201 和 LZ211 已经默认配置,不需要使用此命令。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0003
数据 3
  • 子命令:0x9B
  • GPIO 管脚:1 字节
  • 低电平持续时间:1 字节(10ms 单位)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x9B
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

配置远程日志开关(0x72 9c)

默认关闭,记录到 KV 存储中。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2 子命令:0x9C
  • 00:关闭
  • 01:开启
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x9C
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

通知 MCU 主动重启设备(0x72 9d)

仅支持 MA510 模组。

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0001
数据 1 子命令:0x9D
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

MCU 返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x9D
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

SIM 卡热插拔使能控制(0x72 9e)

默认状态以模组实际状态为准,开启后会保存到 KV 存储。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0001
数据 1
  • 子命令:0x9E
  • 控制:
    • 1:使能
    • 0:关闭
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x9E
  • 状态:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

ADC 指令控制(0x72 A0)

  • 开启定时读取时设置读取周期为 0,或者单次读取,都会停止定时读取。
  • 通用对接协议版本 1.1.3 及以上支持。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0003 + 2/1/3/0
数据 0x0003 + 2/1/3/0
  • 子命令:0xA0
  • 控制字:
    • 0x0:ADC 初始化
    • 0x1:ADC 单次读取
    • 0x2:ADC 设置定时读取
    • 0x4:ADC 去初始化
  • Port(1 个字节)
  • 控制字为 0 时:
    • 参考电压(2 个字节)
  • 控制字为 1 时:
    • 读取次数(1 个字节)
  • 控制字为 2 时:
    • 读取周期(2 个字节),单位 ms
    • 读取次数(1 个字节)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0003 + 2/(2+2N)/1/(2+2N)/1
数据 0x0003 + 2/(2+2N)/1/(2+2N)/1
  • 子命令:0xA0
  • 控制字:
    • 0x0:ADC 初始化
    • 0x2:ADC 设置定时读取
    • 0x10x3:ADC 上报
    • 0x4:ADC 去初始化
  • Port(1 个字节)
  • 控制字为 2/4 时:
    • 结果(1 个字节):0 表示成功,1 表示失败
  • 控制字为 1/3 时(1+2N 字节 ):
    • 结果(1 个字节):0 表示成功,1 表示失败
    • 读取次数(1 个字节):N
    • ADC 值(2 个字节*N)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

GPIO 指令控制(0x72 A1)

通用对接协议版本 1.1.3 及以上支持。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0003+3/0/1/0/5
数据 0x0003+3/0/1/0/5
  • 子命令:0xA1
  • 控制字:
    • 0x0:GPIO 初始化
    • 0x1:GPIO 去初始化
    • 0x2:GPIO 写
    • 0x3:GPIO 读
    • 0x4:周期输出
  • 引脚编号(1 个字节)
  • 控制字为 0 时:
    • 设置方向(1 个字节):0 表示输入,1 表示输出
    • 设置模式(1 个字节):
      • 输入模式:0 表示上拉,1 表示下拉,2 表示高阻
      • 输出模式:4 表示推挽
    • 初始电平(1 个字节):0 表示低电平,1 表示高电平(输入模式时,该参数无效)
  • 控制字为 2 时(1 个字节):
    • 0:低电平
    • 1:高电平
  • 控制字为 4 时:
    • 起始电平(1 个字节):
      • 0 表示低电平
      • 1 表示高电平
    • 高电平时间(2 个字节):单位 ms
    • 低电平时间(2 个字节):单位 ms
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0003 + 1/1/1/2/1
数据 0x0003 + 1/1/1/2/1
  • 子命令:0xA1
  • 控制字:
    • 0x0:GPIO 初始化
    • 0x1:GPIO 去初始化
    • 0x2:GPIO 写
    • 0x3:GPIO 读
    • 0x4:周期输出
  • 引脚编号(1 个字节)
  • 控制字为 0/1/2/4 时:
    • 结果(1 个字节):0 表示成功,1 表示失败
  • 控制字为 3 时(1 个字节):
    • 结果(1 个字节):0 表示成功,1 表示失败
    • 电平(1 个字节)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

开模组重置状态通知(0x34 04)

目前,模组支持本地移除、App 移除、App 恢复出厂设置,但是 MCU 无法知道模组这些状态。状态通知服务帮助有需要的用户打开模组状态通知。

MCU 发送

字段 长度 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x34
数据长度 2 0x0001
数据 1 0x04(子命令)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x34
数据长度 2 0x0002
数据 1
  • 0x04(子命令)
  • 执行结果:
    • 0x00:成功
    • 0x01:失败
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组重置状态通知(0x34 05)

重置状态的发送最多会重发两次,重发间隔保持 1 秒。

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x34
数据长度 2 0x0002
数据 2 0x05(子命令)
重置状态:
  • 0x00:模组本地重置
  • 0x01:App 远程重置
  • 0x02:App 恢复出厂重置
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

MCU 返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x34
数据长度 2 0x0001
数据 1 0x05(子命令)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模块处于升级状态发送(0x34 0A)

  • 仅 MA510 模组支持,通用对接协议版本 1.1.4 及以上支持。
  • 若模组处于系统固件升级状态中,对于指令,模组会回复该状态而不执行命令,MCU 需等待模组升级完成。
  • 模组处于升级中,会主动关闭所有命令上报,仅上报升级状态。若模组重启需要 MCU 控制 uart3_tx 电平,那 MCU 在收到升级状态后,可直接将 uart3_tx 电平拉低。待模组重启后,MCU 收到模组心跳数据时,重新设置成 uart3_tx

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x34
数据长度 2 0x0002
数据 2 0x0A(子命令)
升级状态:0x01 表示模组处于升级中
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余