Acrel IoT Docs Help

蓝牙调试协议

1. 广播包

蓝牙广播包0x09名称以Acr为前缀,用来区分是我司设备

2. OTA升级

收发命令使用同一功能码,通过数据长度不同来表示读取或写入操作,具体根据不同功能码自行定义,收发格式如下。

描述

地址

功能码

子功能码

长度

操作码

数据

crc

字节数

1

1

1

2

1

n

2

协议说明:

  • 字节组合按照小端模式,低位在前,高位在后(芯片基本都为小端模式);

  • 长度使用两个字节,数据域的长度(操作码+数据);

  • 操作码为1个字节(用于显示应答情况标识,返回错误或故障使用0xEx或0xFx);

  • 地址0是广播地址,0xff是万能地址,广播地址不回复;

  • crc校验从地址开始计算,到前一个字节结束

功能码列表:

功能码

说明

子功能码

说明

操作码

0x55

设备基本信息 固件升级

0x01

读取设备基本信息&出厂配置信息

0x03

0x02

向设备发送固件升级请求

0x10

0xAA

写入升级固件数据

0x10

0x03

向设备发送模块升级请求

0x10

0xAB

写入模块升级包数据

0x10

0xFF

查看升级是否成功

0x01

0xF0

重启设备

0x01

2.1 读取设备基本信息(0x03)

请求

回复

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0x01

子功能码

0x01

长度

0x0100

低位在前

长度

0xXXXX

可变,低位在前

操作码

0x03

读取信息

操作码

0x01/0xEE

正常/失败

数据

---

数据

N

见下表

校验

Crc16

校验

Crc16

数据详情:

类型

长度

参数名

说明

硬件系列编号

2

seriesCode

公司统⼀管控,低位在前

硬件产品编号

2

productCode

产品编号,低位在前

软件编号

2

softcode

例如 3306 33 和 06 各用一个字节表示,低位在前,即 0x06 0x21

软件版本

2

softversion

例如 1107 11 和 07 各用一个字节表示,低位在前,即 0x07 0x0B

设备标识

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 向设备发送固件升级请求(0x02)

请求报文包含以下内容:硬件系列标识、硬件产品标识、软件编号、软件版本、设备标识、数据报文长度、升级方式、完整文件校验码。

返回允许升级后,设备进入升级模式,允许0xAA、0xFF子功能码生效,1分钟内无子功能码0xAA写入升级软件数据报文,退出升级模式。

  • 表1

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0x02

子功能码

0x02

长度

0xXXXX

可变,低位在前

长度

0x0500

低位在前

操作码

0x10

写入升级信息

操作码

0x01

见表3

数据

N*byte

见表2

数据

4*byte

校验

Crc16

校验

Crc16

  • 表2

类型

长度

参数名

说明

硬件系列编号

2

seriesCode

公司统⼀管控,低位在前

硬件产品编号

2

productCode

产品编号,低位在前

软件编号

2

softcode

softcode 例如 3306, 33 和 06 各用一个字节表示,低位在前,即 0x06 0x21

软件版本

2

softversion

softversion 例如 1107, 11 和 07 各用一个字节表示,低位在前,即 0x07 0x0B

设备标识

1

deviceType

0x55 SUB_DEVICE子设备, 0xAA GATEWAY采集设备(网关)

数据报文长度

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文件的校验码

  • 表3 返回数据

操作码

其他数据

说明

0x01

4个字节

允许升级,返回对应升级文件地址,0x00表示从头开始,非0x00可能是断点续传

0xEE

4个字节

不允许升级,错误信息

2.3 写入固件数据(0xAA)

根据上一条报文,发送对应文件地址的数据。

  • 表1

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0xAA

子功能码

0xAA

长度

0xXXXX

可变,低位在前

长度

0x0500/0x0100

低位在前

操作码

0x10

写入升级软件

操作码

0x01

见表2

数据

4byte+Nbyte

4地址; N升级数据

数据

4*byte

后续地址

校验

Crc16

校验

Crc16

  • 表2 返回数据

操作码

其他数据

说明

0x01

4个字节,0x00000080

继续升级,返回后续升级文件地址

0xAA

4个字节,0XFFFFFFFF

完成所有数据传输

0xEE

0字节

其他未知错误

2.4 向设备发送模块升级请求(0x03)

请求报文包含以下内容: 硬件系列标识、硬件产品标识、软件编号、软件版本、设备标识、数据报文长度、升级方式、完整文件校验码

返回允许升级后,设备进入升级模式,允许0xAB、0xFF子功能码生效,1分钟内无子功能码0xAB写入模块升级数据报文,退出升级模式。

  • 表1

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0x03

子功能码

0x03

长度

0xXXXX

可变,低位在前

长度

0x0500

低位在前

操作码

0x10

写入升级信息

操作码

0x01

见表3

数据

N*byte

见表2

数据

4*byte

校验

Crc16

校验

Crc16

  • 表2

类型

长度

参数名

说明

硬件系列编号

2

seriesCode

公司统⼀管控,低位在前

硬件产品编号

2

productCode

产品编号,低位在前

软件编号

2

softcode

softcode 例如 3306, 33 和 06 各用一个字节表示,低位在前,即 0x06 0x21

软件版本

2

softversion

softversion 例如 1107, 11 和 07 各用一个字节表示,低位在前,即 0x07 0x0B

设备标识

1

deviceType

0x55 SUB_DEVICE子设备, 0xAA GATEWAY采集设备(网关)

数据报文长度

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文件的校验码

  • 表3 返回数据

操作码

其他数据

说明

0x01

4个字节

允许升级,返回对应升级文件地址,0x00表示从头开始,非0x00可能是断点续传

0xEE

4个字节

不允许升级,错误信息

2.5 写入固件数据(0xAB)

根据上一条报文,发送对应文件地址的数据。

  • 表1

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0xAB

子功能码

0xAB

长度

0xXXXX

可变,低位在前

长度

0x0500/0x0100

低位在前

操作码

0x10

写入升级软件

操作码

0x01

见表2

数据

4byte+Nbyte

4地址; N升级数据

数据

4*byte

后续地址

校验

Crc16

校验

Crc16

  • 表2 返回数据

操作码

其他数据

说明

0x01

4个字节,0x00000080

继续升级,返回后续升级文件地址

0xAA

4个字节,0XFFFFFFFF

完成所有数据传输

0xEE

0字节

其他未知错误

2.6 查看升级是否成功(0xFF)

接收到数据传输完成报文后,发送此报文,用于查询升级是否成功,被升级设备检查文件校验信息,若成功,返回成功报文并在3秒后重启,将升级后的固件替换原有固件

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0XFF

子功能码

0XFF

长度

0x0100

低位在前

长度

0x0100

低位在前

操作码

0x01

操作码

0x01/0xEE

0x01表示成功 0xEE表示失败

校验

Crc16

校验

Crc16

2.7 重启设备

小程序发送重启命令到设备,设备响应后执行重启操作

请求:

回复:

类型

报文

说明

类型

报文

说明

表地址

0xff

表地址

0xff

功能码

0x55

功能码

0x55

子功能码

0XF0

子功能码

0XF0

长度

0x0100

低位在前

长度

0x0100

低位在前

操作码

0x01

操作码

0x01/0xEE

0x01表示成功 0xEE表示失败

校验

Crc16

校验

Crc16

3. 特殊命令

10 七月 2025