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

箱包锁

000F

 

 

 

 


6.1  箱包锁

6.1.1  工作流程

 

6.1.2  功能细节

6.1.2.1 用户类型

APP支持添加密码用户和指纹用户,设备需要根据自身设备类型,上传自身设备信息到APP,以方便APP做相应的数据同步。

6.1.2.2 箱包锁模式

设备支持3种模式,在家模式、旅行模式、托运模式,可以通过APP进行设置。

1、在家模式:断连/连接不报警、一键报警、可开锁。

2、旅行模式:防丢报警、一键报警。

3、托运模式:连接报警。

6.1.2.3 开锁模式

设备支持自动开关锁以及手动开关锁模式,APP可以切换。

 

1、自动模式:

l 自动开锁:蓝牙连接后,设备自动解锁

l 自动上锁:蓝牙断连后,设备自动上锁

 

2、手动模式:

l 手动在APP上点击开锁、关锁。

 

 

 

 

 

 

 

 

6.1.3 数据指令集

6.1.3.1  MCU上传设备基本信息

Byte

Value

Description

0

0xA6

包头

1

0x10

Payload 长度

2

0x35

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

Payload

3

0x01

数据有效标志位

0x01

4

 

开锁类型:

Bit 0: =1:支持按键密码。=0:不支持按键密码

Bit 1: =1:支持指纹密码。=0:不支持指纹密码

5

 

按键密码长度(若支持按键密码,则需说明按键密码长度,没有按键密码,则该值为0)。

0~10:

6

 

箱包锁模式:

Bit0 : =1:支持在家模式。=0:不支持在家模式

Bit1 : =1:支持旅行模式。=0:不支持旅行模式

Bit2 : =1:支持托运模式。=0:不支持托运模式

 

7

 

开锁模式:

Bit0 : =1:支持自动模式。 =0:不支持自动模式

Bit1 : =1:支持手动模式。 =0:不支持手动模式

8

 

移动报警:

0:不支持移动报警

1:支持移动报警

9~17

 

Reserve

0

18

Sum

(1~n)校验和

19

0x6A

包尾

 

6.1.3.2  APP下发绑定成功指令

当APP与箱包锁第一次绑定时,会返回绑定结果。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x01

Tpye:提示用户绑定结果

Payload

5

 

结果:

0x00:绑定成功

0x01:绑定失败,已被其他用户绑定

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

6.1.3.3  APP下发系统初始化指令

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x02

Tpye:提示用户绑定结果

Payload

5

 

Value

0x01

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

6.1.3.4  APP下发清空用户指令

当MCU收到此指令,需要清除之前不存的用户(指纹密码和按键密码),同时返回结果。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x03

Tpye:清空用户

Payload

5

 

Value

0x01

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

MCU返回清空结果。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x03

Tpye:MCU返回清空结果

Payload

5

 

Value

0x00:清空成功

0x01:清空失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

6.1.3.5  APP下发查询箱包锁状态指令

当APP连接到箱包锁时,会下发指令查询锁当前的状态,以方便同步数据,返回格式根据APP开关锁指令后的MCU返回结果格式。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x03

Tpye:查询箱包锁状态

Payload

5

 

Value

0x01

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

6.1.3.6  APP开关锁指令

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x04

Tpye:APP开关锁

Payload

5

 

操作类型:

0:开锁

1:关锁

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

l MCU返回开关锁结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x04

Tpye:APP开关锁

Payload

5

 

操作用户:

0:APP操作

1:密码操作

2:指纹操作

3:自动操作

6

 

操作类型:

0:开锁

1:关锁

2:开锁中

3:关锁中

 

7

 

操作结果:

0:成功

1:失败

 

8

SUM(1~n)

(1~n)校验和

9

0x7A

包尾

 

 

6.1.3.7  APP添加用户

 

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x05

Tpye:APP申请添加用户

Payload

5

 

添加类型:

0:普通密码用户

1:指纹用户

6~7

 

用户ID编号(两个byte)

如ID=0x0123,则byte7=0x01,byte8=0x23;

若编号已存在,则覆盖。

0xFFFF为无编号,MCU端自定义编号。

8~10

 

用户密码(3个byte组成的数据,根据设备类型支持的密码位数选择有效数字,普通密码类型才会用到,其他用户类型使用0xFFFFFF)

例如密码长度为6个数字。

例如:数据byte9=01,byte10=E6,byte11=A2

数据=0x01E6A2=124578

那么密码就是:124578

 

      数据=0x9227B9=9578425

那么密码就是:578425

 

      数据=0x8E=142

     那么密码就是:000142

11

SUM(1~n)

(1~n)校验和

12

0x7A

包尾

 

 

 

l MCU回复申请添加结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x05

Tpye:MCU回复添加结果

Payload

5

 

回复结果:

0:添加成功

1:添加失败(需要在状态里说明失败原因)

2:添加中(例如添加指纹用户,需要分步进行时可使用到)

6

 

用户类型:

0:普通密码用户

1:指纹用户

7~8

 

用户ID编号(2个byte)

如ID=0x0123,则byte7=0x01,byte8=0x23;

9

 

状态 state:

l 如果结果是添加成功时,该值为 state = 0

 

l 如果结果是添加失败时,该值为失败原因:

State =

1:密码相似

2:找不到指纹

....

0xFF :其他异常

 

l 如果结果是添加中时,该值为对应的步骤,例如指纹的步骤,以方便APP同步做提示(如果需要提示用户换位置时,State=0xFF)。

State=

1~N

 

10

 

指纹录入百分比:0% ~100%

数值 0~100

(其他用户类型则填0)

11

SUM(1~n)

(1~n)校验和

12

0x7A

包尾

 

6.1.3.8   APP取消添加用户

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x06

Tpye:APP取消添加用户

Payload

5

 

操作内容:

1:取消添加用户

7

SUM(1~n)

(1~n)校验和

8

0x7A

包尾

 

l MCU回复取消添加结果。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x06

Tpye:MCU回复取消添加结果

Payload

5

 

回复结果:

0:取消成功

1:取消失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

6.1.3.9   APP下发删除用户

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x07

Tpye:APP删除用户

Payload

5

 

用户类型:

0:普通密码用户

1:指纹用户

6~7

 

用户编号(2 byte)

如ID=0x0123,则byte6=0x01,byte7=0x23;

8

SUM(1~n)

(1~n)校验和

9

0x7A

包尾

 

l MCU返回删除结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x07

Tpye:MCU返回删除用户结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

 

 

6.1.3.10  APP下发模式选择

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x08

Tpye:APP模式选择

Payload

5

 

模式:

1:在家模式

2:旅行模式

3:空运模式

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

l MCU返回结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x08

Tpye:MCU返回模式选择结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

6.1.3.11  APP下发开关锁模式选择

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x09

Tpye:开关锁模式选择

Payload

5

 

模式:

1:自动模式

2:手动模式

6

 

自动开关锁使能

Bit 0 :=0 不能自动开锁。 =1:能够自动开锁

Bit 1 :=0 不能自动关锁。 =1:能够自动关锁

7

SUM(1~n)

(1~n)校验和

8

0x7A

包尾

 

l MCU返回结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x09

Tpye:MCU返回选择结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

6.1.3.12  APP下发防丢报警设置

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0A

Tpye:防丢报警设置

Payload

5

 

模式:

0:禁止防丢报警

1:使能防丢报警

6~7

 

报警时长:(高位在前,低位在后)

0:连续报警

1~0xFFFF (时间 S)

8

SUM(1~n)

(1~n)校验和

9

0x7A

包尾

 

l MCU返回结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0A

Tpye:MCU返回设置结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

6.1.3.13  APP下发一键报警

当APP下发一键报警指令时,MCU需要返回接收到的信息,同时进行报警。

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0B

Tpye:一键报警设置

Payload

5

 

模式:

0:停止报警

1:启动报警

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

l MCU返回结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0B

Tpye:MCU返回设置结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

7

0x7A

包尾

 

 

6.1.3.14  APP下发移动报警设置

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0C

Tpye:防丢报警设置

Payload

5

 

模式:

0:停止移动报警

1:启动移动报警

6

 

灵敏度

0~255 (数值越大,越灵敏)

 

7

SUM(1~n)

(1~n)校验和

8

0x7A

包尾

 

l MCU返回结果

Byte

Default

Description

0

0xA7

包头

1~2

0x000F

产品类型:

0x000F

3

 

Payload长度(最大15byte)

4

0x0C

Tpye:MCU返回设置结果

Payload

5

 

返回结果:

0:成功

1:失败

6

SUM(1~n)

(1~n)校验和

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号