Card image
帮助和文档

胎压转接板 协议透传应用手册

 PDF下载地址:ailink 胎压转接板应用手册

 

 

 

 

 

 

 

 

AiLink胎压转接板协议透传应用说明

 

 

 

 

 

 

 

 

 

 

 

 

版本:V3.1.19

更新日期:2020年04月29日

深圳市易连物联网有限公司版权所有

 

 

本产品的规格书如有变更,恕不另行通知。

深圳市易连物联网有限公司保留在不另行通知的情况下,对其中所包含的规格书和材料进行更改的权利,同时由于信任所引用的材料所造成的损害(包括结果性损害),包括但不限于印刷上的错误和其他与此出版物相关的错误,易连物联网将不承担责任。

 

 


修改记录

 

文档版本

作者

发布日期

修改说明

3.1.15

梁永新

2020/3/25

1、增加8电极体脂秤协议

3.1.16

Lyx

2020/3/27

1、修改八电极体脂秤里的重量协议

3.1.17

lxl

2020/4/21

1、增加钳表协议

3.1.18

lxl

2020/4/23

1. 指定当前协议对应的钳表型号

2. 修改钳表协议中byte13、byte14的内容

3.1.19

lxl

2020/4/29

1.更改公司信息

2.拆分协议为通用透传和协议透传

 


1 概述

本文档适用于BM系列模块(BM02/08/09/16/20/21/22……)。

使用UART透传,MCU可以通过BM模块与APP进行相互数据透传。也支持模块参数设置满足不同需求,也可以通过协议透传命令快速适配综合超级应用APP:AiLink,快速实现血压计、额温枪、体温计、婴儿秤、身高仪等智能化。

请扫描此二维码下载AiLink APP。

如使用AILink时,需严格按照协议透传产品介绍里面的流程进行操作。

 

下文中表明的MCU为与BM模块连接交互的芯片,BLE则为BM模块.

2 说明

2.1 BLE(Slave)与APP(Master)交互的每包数据默认最大为20byte,当MCU端一次性发送超过20byte时,BLE会将数据进行分包发送给APP,需50byte则分为20+20+10,分3次发送给APP。

2.2 BM模块上电需要时间进行配置,当配置完成,进入就绪时,BM模块会主动给MCU返回一个BM模块状态信息。详情请查看“设置、获取BM模块状态”。

2.3 ailink协议透传应用手册需要和ailink通用透传应用手册一起使用。

 

3 工作模式

Ø BM模块支持两种工作模式,断电模式和不断电休眠模式,用户可以根据自身需求合

理选择工作模式。

用户可以在设计PCB的时候,预留两种方式的电路。详情请查看硬件规格书规格书。

3.1 模式一:断电模式。

Ø 在此模式下,BM模块完全断电,需要供电才能正常工作,这种模式有利于省电。

Ø 在此模式下,MCU可以根据BM模块的连接状态选择合适的时间断电关机,例如,在非蓝牙连接状态时,MCU工作完10s后断电关机,在蓝牙连接状态时,工作完30s后断电关机。获取BM模块的连接状态,可以根据蓝牙状态脚(BT-CS)进行判断,也可以通过串口读取模块状态。这种做法有利于用户能够顺利传输数据到APP上,而不会出现反复关机断连问题。

工作流程:

1、BM模块上电。

2、BM模块上电就绪后,BM会给MCU返回BM模块状态。

3、MCU设置CID 。

4、MCU设置模块其他内容。

5、MCU发送数据。

6、MCU、BM断电关机。

 

 

3.2 模式二:长供电休眠模式。

Ø 此模式下,BM模块需要长供电,不会断电关机(串口已关闭,BM处于低功耗模式)。

Ø 工作流程:

1、BM模块上电。

2、BM模块上电就绪后,BM会给MCU返回BM模块状态。

3、MCU设置CID 。

4、MCU设置模块其他内容。

5、MCU发送数据。

6、MCU 发送睡眠指令(可以选择是否开启低频广播),使BM模块进入低功耗模式。

若开启了BM模块进入了低功耗模式并且开启了低频广播,当BM模块连上APP后,BM模块会发送模块状态信息到MCU,同时蓝牙状态脚会拉低,用以唤醒MCU(MCU可以用串口唤醒或者蓝牙状态脚唤醒)。

 

7、MCU主动唤醒BM模块。当BM模块处于休眠状态时,若MCU需要发送数据到BM模块,需要先发一条唤醒指令到BM模块。注:BM模块刚唤醒时,是无法正常接收数据的,所以BM收到第一组的唤醒指令时,BM是不会回复MCU状态的。MCU可以发两次唤醒指令。

 

 

Ø 工作流程参考如下:

 

 

 

 

 


4 蓝牙接口(默认)

4.1  蓝牙名称:AiLink_xxxx

注:xxxx为Mac地址后4个字符

4.2  UUID说明

BM模块有两个服务UUID,一个是模块固定的服务UUID,为FFE0,一个是用户可以自定义的服务UUID,默认为FEE0。

易连物联网的AiLink APP交互使用的服务UUID为 FFE0。

同时,两个UUID都可以作为普通的数据交互UUID。

4.3 蓝牙连接服务列表1:FFE0举例

4.3.1 服务UUID:

0000FFE0-0000-1000-8000-00805F9B34FB

 

4.3.2 特征值UUID1:

0000FFE1-0000-1000-8000-00805F9B34FB

属性:read,write,write no response

功能 :APP下发的数据会通过此UUID透传给MCU

 

4.3.3 特征值UUID2:

0000FFE2-0000-1000-8000-00805F9B34FB

属性:read,notify

功能: MCU发给BLE的数据由此UUID透传给APP

 

4.3.4 特征值UUID3:

0000FFE3-0000-1000-8000-00805F9B34FB

属性:read,write,write no response,notify

功能:APP与BLE进行设置类指令的UUID,有write和notify

 

4.4  广播数据

说明:广播数据有两类,用户只能选择其中的一类进行设置。

第一类广播:AiLink设置(默认)。使用我司AILInk APP接入的设置,需根据我司要求的格式进行设置。

第二类广播:用户自定义设置。不使用我司AiLink APP接入的设置,用户可以根据自身需求进行设置。若不设置则默认为我司设置。

 

4.4.1 第一类广播设置

AiLink设置广播数据内容包含(详情设置请查看设置读取CID、PID、VID):

1、Company ID 。固定:496e(In,Inet缩写,此处预留后续申请SIG company号)

2、CID:产品类型(2bytes)(例如血压计为0x0001,额温枪为0x0002,祥查看协议透传产品介绍)

3、VID:厂商ID (2byte)  (由我司分配)

4、PID:产品ID (2byte)  (由厂商分配)

5、Mac地址(MAC是固定的,大小端序可设置,默认小端序)

例如广播出来的自定义数据为:

6e49000100010001126134231102

6e49:为In,0001是CID,表示产品类型,0001是VID,表示厂商ID,0001是PID,表示产品ID。

126134231102是Mac地址,因为是小端序,所以Mac地址是:02 :11 :23 :34 :61 :12

 

蓝牙工具显示如下图:

 

 

 

4.4.2 第二类广播设置

若使用此类广播自定义数据,则第一类的广播自定义数据不启动(CID、VID、PID等设置不启用)。详情设置请查看第二类广播自定义设置。

 


5 BM模块与MCU交互协议

注:以下设置类指令请查看ailink通用透传应用手册。

ailink协议透传应用手册需要和ailink通用透传应用手册一起使用。

 

5.1  设置(获取)指令

l 设置类指令(以下指令不透传)。

l 设置、读取 模块广播名称 

l 设置、读取第二类自定义广播数据

l 设置、读取 广播间隔时间

l 设置、读取 连接间隔

l 设置、读取串口波特率

l 读取  MAC地址

l 读取  BM模块硬件\软件版本号

l 设置、读取 MCU设备版本号

l 设置、读取 模块主从模式

l 设置、读取 模块无连接模式自动休眠时间。

l 设置  模块进入睡眠模式

l 设置  唤醒模块

l 设置、读取 当前系统时间。

l 设置、读取CID、VID 、PID

l 设置  模块重启

l 设置  模块恢复出厂设置。

l 设置、获取模块状态

l 设置  MCU的电池状态

l 设置  读取MCU所支持的单位

l 设置、取消使能绑定

l MCU端设置蓝牙锁的开锁类型

l MCU上传设备基本信息

l APP同步时间到MCU

 

l master模式下设置、获取扫描的白名单

l master模式下设置、获取扫描识别的蓝牙名称

l master模式下设置、获取扫描状态(待完成)

l master模式下BM返回扫描到的广播厂商自定义数据

 

 


设置类指令格式规范(不透传):

Byte

Value

Description

0

0xA6

包头

1

 

Payload长度(最大16byte)

2 ~n

 

Payload

n+1

SUM(1~n)

(1~n)校验和

n+2

0x6A

包尾(注:n+2不能超过20)

包头和包尾是固定的,分别为0xA6,和0x6A。

检验和是指byte1 + byte2 + …+byte n 的和,取低位1 byte。

设置指令里,数据的Byte数不能超过20

 

 

 

 

 

 


6  协议透传产品介绍

产品编号

产品名称

产品类型(CID)

1

胎压转接板

000D

 

 

 

 


6.1  胎压转发板

6.1.1  介绍

在传统的胎压接收器的基础上,加入BM模块并用以下指令协议,可以快速实现传统胎压接收器蓝牙化,并连接上AiLink中的胎压监测功能。

6.1.2  交互流程

以下流程步骤,缺一不可。

 

1. BM模块上电。

2. BM模块返回状态信息。

3. MCU设置CID。

4. MCU上传自身支持的单位。

5. 申明前后轮胎压阀值是否一起设置。

6. MCU设置蓝牙其他参数,(可根据自身需求设置)。

7. APP查询MCU所拥有的单位。

8. APP主动读取胎压信息(MCU需回复)。

9. APP设置胎压阀值、温度阀值、语音报警。

10. MCU主动上传胎压信息。

11. MCU休眠。

6.1.3  MCU发送数据到APP

MCU需要主动上报胎压的信息状态。

数据格式:

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

0x0d

Payload长度

4

0x01

Type:MCU上传胎压状态

Payload

5

 

轮胎编号:

1:左前轮

2:右前轮

3:左后轮

4:右后轮

6

 

V:实际电压(单位:V)

7

 

电压数据小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

8

 

P:压力值高位

9

 

P:压力值低位

10

 

压力值单位:

0:Kpa

1:Psi

2:Bar

11

 

压力值小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

12

 

T:温度值高位

16bit有符号数,

数值带正负

例如:实际温度是:-10.2℃

则T= -102=0xFF9A  小数点位=1 。

例如:实际温度是:10.2℃

则T=102=0x0066 小数点位=1 。

 

13

 

T:温度值低位

14

 

温度值单位:

0:℃

1:℉

15

 

温度值小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

16

 

S:状态

0 0x00:正常

0x01:漏气

0x02:充气

0x03:启动

0x04:上电

0x05:唤醒

0x06:丢失

17

SUM

校验和

18

0x7A

包尾

 

6.1.4  app下发单位设置

APP可选择不同的单位显示,同时会下发到MCU端进行同步。

数据格式:

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x81

Type:app下发单位设置

Payload

5

 

压力值单位:

0:Kpa (默认)

1:Psi

2:Bar

6

 

温度值单位:

0:℃ (默认)

1:℉

7

SUM(1~6)

(1~6)校验和

8

0x7A

包尾

 

MCU回复设置结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x82

Type:MCU回复单位设置结果

Payload

5

 

结果:

0:设置成功

1:设置失败

2:不支持设置

6

SUM(1~5)

(1~5)校验和

7

0x7A

包尾

 

 

 

 

6.1.5  APP下发指令读取胎压信息

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x02

Type:app主动读取胎压信息

Payload

5

 

轮胎编号:

1:左前轮

2:右前轮

3:左后轮

4:右后轮

6

SUM

校验和

7

0x7A

包尾

 

6.1.6  MCU返回胎压信息

Ø 当APP主动读取胎压信息时,MCU要根据读取的编号,返回对应的编号信息状态。

数据格式:

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x02

Type:MCU返回胎压状态

Payload

5

 

轮胎编号:

1:左前轮

2:右前轮

3:左后轮

4:右后轮

6

 

V:实际电压(单位:V)

7

 

电压数据小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

8

 

P:压力值高位

9

 

P:压力值低位

10

 

压力值单位:

0:Kpa

1:Psi

2:Bar

11

 

压力值小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

12

 

T:温度值高位

16bit有符号数,

数值带正负

例如:实际温度是:-10.2℃

则T= -102=0xFF9A  小数点位=1 。

例如:实际温度是:10.2℃

则T=102=0x0066 小数点位=1 。

 

13

 

T:温度值低位

14

 

温度值单位:

0:℃

1:℉

15

 

温度值小数点:

0:不带小数点

1:带1位小数点

2:带2位小数点

16

 

S:状态

0 0x00:正常

0x01:漏气

0x02:充气

0x03:启动

0x04:上电

0x05:唤醒

0x06:丢失

17

SUM

校验和

18

0x7A

包尾

6.1.7  MCU申明前后轮胎压阀值是否一起设置

MCU需要根据自身设备情况,在这里面阐明前后轮参数是否统一设置。以方便界面统一处理

MCU设置设备基本信息指令

Byte

Value

Description

0

0xA6

包头

1

0x10

Payload 长度

2

0x35

Type:MCU上传设备的基本信息

Payload

3

0x01

数据有效标志位

0x01

4

 

Value

1:一起设置

2:分开设定

5~17

 

0

 

18

Sum

(1~n)校验和

19

0x6A

包尾

 

6.1.8  设置胎压阀值

(若前后轮使用同一种设置,则需要把前后轮参数设一致)。

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x83

Type:app设置胎压阀值

Payload

5~6

 

前轮上限阀值(大端序)

7~8

 

前轮下限阀值(大端序)

9~10

 

后轮上限阀值(大端序)

11~12

 

后轮下限阀值(大端序)

13

 

单位:

0:Kpa

1:Psi

2:Bar

14

 

阀值数值小数点

0:不带小数点

1:带1位小数点

2:带2位小数点

15

SUM

校验和

16

0x7A

包尾

 

MCU回复设置结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x84

Type:MCU回复气压阀值结果

Payload

5

 

结果:

0:设置成功

1:设置失败

2:不支持设置

6

SUM(1~5)

(1~5)校验和

7

0x7A

包尾

 

 

 

6.1.9  设置温度阀值、语音报警

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x85

Type:app设置温度阀值

Payload

5~6

 

温度上限阀值(大端序)

16bit有符号数,

数值带正负

例如:实际温度是:-10.2℃

则T= -102=0xFF9A  小数点位=1 。

例如:实际温度是:10.2℃

则T=102=0x0066 小数点位=1 。

 

7~8

 

温度下限阀值(大端序。预留,目前用不到,值为0000)

16bit有符号数,

数值带正负

例如:实际温度是:-10.2℃

则T= -102=0xFF9A  小数点位=1 。

例如:实际温度是:10.2℃

则T=102=0x0066 小数点位=1 。

 

9

 

温度值单位:

0:℃

1:℉

10

 

阀值数值小数点

0:不带小数点

1:带1位小数点

2:带2位小数点

11

 

语音报警

0:关闭

1:打开

 

12

SUM

校验和

13

0x7A

包尾

 

MCU回复设置结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x86

Type:MCU回复温度阀值设置结果

Payload

5

 

结果:

0:设置成功

1:设置失败

2:不支持设置

6

SUM(1~5)

(1~5)校验和

7

0x7A

包尾

 

 

6.1.10  设置语音报警提示

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x87

Type:app设置温度阀值

Payload

5

 

语音报警

0:关闭

1:打开

 

6

SUM

校验和

7

0x7A

包尾

 

MCU回复设置结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000D

产品类型:

0x000D

3

 

Payload长度

4

0x88

Type:MCU回复报警设置结果

Payload

5

 

结果:

0:设置成功

1:设置失败

2:不支持设置

6

SUM(1~5)

(1~5)校验和

7

0x7A

包尾


7 使用/测试指导

7.1  测试工具

 

 

 

7.2  测试步骤

 

8 自定义说明

 

 

 

 

9 联系我们

深圳市易连物联网有限公司

地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼A栋五层502室

Tel: +(86)0755-81773367    

Email:hw@elinkthings.com

Web: www.elinkthings.com

 

10 附录

 

Copyright © 2020 深圳市易连物联网有限公司 All rights reserved.  

粤ICP备20028711号