蓝牙调试协议
1.协议概述
1.1 广播报文
蓝牙广播包 0x09 名称为 Acr + 设备序列号 ,用来区分是我司设备。例如: Acr25101301540002。
1.2 报文格式
报文格式如下:
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|
说明:
含义 | 示例 | 长度 | 说明 |
|---|---|---|---|
表地址 | 0xff | 1 | 地址0x00是广播地址,0xff是万能地址,广播地址不回复; |
功能码 | 0x55 | 1 | 表示功能分类 |
子功能码 | 0x01 | 1 | 功能分类下的具体功能 |
数据域长度 | 0x0100 | 2 | “操作码+数据“的长度,低位在前 |
操作码 | 0x03 | 1 | 命令报文:0x03-读取,0x10-写入 |
数据 | 0xXXX | n | 命令内容,长度不固定 |
校验码 | 0x0825 | 2 | CRC16校验从表地址开始计算,到前一个字节结束 |
1.3 功能码列表
模块说明 | 功能码 | 功能说明 | 子功能码 | 子功能说明 | 操作码 |
|---|---|---|---|---|---|
通用模块 | 0x55 | 通用功能 | 0x01 | 读取设备基本信息&出厂配置信息 | 0x03 |
0xF0 | 重启设备 | 0x01 | |||
OTA升级 | 0x02 | 向设备发送固件升级请求 | 0x10 | ||
0xAA | 写入升级固件数据 | 0x10 | |||
0x03 | 向设备发送模块升级请求 | 0x10 | |||
0xAB | 写入模块升级包数据 | 0x10 | |||
0xFF | 查看升级是否成功 | 0x01 | |||
通讯模块设置 | 0x60 | 4G模块 | 0x01 | 读取联网状态信息 | 0x03 |
0x02 | 读取APN信息 | 0x03 | |||
0x03 | 写入APN信息 | 0x10 | |||
0x04 | 读取sim卡信息 | 0x03 | |||
0x61 | WiFi模块 | 0x01 | 读取联网状态信息 | 0x03 | |
0x02 | 读取WiFi参数 | 0x03 | |||
0x03 | 写入WiFi参数 | 0x10 | |||
0x04 | 读取DHCP参数 | 0x03 | |||
0x05 | 写入DHCP参数 | 0x10 | |||
0x62 | 蓝牙模块 | 预留 | |||
0x63 | LoRaWAN模块 | 0x01 | 读取联网状态信息 | 0x03 | |
0x02 | 读取LoRaWAN参数 | 0x03 | |||
0x03 | 写入LoRaWAN参数 | 0x10 | |||
协议设置 | 0x70 | 通用功能 | 0x01 | 读取当前通讯协议 | 0x03 |
0x02 | 设置当前通讯协议 | 0x10 | |||
0x03 | 请求写入TLS证书 | 0x10 | |||
0x04 | 传输TLS证书内容 | 0x10 | |||
0x05 | TLS证书写入是否成功 | 0x10 | |||
0x71 | 中台协议 | 0x01 | 读取平台IP端口 | 0x03 | |
0x02 | 设置平台IP端口 | 0x10 | |||
0x72 | 运维协议 | 0x01 | 读取平台IP端口 | 0x03 | |
0x02 | 设置平台IP端口 | 0x10 | |||
0x73 | 安全用电协议 | 0x01 | 读取平台IP端口 | 0x03 | |
0x02 | 设置平台IP端口 | 0x10 |
2.通用功能(0x55)
2.1 读取设备基本信息(0x55 0x01)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x01 | 数据长度 | 0x03 | --- | 0x0825 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 参数名 | 说明 |
|---|---|---|---|
硬件系列编号 | 2 | seriesCode | 公司统⼀管控,低位在前 |
硬件产品编号 | 2 | productCode | 产品编号,低位在前 |
软件编号 | 2 | softcode | 例如 |
软件版本 | 2 | softversion | 例如 |
设备标识 | 1 | deviceType | 0x55 子设备,0xAA 采集设备(网关) |
断点续传 | 1 | 暂无 | 0x00不支持,0xFF支持 |
差分升级 | 1 | 暂无 | 0x00不支持,0xFF支持 |
数据报文长度 | 2 | MTU | 单次传输最大字节数,128,256,512,1024等,低位在前 |
固件信息地址 | 4 | 暂无 | Bin文件的绝对地址,文件起始为0,低位在前,用于读取bin文件自动获取以上信息 |
序列号 | 20 | 设备SN | 字符串,默认一般按公司14位数字编号,/0结束 |
预留 | 8 |
2.2 重启设备(0x55 0xF0)
小程序发送重启命令到设备,设备响应后执行重启操作
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xF0 | 数据长度 | 0x01 | --- | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xF0 | 数据长度 | 0x01/0xEE | --- | 0xXXXX |
2.3 向设备发送固件升级请求(0x55 0x02)
请求报文包含以下内容:硬件系列标识、硬件产品标识、软件编号、软件版本、设备标识、数据报文长度、升级方式、完整文件校验码。
返回允许升级后,设备进入升级模式,允许0xAA、0xFF子功能码生效,1分钟内无子功能码0xAA写入升级软件数据报文,退出升级模式。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x02 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 参数名 | 说明 |
|---|---|---|---|
硬件系列编号 | 2 | seriesCode | 公司统⼀管控,低位在前 |
硬件产品编号 | 2 | productCode | 产品编号,低位在前 |
软件编号 | 2 | softcode | softcode 例如 |
软件版本 | 2 | softversion | softversion 例如 |
设备标识 | 1 | deviceType | 0x55 |
数据报文长度 | 2 | MTU | 单次最大传输字节数,128, 256, 512, 1024等,低位在前 |
升级方式 | 1 | upgradeMode | 0x00完全升级, 0xAA差分升级 |
升级包长度 | 4 | fileSize | Bin文件大小,低位在前 |
16位CRC校验码 | 2 | crc16 | Bin文件的校验码 |
32位CRC校验码 | 4 | crc32 | Bin文件的校验码 |
MD5校验码 | 16 | md5 | Bin文件的校验码 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x02 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 操作码 | 说明 |
|---|---|---|---|
是否允许升级 | 4个字节 | 0x01 | 允许升级,返回对应升级文件地址,0x00表示从头开始,非0x00可能是断点续传 |
0xEE | 不允许升级,错误信息 |
2.4 写入固件数据(0x55 0xAA)
根据上一条报文,发送对应文件地址的数据。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xAA | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 |
|---|---|
地址 | 4 |
固件数据 | N |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xAA | 数据长度 | 见下表 | 见下表 | 0xXXXX |
操作码和数据域说明:
操作码 | 数据域 | 说明 |
|---|---|---|
0x01 | 4个字节,0x00000080 | 继续升级,返回后续升级文件地址 |
0xAA | 4个字节,0XFFFFFFFF | 完成所有数据传输 |
0xEE | 0字节 | 其他未知错误 |
2.5 向设备发送模块升级请求(0x55 0x03)
请求报文包含以下内容: 硬件系列标识、硬件产品标识、软件编号、软件版本、设备标识、数据报文长度、升级方式、完整文件校验码
返回允许升级后,设备进入升级模式,允许0xAB、0xFF子功能码生效,1分钟内无子功能码0xAB写入模块升级数据报文,退出升级模式。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x03 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
类型 | 长度 | 参数名 | 说明 |
|---|---|---|---|
硬件系列编号 | 2 | seriesCode | 公司统⼀管控,低位在前 |
硬件产品编号 | 2 | productCode | 产品编号,低位在前 |
软件编号 | 2 | softcode | softcode 例如 |
软件版本 | 2 | softversion | softversion 例如 |
设备标识 | 1 | deviceType | 0x55 |
数据报文长度 | 2 | MTU | 单次最大传输字节数,128, 256, 512, 1024等,低位在前 |
升级方式 | 1 | upgradeMode | 0x00完全升级, 0xAA差分升级 |
升级包长度 | 4 | fileSize | Bin文件大小,低位在前 |
16位CRC校验码 | 2 | crc16 | Bin文件的校验码 |
32位CRC校验码 | 4 | crc32 | Bin文件的校验码 |
MD5校验码 | 16 | md5 | Bin文件的校验码 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0x03 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 操作码 | 说明 |
|---|---|---|---|
是否允许升级 | 4个字节 | 0x01 | 允许升级,返回对应升级文件地址,0x00表示从头开始,非0x00可能是断点续传 |
0xEE | 不允许升级,错误信息 |
2.6 写入模块升级包数据(0x55 0xAB)
根据上一条报文,发送对应文件地址的数据。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xAB | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 |
|---|---|
地址 | 4 |
固件数据 | N |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xAB | 数据长度 | 见下表 | 见下表 | 0xXXXX |
操作码和数据域说明:
操作码 | 数据域 | 说明 |
|---|---|---|
0x01 | 4个字节,0x00000080 | 继续升级,返回后续升级文件地址 |
0xAA | 4个字节,0XFFFFFFFF | 完成所有数据传输 |
0xEE | 0字节 | 其他未知错误 |
2.7 查看升级是否成功(0x55 0xFF)
接收到数据传输完成报文后,发送此报文,用于查询升级是否成功,被升级设备检查文件校验信息,若成功,返回成功报文并在3秒后重启,将升级后的固件替换原有固件
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xFF | 数据长度 | 0x01 | --- | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x55 | 0xFF | 数据长度 | 0x01/0xEE | --- | 0xXXXX |
3.4G模块设置(0x60)
3.1 读取联网状态信息(0x60 0x01)
读取设备联网状态和信号强度。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
网络状态 | 1 | connectState | uint8 | 0x01-在线,0x00-离线 |
信号强度 | 1 | rssi | int8 | |
状态码 | 1 | stateCode | int8 | 状态码,表示设备连接状态和进度 |
3.2 读取APN信息(0x60 0x02)
读取APN启用状态、APN名称、APN用户名和密码。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x02 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x02 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
APN启用状态 | 1 | apnEnable | uint8 | 0x00-APN禁用,0x01-APN启用 |
APN名称 | 48 | apnName | string | ASCII码32字节、不足的补0 |
APN用户名 | 48 | apnUser | string | ASCII码32字节、不足的补0 |
APN密码 | 48 | apnPwd | string | ASCII码32字节、不足的补0 |
3.3 写入APN信息(0x60 0x03)
写入APN启用状态、APN名称、APN用户名和密码。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x03 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
APN启用状态 | 1 | apnEnable | uint8 | 0x00-APN禁用,0x01-APN启用 |
APN名称 | 48 | apnName | string | ASCII码32字节、不足的补0 |
APN用户名 | 48 | apnUser | string | ASCII码32字节、不足的补0 |
APN密码 | 48 | apnPwd | string | ASCII码32字节、不足的补0 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x03 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
3.4 读取SIM卡信息(0x60 0x04)
读取SIM卡 imei、ccid
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x04 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x60 | 0x04 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
IMEI | 16 | imei | string | ASCII码32字节、不足的补0 |
CCID | 20 | ccid | string | ASCII码32字节、不足的补0 |
4.WiFi模块设置(0x61)
4.1 读取联网状态信息(0x61 0x01)
读取设备联网状态和信号强度。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
网络状态 | 1 | connectState | uint8 | 0x01-连接,0x00-断开 |
信号强度 | 1 | rssi | int8 | |
状态码 | 1 | stateCode | int8 | 状态码,表示设备连接状态和进度 |
4.2 读取WiFi参数(0x61 0x02)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x02 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x02 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
WiFi启用状态 | 1 | wifiEnable | uint8 | 0x00-WiFi禁用,0x01-WiFi启用 |
SSID | 32 | wifiSsid | string | ASCII码32字节、不足的补0 |
WiFi密码 | 32 | wifiPwd | string | ASCII码32字节、不足的补0 |
MAC地址 | 8 | mac | string | ASCII码8字节、不足的补0 |
4.3 写入WiFi参数(0x61 0x03)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x03 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
WiFi启用状态 | 1 | wifiEnable | uint8 | 0x00-WiFi禁用,0x01-WiFi启用 |
SSID | 32 | wifiSsid | string | ASCII码32字节、不足的补0 |
WiFi密码 | 32 | wifiPwd | string | ASCII码32字节、不足的补0 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x03 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
4.4 读取DHCP参数(0x61 0x04)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x04 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x04 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
DHCP | 1 | wifiDhcp | uint8 | 0x00-DHCP禁用,0x01-DHCP启用 |
IP | 32 | wifiIp | string | ASCII码32字节、不足的补0 |
子网掩码 | 32 | wifiMask | string | ASCII码32字节、不足的补0 |
网关地址 | 32 | wifiGateway | string | ASCII码32字节、不足的补0 |
4.3 写入DHCP参数(0x61 0x05)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x05 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
DHCP | 1 | wifiDhcp | uint8 | 0x00-DHCP禁用,0x01-DHCP启用 |
IP | 32 | wifiIp | string | ASCII码32字节、不足的补0 |
子网掩码 | 32 | wifiMask | string | ASCII码32字节、不足的补0 |
网关地址 | 32 | wifiGateway | string | ASCII码32字节、不足的补0 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x05 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
5.蓝牙模块设置(0x62)
预留
6.LoRaWAN模块设置(0x63)
6.1 读取联网状态信息(0x63 0x01)
读取设备联网状态和信号强度。
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x63 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x63 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
网络状态 | 1 | connectState | uint8 | 0x01-连接,0x00-断开 |
信号强度 | 1 | rssi | int8 | |
状态码 | 1 | stateCode | int8 | 状态码,表示设备连接状态和进度 |
6.2 读取LoRaWAN参数(0x63 0x02)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x63 | 0x02 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x63 | 0x02 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
入网方式 | 1 | joinMode | uint8 | 0x00-OTAA, 0x01-ABP |
AppKey | 32 | appKey | string | 32字节ASCII,不足补0 |
AppEUI | 16 | appEUI | string | 16字节ASCII,不足补0 |
DevEUI | 16 | devEUI | string | 16字节ASCII,不足补0 |
DevAddr | 8 | devAddr | string | 8字节ASCII,不足补0 |
AppSKey | 32 | appSKey | string | 32字节ASCII,不足补0 |
NwkSKey | 32 | nwkSkey | string | 32字节ASCII,不足补0 |
上下频率频段 | 1 | freqBand | uint8 | 频段 |
上行频点 | 4 | uplinkFreq | float | 上行频率频点,单位MHz |
下行频点 | 4 | downlinkFreq | float | 下行频率频点,单位MHz |
信道个数 | 1 | channelCount | uint8 | 信道数量 |
通讯速率 | 1 | dataRate | uint8 | 数据传输速率 |
RX2频点 | 4 | rx2Freq | float | RX2窗口频率频点,单位MHz |
RX2速率 | 1 | rx2DataRate | uint8 | 数据传输速率 |
上行数据应答 | 1 | ackEnabled | uint8 | 0x00-禁用,0x01-启用 |
CLASS | 1 | deviceClass | uint8 | 0x00-ClassA |
6.3 写入LoRaWAN参数(0x63 0x03)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x03 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
入网方式 | 1 | joinMode | uint8 | 0x00-OTAA, 0x01-ABP |
AppKey | 32 | appKey | string | 32字节ASCII,不足补0 |
AppEUI | 16 | appEUI | string | 16字节ASCII,不足补0 |
DevEUI | 16 | devEUI | string | 16字节ASCII,不足补0 |
DevAddr | 8 | devAddr | string | 8字节ASCII,不足补0 |
AppSKey | 32 | appSKey | string | 32字节ASCII,不足补0 |
NwkSKey | 32 | nwkSkey | string | 32字节ASCII,不足补0 |
上下频率频段 | 1 | freqBand | uint8 | 频段 |
上行频点 | 4 | uplinkFreq | float | 上行频率频点,单位MHz |
下行频点 | 4 | downlinkFreq | float | 下行频率频点,单位MHz |
信道数量 | 1 | channelCount | uint8 | 信道数量 |
通讯速率 | 1 | dataRate | uint8 | 数据传输速率 |
RX2频点 | 4 | rx2Freq | float | RX2窗口频率频点,单位MHz |
RX2速率 | 1 | rx2DataRate | uint8 | 数据传输速率 |
上行数据应答 | 1 | ackEnabled | uint8 | 0x00-禁用,0x01-启用 |
CLASS | 1 | deviceClass | uint8 | 0x00-ClassA |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x03 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.协议设置(0x70)
7.1 读取当前通讯协议(0x70 0x01)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x01 | 数据长度 | 0x01 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x61 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
协议 | 1 | protocol | int8 | 0x00-中台协议 |
7.2 设置当前通讯协议(0x70 0x02)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x02 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
协议 | 1 | protocol | int8 | 0x00-中台协议 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x02 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.3 请求写入TLS证书(0x70 0x03)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x03 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
类型 | 长度 | 参数名 | 说明 |
|---|---|---|---|
数据报文长度 | 2 | MTU | 单次最大传输字节数,128, 256, 512, 1024等,低位在前 |
文件长度 | 4 | fileSize | 文件大小,低位在前 |
16位CRC校验码 | 2 | crc16 | 文件的校验码 |
32位CRC校验码 | 4 | crc32 | 文件的校验码 |
MD5校验码 | 16 | md5 | 文件的校验码 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x03 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.4 传输TLS证书内容(0x70 0x04)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x04 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 |
|---|---|
地址 | 4 |
TLS证书数据 | N |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x04 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.5 TLS证书写入是否成功(0x70 0x05)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x05 | 数据长度 | 0x10 | --- | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x05 | 数据长度 | 0x01/0xEE | --- | 0xXXXX |
7.6 读取中台协议配置(0x71 0x01)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x71 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
注册服务IP | 40 | httpIp | string | ASCII码40字节、不足的补0 |
注册服务端口 | 2 | httpPort | uint16 | 低位在前 |
是否使用HTTPS | 1 | useHttps | uint8 | 0x00-禁用,0x01-启用 |
MQTT服务IP | 40 | mqttIp | string | ASCII码40字节、不足的补0 |
MQTT服务端口 | 2 | mqttPort | uint16 | 低位在前 |
是否使用MQTTS | 1 | useMqtts | uint8 | 0x00-禁用,0x01-启用 |
7.7 写入中台协议配置(0x71 0x02)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x71 | 0x02 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
注册服务IP | 40 | eiotIp | string | ASCII码40字节、不足的补0 |
注册服务端口 | 2 | eiotPort | uint16 | 低位在前 |
是否使用HTTPS | 1 | useHttps | uint8 | 0x00-禁用,0x01-启用 |
MQTT服务IP | 40 | mqttIp | string | ASCII码40字节、不足的补0 |
MQTT服务端口 | 2 | mqttPort | uint16 | 低位在前 |
是否使用MQTTS | 1 | useMqtts | uint8 | 0x00-禁用,0x01-启用 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x70 | 0x02 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.8 读取运维协议配置(0x72 0x01)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x72 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x72 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
平台服务IP | 40 | operationIp | string | ASCII码40字节、不足的补0 |
平台服务端口 | 2 | operationPort | uint16 | 低位在前 |
7.9 写入运维协议配置(0x72 0x02)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x72 | 0x02 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
平台服务IP | 40 | operationIp | string | ASCII码40字节、不足的补0 |
平台服务端口 | 2 | operationPort | uint16 | 低位在前 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x72 | 0x02 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |
7.10 读取安全用电协议配置(0x73 0x01)
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x73 | 0x01 | 数据长度 | 0x03 | 无 | 0xXXXX |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x73 | 0x01 | 数据长度 | 0x01/0xEE | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
平台服务IP | 40 | operationIp | string | ASCII码40字节、不足的补0 |
平台服务端口 | 2 | operationPort | uint16 | 低位在前 |
7.11 写入安全用电协议配置(0x73 0x02)
写入运维协议平台IP、端口
请求报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x73 | 0x02 | 数据长度 | 0x10 | 见下表 | 0xXXXX |
数据域说明:
描述 | 长度 | 变量名 | 类型 | 说明 |
|---|---|---|---|---|
平台服务IP | 40 | operationIp | string | ASCII码40字节、不足的补0 |
平台服务端口 | 2 | operationPort | uint16 | 低位在前 |
回复报文
表地址 | 功能码 | 子功能码 | 数据长度 | 操作码 | 数据域 | CRC校验码 |
|---|---|---|---|---|---|---|
0xff | 0x73 | 0x02 | 数据长度 | 0x01/0xEE | 无 | 0xXXXX |