蜂窝服务

更新时间:2024-05-22 01:57:30下载pdf

本文介绍蜂窝标准协议下蜂窝相关服务的指令说明。

获取系统时间(格林时间)(0x0c)

  • 格林时间(GMT)不带有时区和夏令时的因素,是一个国际标准的时间基准。
  • 当模组连接上网络后,本地的时间戳校准后才会返回成功,并带有有效的时间数据。

MCU 发送

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

示例:0x55aa 03 0c 0000 0e

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x0c
数据长度 2 0x0007
数据 7 数据长度为 7 字节:
  • Data[0] 为是否获取时间成功标志,0 表示失败,1 表示成功
  • Data[1] 为年,0x00 表示 2000 年
  • Data[2] 为月,从 1 开始到 12 结束
  • Data[3] 为日,从 1 开始到 31 结束
  • Data[4] 为时,从 0 开始到 23 结束
  • Data[5] 为分,从 0 开始到 59 结束
  • Data[6] 为秒,从 0 开始到 59 结束
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:0x55aa 00 0c 0007 01 10 04 13 05 06 07 4c(格林时间 2016 年 4 月 19 日 5 时 6 分 7 秒)

检查模组功能(0x0e)

  • 模组需要插入 SIM 卡,检查 SIM 卡是否检测成功。
  • 检测模组是否经过授权。
  • 检测模式是否经过射频(RF)校准。
  • 获取当前 4G 信号强度(必须插入 SIM 卡)。范围为 0~31,您可以根据自己所处的环境来判断是否合格。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x0e
数据长度 2 0x0004
数据 4 数据长度为 4 字节:
  • Data[0]:0 表示 SIM 卡未检测到,1 表示 SIM 卡检测成功
  • Data[1]:0 表示未写过授权,1 表示写过授权
  • Data[2]:0 表示 RF 未校准,1 表示已经校准
  • Data[3]:信号强度(0~31)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

获取本地时间(0x1c)

  • 本地时间是在格林时间的基础上,加上当地(设备激活所在地)时区和夏令时的时间。
  • 当模组连接上网络之前,本地的时间戳校准后才会返回成功,并带有有效的时间数据。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x1c
数据长度 2 0x0008
数据 8
  • Data[0] 为是否获取时间成功标志,0 表示失败,1 表示成功
  • Data[1] 为年,0x00 表示 2000 年
  • Data[2] 为月,从 1 开始到 12 结束
  • Data[3] 为日,从 1 开始到 31 结束
  • Data[4] 为时,从 0 开始到 23 结束
  • Data[5] 为分,从 0 开始到 59 结束
  • Data[6] 为秒,从 0 开始到 59 结束
  • Data[7] 为星期,从 1 开始到 7 结束,1 代表星期一
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:

  • 如果设备在国内激活使用,则当地时间为北京时间(东 8 区):0x55aa 00 1c 0008 01 10 04 13 05 06 07 02 5f(北京时间 2016 年 4 月 19 日 5 时 6 分 7 秒)。
  • 如果设备在国外激活使用,则当地时间为设备所处时区时间。

获取模组内存(0x0f)

获取模组剩余内存,返回 -1 表示不支持获取内存。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x0f
数据长度 2 0x0004
数据 4 采用大端格式,如 0x00 0x00 0x28 0x00 代表剩余 10240 字节内存
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

获取 Unix 时间戳(带时区信息)(0x1b)

  • MCU 可以获取当前 Unix 时间戳、时区信息以及夏令时范围。
  • 该协议仅支持保活门锁产品。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x1B
数据长度 2 N
数据 N
  • Data[0]:获取时间成功与否,1 表示成功,0 表示失败
  • Data[1]-Data[4]:Unix 时间戳
  • Data[5]:获取时区信息是否成功,1 表示成功,0 表示失败
  • Data[6]:0 表示东区,1 表示西区
  • Data[7]:表示时区
  • Data[8]:是否有夏令时,1 表示有夏令时,0 表示没有夏令时
  • Data[9]-Data[12]:进入夏令时时间戳(大端)
  • Data[13]-Data[16]:退出夏令时时间戳(大端)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

暂不支持夏令时获取。

获取当前模组信号强度(可选)(0x24)

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x24
数据长度 2 0x0001
数据 1 RSSI 值的范围为 0~31,值越大,信号越好。
  • 0 表示 -113 dBm 或以下
  • 31 表示 -51dBm 或以上
若返回 RSSI 的值不在范围内则为无效值,表示失败。
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

通知模组开启或关闭心跳(可选)(0x25)

  • 03 版本:

    MCU 发送

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

    模组返回

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

    MCU 发送

    字段 字节数 说明
    帧头 2 0x55aa
    版本 1 0x04
    命令字 1 0x25
    数据长度 2 0x0001
    数据 1
    • 0:关闭
    • 1:打开
    校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

    模组返回

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

    对于需要休眠降低功耗的 MCU,可在休眠前发送该指令关闭模组心跳,方便进入休眠状态。请勿在设备刚上电时发送该指令,模组上电后需要和 MCU 建立心跳连接。

获取模组联网状态(0x2b)

设备联网状态 描述 状态值
状态 1 SIM 卡未连接 0x00
状态 2 搜索网络中 0x01
状态 3 已成功注册未联网 0x02
状态 4 联网成功并获取到 IP 0x03
状态 5 设备已连接到云端 0x04
状态 6 SIM 基站注册被拒绝,可能是 SIM 当前的业务未开通 0x05
状态 7 设备待配网 0x06
状态 8 未知状态 0xFF

MCU 发送

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

模组返回

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

设置模组工作模式(0x05)

模组有全功能工作模式,飞行模式两种。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x05
数据长度 2 0x0001
数据 1
  • 1:全功能模式
  • 4:飞行模式
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:0x55aa 03 04 0000 06

模组返回

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

示例:0x55aa 00 04 0000 03

获取模组工作模式(0x71 01)

模组有全功能工作模式和飞行模式两种。

MCU 发送

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

示例:55 AA 03 71 00 01 01 75

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x01
  • 数据:
    • 1:全功能模式
    • 4:飞行模式
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

获取国际移动用户识别码 IMSI(0x71 02)

本命令可以由 MCU 控制主动发送一个 IMSI 获取包,可用于获取模组的国际移动用户识别码。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0010
数据 16
  • 子命令:0x02
  • 15 字节的 IMSI,示例为 460113012467340
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 AA 00 71 00 10 02 34 36 30 31 31 33 30 31 32 34 36 37 33 34 30 7C

获取 SIM 卡识别码 ICCID(0x71 03)

  • MCU 主动下发给模组获取 ICCID 指令,模组将 ICCID(长度 20 的字串)返回给 MCU。
  • 本命令可以由 MCU 控制,主动发送 ICCID 获取包,以用于获取模组的 SIM 卡识别号码。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0015
数据 21
  • 子命令:0x03
  • 20 字节的 ICCID 示例为 89861118249000363490
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 AA 00 71 00 15 03 38 39 38 36 31 31 31 38 32 34 39 30 30 30 33 36 33 34 39 30 9A

获取设备 IMEI(0x71 04)

MCU 主动下发给模组获取 IMEI 指令,模组将 IMEI(长度 15 的字串)返回给 MCU。本命令可以由 MCU 控制,主动发送 IMEI 获取包,用于获取设备的 IMEI 码。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0010
数据 16
  • 子命令:0x04
  • 15 字节的 IMEI,示例:864237040014733
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 AA 00 71 00 10 04 38 36 34 32 33 37 30 34 30 30 31 34 37 33 33 88

蜂窝网络类型读取(0x71 43)

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x43
  • 类型:
    • 1:GPRS 网络
    • 2:LTE Cat.1 网络
    • 4:CATM 网络
    • 5:NB-IoT 网络
    • 其他异常码
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

查询当前的 PLMN(0x71 48)

  • 该命令只支持 MA510 模组,并且只有在产品信息返回里有设置 COPS 才支持。

  • 该命令需要注网成功后,才能获取到 PLMN(Public Land Mobile Network)。

MCU 发送

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

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0002+N*4
数据 0x0002+N*4
  • 子命令:0x48
  • Data[1]:返回结果,1 成功,0 失败
  • PLMN:4 字节,当前的网络注册所在国家的 PLMN。返回大端格式的 PLMN 数组,每个 PLMN 值为 4 个字节,采用大端模式格式:
    当前 PLMN + PLMN1 … + PLMNn
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例:55 AA 00 71 00 12 48 01 00 04 BA FC 00 04 BA FC 00 04 BC 8A 00 04 BB F4 3C

设置/获取 RRC(可选)(0x71 4A)

通用对接协议版本 1.1.1 及以上支持本功能。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002/0x0003
数据 0x0002/
0x0003
  • 子命令:0x4A
  • 控制字(1 个字节):
    • 0:获取
    • 1:设置
  • 若为设置时:RRC 值(1 个字节)范围 0-20,对应 0-10s
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组回复

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003/0x0004
数据 0x0003/
0x0004
  • 子命令:0x4A
  • 控制字(1 个字节):
    • 0:获取
    • 1:设置
  • 若为设置时:RRC 值(1 个字节)范围 0-20,对应 0-10s
  • 若为获取时:
    • RRC 值(1 个字节)范围 0-20,对应 0-10s
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余