diff --git a/蓝牙秤/B03PRO_B02PRO_B07PRO.pdf b/蓝牙秤/B03PRO_B02PRO_B07PRO.pdf new file mode 100644 index 0000000..5315328 --- /dev/null +++ b/蓝牙秤/B03PRO_B02PRO_B07PRO.pdf @@ -0,0 +1,614 @@ +AiLink 婴儿秤协议透传应用说明 + + 版本:V3.1.20 + 更新日期:2020 年 08 月 19 日 + 深圳市易连物联网有限公司版权所有 + + 本产品的规格书如有变更,恕不另行通知。 + 深圳市易连物联网有限公司保留在不另行通知的情况下,对其中所包含的规格书和材料进行更改 +的权利,同时由于信任所引用的材料所造成的损害(包括结果性损害),包括但不限于印刷上的错误 +和其他与此出版物相关的错误,易连物联网将不承担责任。 + +深圳市易连物联网有限公司 -1- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 修改记录 + +文档版本 作者 发布日期 修改说明 + +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.拆分协议为通用透传和协议透传 +3.1.20 lxl 2020/8/19 1.婴儿秤锁定指令增加注意事项 + +深圳市易连物联网有限公司 -2- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 目录 + +修改记录........................................................................................................................................................- 2 - +目录................................................................................................................................................................- 3 - +1 概述............................................................................................................................................................- 4 - +2 说明............................................................................................................................................................- 4 - +3 工作模式....................................................................................................................................................- 4 - + + 3.1 模式一:断电模式。.....................................................................................................................- 5 - + 3.2 模式二:长供电休眠模式。.........................................................................................................- 5 - +4 蓝牙接口(默认)....................................................................................................................................- 7 - + 4.1 蓝牙名称:AiLink_xxxx.................................................................................................................. - 7 - + 4.2 UUID 说明........................................................................................................................................ - 7 - + 4.3 蓝牙连接服务列表 1:FFE0 举例................................................................................................. - 7 - + 4.4 广播数据.........................................................................................................................................- 7 - + + 4.4.1 第一类广播设置................................................................................................................................. - 8 - + 4.4.2 第二类广播设置................................................................................................................................. - 9 - +5 BM 模块与 MCU 交互协议...................................................................................................................... - 10 - + 5.1 设置(获取)指令.......................................................................................................................- 10 - +6 协议透传产品介绍..................................................................................................................................- 12 - + 6.1 婴儿秤...........................................................................................................................................- 13 - + 6.1.1 交互流程........................................................................................................................................... - 13 - + 6.1.2 发送体重数据。............................................................................................................................... - 13 - + 6.1.3 MCU 发送身长数据。....................................................................................................................... - 14 - + 6.1.4 app 下发单位设置............................................................................................................................. - 15 - + 6.1.5 MCU、APP 控制类指令.....................................................................................................................- 16 - + 6.1.6 设备上发错误码............................................................................................................................... - 17 - + 6.1.7 MCU 开发流程举例........................................................................................................................... - 17 - +7 使用/测试指导........................................................................................................................................ - 20 - + 7.1 测试工具.......................................................................................................................................- 20 - + 7.2 测试步骤.......................................................................................................................................- 20 - +8 自定义说明..............................................................................................................................................- 20 - +9 联系我们..................................................................................................................................................- 20 - +10 附录........................................................................................................................................................- 20 - + +深圳市易连物联网有限公司 -3- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 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 模块支持两种工作模式,断电模式和不断电休眠模式,用户可以根据自身需求合 + 理选择工作模式。 + +深圳市易连物联网有限公司 -4- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 用户可以在设计 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 可以发两次唤醒指 + 令。 + + 工作流程参考如下: + +深圳市易连物联网有限公司 -5- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + MCU 上 N BM Y + 电 + 断连 +BM 上电, +BM 发送就绪状态 状态 + + MCU 按 MCU 进 APP + +MCU 对 入激活状 + +BM 初始化 键工作 态 + +MCU 发 MCU 进 BM 模块 BM 唤醒 +指令让 入待机状 接连到 MCU + 态 APP +BM 进入 +睡眠模式 + +深圳市易连物联网有限公司 -6- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 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 广播数据 + + 说明:广播数据有两类,用户只能选择其中的一类进行设置。 + +深圳市易连物联网有限公司 -7- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 第一类广播: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 + + 蓝牙工具显示如下图: + +深圳市易连物联网有限公司 -8- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4.4.2 第二类广播设置 + +若使用此类广播自定义数据,则第一类的广播自定义数据不启动(CID、VID、PID 等设置不 +启用)。详情设置请查看第二类广播自定义设置。 + +深圳市易连物联网有限公司 -9- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5 BM 模块与 MCU 交互协议 + +注:以下设置类指令请查看 ailink 通用透传应用手册。 + +ailink 协议透传应用手册需要和 ailink 通用透传应用手册一起使用。 + + 5.1 设置(获取)指令 + +  设置类指令(以下指令不透传)。 +  设置、读取 模块广播名称 +  设置、读取第二类自定义广播数据 +  设置、读取 广播间隔时间 +  设置、读取 连接间隔 +  设置、读取串口波特率 +  读取 MAC 地址 +  读取 BM 模块硬件\软件版本号 +  设置、读取 MCU 设备版本号 +  设置、读取 模块主从模式 +  设置、读取 模块无连接模式自动休眠时间。 +  设置 模块进入睡眠模式 +  设置 唤醒模块 +  设置、读取 当前系统时间。 +  设置、读取 CID、VID 、PID +  设置 模块重启 +  设置 模块恢复出厂设置。 +  设置、获取模块状态 +  设置 MCU 的电池状态 +  设置 读取 MCU 所支持的单位 +  设置、取消使能绑定 +  MCU 端设置蓝牙锁的开锁类型 +  MCU 上传设备基本信息 +  APP 同步时间到 MCU + +  master 模式下设置、获取扫描的白名单 +  master 模式下设置、获取扫描识别的蓝牙名称 +  master 模式下设置、获取扫描状态(待完成) +  master 模式下 BM 返回扫描到的广播厂商自定义数据 + +深圳市易连物联网有限公司 - 10 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 设置类指令格式规范(不透传): + +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 + +深圳市易连物联网有限公司 - 11 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6 协议透传产品介绍 + +产品编号 产品名称 产品类型(CID) + 0004 +1 婴儿秤 + +深圳市易连物联网有限公司 - 12 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1 婴儿秤 + +6.1.1 交互流程 + + 1. 设备按电源键开机。 + 2. MCU 设置 CID。 + 3. MCU 上传自身支持的单位。 + 4. MCU 上传电量状态(若无可不传)。 + 5. MCU 设置模块其他内容。 + 6. APP 查询 MCU 所拥有的单位 + 7. MCU 发送实时体重。 + 8. MCU 发送稳定体重。 + 9. MCU 发送身长。 + 10. 按 Power 键或者超时设备自动关机,蓝牙断电。 + +6.1.2 发送体重数据。 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度 +3 Type:体重数据标志 +4 1:稳定数据(APP 收到此数据会界面弹出框请求保存)。 + 2:实时数据。 +5 体重数据的高字节 +6 体重数据的低字节 +7 数据标志:单位 + 0:kg +8 1:斤 Payload + 2:lb:oz + 3:oz - 13 - + 4:st:lb + 5:g + 6:lb (纯 lb 显示) + 数据标志: + Bit 4:重量正负 + 0:正重量(重量为正数) + 1:负重量(重量为负数) + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + bit0 ~bit3:小数点 + 0:无小数点。 + 1:1 位小数点。 + 2:2 位小数点。 + +9 SUM(1~8) (1~8)校验和 + +10 0x7A 包尾 + +6.1.3 MCU 发送身长数据。 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度 +3 Type:身长数据标志。 +4 0x03:稳定数据(APP 收到此数据会界面弹出框请求保存)。 + 0x04:实时数据。 +5 身长数据的高字节 +6 身长数据的低字节 +7 数据标志:单位 + 0:cm + 1:inch Payload + 2:ft-in +8 数据标志:小数点 + 0:无小数点。 + 1:1 位小数点。 + 2:2 位小数点。 + N:N 位小数点。 + +9 SUM(1~8) (1~8)校验和 + +10 0x7A 包尾 + +深圳市易连物联网有限公司 - 14 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.4 app 下发单位设置 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度 +3 Type:app 下发单位设置 + 身长单位 +4 0x81 0:cm + 1:inch +5 2:ft-in + 体重单位 +6 0:kg + 1:斤 + 2:lb:oz Payload + 3:oz + 4:st:lb Payload + 5:g + 6:lb - 15 - + +7 SUM(1~6) (1~6)校验和 + 包尾 +8 0x7A + Description +MCU 回复设置结果 包头 + 产品类型: +Byte Default 0x0004 + Payload 长度 +0 0xA7 Type:MCU 回复单位设置结果 + 结果: +1~2 0x0004 0:设置成功 + 1:设置失败 +3 2:不支持设置 + (1~5)校验和 +4 0x82 包尾 + +5 + +6 SUM(1~5) + +7 0x7A + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 6.1.5 MCU、APP 控制类指令 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度 +3 Type:互发指令(APP 和 MCU 相互发) + 当 APP 下发给 MCU 时,MCU 需要回复结果 +4 0x83 指令内容 + 0:去皮 Tare。 +5 1:锁定 Hold(相当于设备上的 Hold 按键,APP 下发 hold 指令 Payload + 时,相当于设备上的 Hold 按键触发)。 +6 SUM(1~5) (1~n)校验和 + 包尾 +7 0x7A + +注:当设备端没有锁定时,如果收到锁定的指令,应该锁定;当设备端已经锁定时,接收到锁定的 +指令,应该解除锁定。 + +MCU 回复控制结果 + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度 +3 Type:MCU 回复控制结果 + 指令内容: +4 0x84 0:去皮 Tare。 + 1:锁定 Hold。 +5 结果: + 0:成功 +6 1:失败 Payload + 2:不支持设置 +7 SUM(1~6) (1~6)校验和 + 包尾 +8 0x7A + +深圳市易连物联网有限公司 - 16 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.6 设备上发错误码 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0004 0x0004 + Payload 长度(最大 15byte) +3 Type:错误码 + 错误内容: +4 0xFF 0:超重 + 1:称重抓 0 期间,重量不稳定 +5 2:称重抓 0 失败 + (1~5)校验和 + 包尾 Payload + +6 SUM(1~5) + +7 0x7A + +6.1.7 MCU 开发流程举例 + +  开机。 +  BM 模块返回蓝牙就绪状态信息,MCU 可以和 BM 模块信息交互。 +  MCU 设置 CID,VID,PID。(CID 必须设。VID、PID 可选设) + + 发送:a6 08 1D 01 00 04 00 00 00 00 2a 6a + +  MCU 设置蓝牙广播名称。(可选设,不设则默认为 AiLink_xxxx) + 发送:A6 06 01 73 77 61 6E 00 C0 6A (此蓝牙名称为 swan) + +  设置其他内容(如 广播间隔、连接间隔等),可选择设置。 + +  MCU 控制去皮。 + 发送:A7 00 04 02 83 00 89 7A + +  MCU 发送实时体重。 + 发送:A7 00 04 05 02 01 FE 00 02 0C 7A + 实时体重 5.10kg。 + +  MCU 发送稳定体重。 + 发送:A7 00 04 05 01 01 FE 00 02 0B 7A + +深圳市易连物联网有限公司 - 17 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 稳定体重 5.10kg。 + + MCU 发送身长。 + 发送:A7 00 04 05 03 11 C6 00 02 E5 7A + 身长 45.50cm。 + + MCU 设置 BM 休眠。(可选设,或者直接断开 BM 电源) + 发送:A6 04 01 00 00 00 05 6A (进入休眠,不开启低频广播) + + MCU 关机。 + +婴儿秤数据交互流程细节 // BM 开机 ,给 MCU 下发 开机就绪指令 +◆A6 03 26 00 02 2B 6A // MCU 设置 CID 、VID 、PID 指令 +◇A6 08 1D 07 00 04 00 01 00 01 32 6A // BM 返回设置成功 +◆A6 01 1D 00 1E 6A + // BM 连接 APP,同时给 MCU 下发连接状态 +◆A6 03 26 01 02 2C 6A // APP 下发单位设置 +◆A7 00 04 03 81 00 00 88 7A // MCU 返回设置单位失败 +◇A7 00 04 02 82 01 89 7A // APP 再次下发单位设置 +◆A7 00 04 03 81 00 00 88 7A // MCU 返回设置单位成功 +◇A7 00 04 02 82 00 88 7A + +情况一 // MCU 上传实时体重 +◇A7 00 04 05 02 01 FE 00 02 0C 7A // MCU 上传实时体重 +◇A7 00 04 05 02 02 08 00 02 17 7A // MCU 主动上传稳定体重 +◇A7 00 04 05 01 01 FE 00 02 0B 7A // APP 回复锁定重量 +◆A7 00 04 02 83 01 8A 7A + // MCU 上传实时体重 +情况二 // MCU 上传实时体重 +◇A7 00 04 05 02 01 FE 00 02 0C 7A // APP 下发锁定重量 +◇A7 00 04 05 02 02 08 00 02 17 7A +◆A7 00 04 02 83 01 8A 7A + +◇A7 00 04 05 03 11 C6 00 02 E5 7A // MCU 上传身长数据 +◆A7 00 04 02 83 00 89 7A // APP 下发归零指令 +◇A7 00 04 05 02 00 00 00 02 0D 7A // MCU 归零,同时上传实时体重 0 + +MCU 断电关机 + +深圳市易连物联网有限公司 - 18 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 深圳市易连物联网有限公司 - 19 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 7 使用/测试指导 + + 7.1 测试工具 + + 7.2 测试步骤 + +8 自定义说明 + +9 联系我们 + + 深圳市易连物联网有限公司 + 地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + Tel: +(86)0755-81773367 + Email:hw@elinkthings.com + Web: www.elinkthings.com + +10 附录 + +深圳市易连物联网有限公司 - 20 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + diff --git a/蓝牙秤/F01_F01PRO_福瑞康_AiLink_身高体脂秤模块透传应用说明V1.3_20210421_UART通用端.pdf b/蓝牙秤/F01_F01PRO_福瑞康_AiLink_身高体脂秤模块透传应用说明V1.3_20210421_UART通用端.pdf new file mode 100644 index 0000000..56603e4 --- /dev/null +++ b/蓝牙秤/F01_F01PRO_福瑞康_AiLink_身高体脂秤模块透传应用说明V1.3_20210421_UART通用端.pdf @@ -0,0 +1,2336 @@ +AiLink_身高体脂秤模块透传应 + 用说明 + + 版本:V1.3 + 更新日期:2021 年 4 月 21 日 +深圳市易连物联网有限公司版权所有 + + 本产品的规格书如有变更,恕不另行通知。 + 深圳市易连物联网有限公司保留在不另行通知的情况下,对其中所包含的规格书和材料进行更改 +的权利,同时由于信任所引用的材料所造成的损害(包括结果性损害),包括但不限于印刷上的错误 +和其他与此出版物相关的错误,易连物联网将不承担责任。 + +深圳市易连物联网有限公司 -1- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 修改记录 + +文档版本 作者 发布日期 修改说明 + +V1.0 LYX 2020/12/16 1、增加身高体脂秤协议 +V1.1 LYX 2021/2/24 1、修改身高体脂秤协议(通用 0x26) +V1.2 lxl 2021/2/25 1、修正指令描述 +V1.3 LYX 2021/4/21 1、增加体重身高模式 + +深圳市易连物联网有限公司 -2- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 目录 + +修改记录........................................................................................................................................................- 2 - + +目录................................................................................................................................................................- 3 - + +1 概述............................................................................................................................................................- 5 - + +2 说明............................................................................................................................................................- 5 - + +3 工作模式....................................................................................................................................................- 5 - + +3.1 模式一:断电模式。.....................................................................................................................- 6 - + +3.2 模式二:长供电休眠模式。.........................................................................................................- 6 - + +4 蓝牙接口(默认)....................................................................................................................................- 8 - + +4.1 蓝牙名称:AiLink_xxxx.................................................................................................................. - 8 - + +5 BM 模块与 MCU 交互协议........................................................................................................................ - 9 - + +5.1 设置(获取)指令.........................................................................................................................- 9 - + + 5.1.1 设置、获取广播名称(Type:01、02)....................................................................................... - 10 - + + 5.1.2 设置、获取广播间隔时间(Type:05、06)............................................................................... - 12 - + + 5.1.3 读取 MAC 地址(Type:0D)......................................................................................................... - 13 - + + 5.1.4 读取 BM 模块软、硬件版本号(Type:0E)................................................................................ - 14 - + + 5.1.5 设置、读取模块自动休眠时间(Type:17、18)....................................................................... - 15 - + + 5.1.6 设置模块进入睡眠(Type:19)................................................................................................... - 16 - + + 5.1.7 设置模块唤醒(Type:1A)........................................................................................................... - 17 - + + 5.1.8 设置、读取系统当前时间(Type:1B、1C)............................................................................... - 19 - + + 5.1.9 设置、读取 CID、VID、PID(Type:1D、1E)............................................................................. - 21 - + + 5.1.10 设置、获取 BM 模块状态(Type:25、26)..............................................................................- 22 - + + 5.1.11 MCU 上报 MCU 电池状态(Type:27、28)............................................................................... - 24 - + + 5.1.12 APP 查询 MCU 拥有的单位(Type:2C).....................................................................................- 26 - + + 5.1.13 MCU 上传设备基本信息(Type:35、36)................................................................................. - 28 - + + 5.1.14 APP 同步时间到 MCU(Type:37、38)......................................................................................- 29 - + + 5.1.15 BM 模块自动唤醒设置、自动进入睡眠返回(Type:3A、3B)............................................... - 30 - + +5.2 协议透传指令...............................................................................................................................- 32 - + +5.3 数据透传.......................................................................................................................................- 32 - + +6 协议透传产品介绍..................................................................................................................................- 33 - + +6.1 身高体脂秤(CID=0x0026)....................................................................................................... - 33 - + + 6.1.1 交互流程........................................................................................................................................... - 33 - + + 6.1.2 APP 下发用户信息............................................................................................................................. - 34 - + + 6.1.3 MCU 主动请求用户........................................................................................................................... - 34 - + + 6.1.4 APP/MCU 设置单位........................................................................................................................... - 35 - + + 6.1.5 APP 下发工作模式............................................................................................................................. - 36 - + + 6.1.6 APP 读取声音设置............................................................................................................................. - 37 - + + 6.1.7 APP/MCU 声音设置........................................................................................................................... - 37 - + + 6.1.8 APP 获取工作状态............................................................................................................................. - 38 - + +深圳市易连物联网有限公司 -3- +电话:(86)0755-81773367 + 邮箱:hw@elinkthings.com + +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.9 身高体脂秤模式............................................................................................................................... - 39 - + 6.1.10 抱婴模式......................................................................................................................................... - 45 - + 6.1.11 体重模式......................................................................................................................................... - 46 - + 6.1.12 体重身高模式................................................................................................................................. - 47 - + 6.1.13 MCU 发送测量完成......................................................................................................................... - 48 - + 6.1.14 APP 回复测量完成........................................................................................................................... - 49 - + 6.1.15 设备上发错误码............................................................................................................................. - 49 - +7 使用/测试指导........................................................................................................................................ - 51 - + 7.1 测试工具.......................................................................................................................................- 51 - + 7.2 测试步骤.......................................................................................................................................- 51 - +8 自定义说明..............................................................................................................................................- 51 - +9 联系我们..................................................................................................................................................- 51 - +10 附录........................................................................................................................................................- 51 - + +深圳市易连物联网有限公司 -4- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 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 模块状态”。 + +3 工作模式 + +  BM 模块支持两种工作模式,断电模式和不断电休眠模式,用户可以根据自身需求合 + 理选择工作模式。 + 用户可以在设计 PCB 的时候,预留两种方式的电路。详情请查看硬件规格书规格书。 + +深圳市易连物联网有限公司 -5- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 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 可以发两次唤醒指 + 令。 + +  工作流程参考如下: + +深圳市易连物联网有限公司 -6- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + MCU 上 N BM Y + 电 + 断连 +BM 上电, +BM 发送就绪状态 状态 + + MCU 按 MCU 进 APP + +MCU 对 入激活状 + +BM 初始化 键工作 态 + +MCU 发 MCU 进 BM 模块 BM 唤醒 +指令让 入待机状 接连到 MCU + 态 APP +BM 进入 +睡眠模式 + +深圳市易连物联网有限公司 -7- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4 蓝牙接口(默认) + + 4.1 蓝牙名称:AiLink_xxxx + + 注:xxxx 为 Mac 地址后 4 个字符 + +深圳市易连物联网有限公司 -8- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5 BM 模块与 MCU 交互协议 + +5.1 设置(获取)指令 + + 设置类指令(以下指令不透传)。 + + 设置、读取 模块广播名称 + + 设置、读取 广播间隔时间 + + 读取 MAC 地址 + 读取 BM 模块硬件\软件版本号 + 设置、读取 模块无连接模式自动休眠时间。 + + 设置 模块进入睡眠模式 + + 设置 唤醒模块 + + 设置、读取 当前系统时间。 + + 设置、读取 CID、VID 、PID + 设置、获取模块状态 + + 设置 MCU 的电池状态 + 设置 读取 MCU 所支持的单位 + MCU 上传设备基本信息 + APP 同步时间到 MCU + +设置类指令格式规范(不透传): + +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 + +深圳市易连物联网有限公司 -9- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.1 设置、获取广播名称(Type:01、02) + +设置蓝牙名称: + 设置蓝牙名称可以设置为固定字符作为蓝牙名称,例如设置为 swan,所有的模块都会显示为 + + swan。同时也可以设置为固定蓝牙名称+“_”+ Mac 地址的方式,这样子有利于每个模块的 + 名称都有差异。详细见如下指令说明: + +Byte Value Description + +0 0xA6 包头 +1 Len +2 0x01 Payload 长度(最大 16byte) +3~n Name Type:设置蓝牙名称 +n+1 Num 名称(需要对应 ASCII 表) + MAC 字符个数:名称后面跟随的 MAC 字符的个数 + 0:代表没有,则是固定蓝牙名称。 Payload + 1:代表后面带有 mac 地址的 1 个字符,例如: +n+2 Sum Swan_x。 +N+3 0x6A 2:代表后面带有 mac 地址的 2 个字符,例如: + Swan_xx。 + 默认 Num=4;Num 最大为 12 + 注:Name 长度+“_”+Num 最大为 15 + (1~n)校验和 + 包尾 + +举例 : 蓝牙的 MAC 地址为 12 : 34 : 56 : 78 : 9A : BC。 + 如果设置蓝牙名称为 swan, 且不带 MAC 地址时,那么发送 A6 06 01 73 77 61 6E 00 C0 6A ,则蓝牙名称 + + 为 swan + 如果设置蓝牙名称为 swan,且带 MAC 地址 2 个字符,那么发送 A6 06 01 73 77 61 6E 02 C2 6A ,则蓝牙 + + 名称为 swan_BC + 如果设置蓝牙名称为 swan,且带 MAC 地址 4 个字符,那么发送 A6 06 01 73 77 61 6E 04 C4 6A ,则蓝牙 + + 名称为 swan_9ABC + 整个蓝牙名称长度最长为 15 个字符。 + +BM 回复设置结果: + +深圳市易连物联网有限公司 - 10 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:回复设置蓝牙名称结果 + 结果值: +2 0x01 + 0:成功(立即生效) +3 1:失败 + 2:不支持 + (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +举例:设置成功 + 返回 A6 02 01 00 03 6A + + 设置失败 + 返回 A6 02 01 01 04 6A + +获取蓝牙名称: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:获取蓝牙名称 + (1~2)校验和 +2 0x02 包尾 Payload + Payload +3 0x03 + +4 0x6A + +BM 返回蓝牙名称: + +Byte Value Description + +0 0xA6 包头 +1 Len Payload 长度(最大 16 byte) +2 0x02 Type:回复蓝牙名称 +3~n Name 蓝牙名称(最长 15 byte) +n+1 Sum (1~n)校验和 +n +2 0x6A 包尾 + + 举例:蓝牙名称为 swan_BC + 发送查询指令 :A6 01 02 03 6A + BM 返回名称: A6 08 02 73 77 61 6E 5F 42 43 A7 6A + +深圳市易连物联网有限公司 - 11 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.2 设置、获取广播间隔时间(Type:05、06) + +设置广播间隔: + +Byte Value Description + +0 0xA6 包头 + +1 0x03 Payload 长度 + +2 0x05 Type:设置广播间隔(单位:ms 范围:20-2000 ;默 + +3 认 200) Payload + 广播间隔时间的高字节 + +4 广播间隔时间的低字节 + +5 Sum (1~4)校验和 + +6 0x6A 包尾 + + 举例:设置广播间隔为:1000ms + 发送:A6 03 05 03 E8 F3 6A + +BM 回复设置结果: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:回复设置蓝牙广播间隔结果 + 结果值: +2 0x05 + 0:成功 +3 1:失败 + 2:不支持 +4 Sum (1~3)校验和 Payload + 包尾 +5 0x6A Payload + +获取广播间隔时间: - 12 - + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:获取蓝牙广播间隔 + (1~2)校验和 +2 0x06 包尾 + +3 0x07 + +4 0x6A + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + BM 返回广播间隔: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x03 Type:回复广播间隔时间(单位:ms) + 广播间隔时间的高字节 +2 0x06 广播间隔时间的低字节 + (1~4)校验和 +3 包尾 Payload + +4 + +5 Sum + +6 0x6A + + 举例:广播间隔为 1000ms + 返回 A6 03 06 03 E8 F4 6A + +5.1.3 读取 MAC 地址(Type:0D) + +读取 Mac 地址值: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:读取 MAC 地址值 + (1~2)校验和 +2 0x0D 包尾 Payload + Payload +3 0x0E + - 13 - +4 0x6A + +BM 返回 MAC 地址值: + +Byte Value Description + +0 0xA6 包头 +1 0x07 Payload 长度 +2 0x0D Type:回复 MAc 地址值 +3~8 Mac 地址值(6byte、小端序) +9 Sum (1~8)校验和 +10 0x6A 包尾 + + 举例:MAC 地址为 11 :22 :33 :44 :55 :66 + 返回:A6 07 0D 66 55 44 33 22 11 79 6A + +深圳市易连物联网有限公司 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.4 读取 BM 模块软、硬件版本号(Type:0E) + +读取 BM 模块软硬件版本号: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:读取 BM 模块软硬件版本号 + (1~2)校验和 +2 0x0E 包尾 Payload + +3 0x0F + +4 0x6A + +BM 返回软硬件版本号: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:回复 BM 模块软硬件版本号 + +2 0x0E 产品型号。byte3 、byte4 为 ASCII 字符,byte5 + 为数字。 +3 + +4 + +5 + +6 硬件版本号 H + 软件版本号 S +7 定制版本号 P Payload + 年 实际年份=年+2000 +8 + 例如:2019 年 +9 年=2019-2000=19 + +10 月 1~12 + 日 1~31 +11 校验和 + +12 Sum 包尾 + +13 0x6A + + 举例:如软硬件版本号为 BM16H1S1.0P0_20190507 + 解析:BM16 为产品型号,对应实际实际数据为 0x42 0x4D 0x10 + H1 为硬件版本号 1,对应实际数据为 0x01 + S1.0 为软件版本号 1.0 ,对应实际数据为:0x0A(带 1 位小数点) + P0 为定制版本号,对应实际数据为 0 + 年:2019-2000=19,对应实际数据 0x13 + 则返回: A6 0A 0E 42 4D 10 01 0A 00 13 05 07 E1 6A + +深圳市易连物联网有限公司 - 14 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.5 设置、读取模块自动休眠时间(Type:17、18) + + 可以设置模块无数据自动进入休眠模式(低功耗模式,此时设备的 Tx 要保持为高),但是 +要注意的是,当模块进入(休眠模式时,MCU 在发数据前,需要提前发一组数据数据过来唤醒 +模块,模块才能正常开始接受数据。详可查看工作模式说明) + +设置自动睡眠时间: + +Byte Value Description + +0 0xA6 包头 + +1 Payload 长度 + +2 0x17 Type:设置无连接自动睡眠时间 + +3 自动睡眠标志位: + + 0:不开启自动休眠 + + 1:开启自动休眠,模块没有连接自动进入低功耗模式 + +4 自动睡眠时间的最高字节 单位 :s +5 +6 自动睡眠时间的次高字节 范围: +7 +8 自动睡眠时间的次低字节 5 ~ 0xffffffff/100 + + 自动睡眠时间的最低字节 (建议设为:60s) Payload + + 睡眠后是否立刻断开连接,是否开启低频广播: + + 0:断开连接,停止广播。 + + 1:保持连接,开启广播。 + + 2:断开连接 ,开启广播 。 + + 3:保持连接 ,停止广播 。 + +9 低频广播间隔时间的高字节 单位:ms ;范围: +10 低频广播间隔时间的低字节 20~2000;(建议设 + + 为 1000); + +11 Sum (1~10)校验和 + +12 0x6A 包尾 + +BM 回复设置结果: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:回复设置自动睡眠时间结果 + 结果值: +2 0x17 + 0:成功 +3 1:失败 + 2:不支持 + Payload +深圳市易连物联网有限公司 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com - 15 - +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 邮编:518000 + 4 Sum (1~3)校验和 + 包尾 +5 0x6A + +获取自动睡眠时间: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:获取自动睡眠时间值 + (1~2)校验和 +2 0x18 包尾 Payload + +3 0x19 + +4 0x6A + +BM 返回自动睡眠时间值: + +Byte Value Description + +0 0xA6 包头 + +1 Len Payload 长度 + +2 0x18 Type:返回无连接时自动睡眠时间 + +3 自动睡眠标志位: + + 0:不开启自动休眠 + + 1:开启自动休眠,模块没有连接 + +4 自动睡眠时间的最高字节 单位:s +5 +6 自动睡眠时间的次高字节 +7 +8 自动睡眠时间的次低字节 Payload + + 自动睡眠时间的最低字节 + + 睡眠后是否开启低频广播: + + 0:不开启 + + 1:开启 + +9 低频广播间隔的高字节 单位 :ms ;范围 + +10 低频广播间隔的低字节 20~2000 + +11 Sum (1~9)校验和 + +12 0x6A 包尾 + +5.1.6 设置模块进入睡眠(Type:19) + + 当 BM 模块进入休眠后,支持串口唤醒(MCU 可以发任意数据唤醒模块,或者发送唤醒指令), + 支持蓝牙连接唤醒(需要开启睡眠后带广播功能,详情看下面设置进入睡眠指令格式)。 + +设置睡眠唤醒: + +Byte Value Description + +0 0xA6 包头 + +深圳市易连物联网有限公司 - 16 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 1 Len Payload 长度 + Type:设置进入睡眠 +2 0x19 Value: + 0x01 +3 + +4 睡眠后是否断开连接,是否开启低频广播: + + 0:断开连接,关闭广播。 Payload + + 1:保持连接,开启广播。 + + 2:断开连接 ,开启广播 。 + + 3:保持连接 ,关闭广播 。 + +5 低频广播间隔时间的高字节 单位 :ms ;范围 +6 + 低频广播间隔时间的低字节 20~2000 ( 建 议 + + 1000ms) + +7 Sum (1~6)校验和 + +8 0x6A 包尾 + +BM 回复设置结果: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Len Type:回复设置进入睡眠的结果 + 结果值: +2 0x19 + 0:成功(成功后 100ms 后进入睡眠) +3 1:失败 + 2:不支持 + (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + + MCU 和 APP 都可以设置 BM 模块进入睡眠,BM 模块在回复 MCU/APP 时,同时向 APP/MCU + 发送 BM 当前状态“BM 返回模块状态”。 + +5.1.7 设置模块唤醒(Type:1A) + +设置模块唤醒: + +深圳市易连物联网有限公司 - 17 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + Byte Value Description + 包头 +0 0xA6 Payload 长度 + Type:设置模块唤醒 +1 0x02 Value: + +2 0x1A 1:唤醒模块 + (1~3)校验和 +3 0x01 包尾 Payload + Payload +4 0x1D Description + 包头 +5 0x6A Payload 长度 + Type:回复设置模块唤醒结果 +BM 回复设置结果: 结果值: + +Byte Value 0:成功 + 1:失败 +0 0xA6 2:不支持 + (1~3)校验和 +1 0x02 包尾 + +2 0x1A + +3 + +4 Sum + +5 0x6A + +深圳市易连物联网有限公司 - 18 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.8 设置、读取系统当前时间(Type:1B、1C) + +该时间为蓝牙模块的系统时间。 + +设置系统当前时间: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x07 Type:设置系统当前时间 + 0x00 :除能,关闭时间功能(默认) +2 0x1B 0x01 :使能,开启时间功能 + 年:年份=年+2000 +3 月(1~12) + 日(1~31) +4 时(0~23) + 分(0~59) +5 秒(0~59) Payload + 校验和 +6 包尾 Payload + Payload +7 + - 19 - +8 + +9 + +10 Sum + +11 0x6A + +BM 回复设置结果: + +Byte Value Description + 包头 +0 0xA6 Payload 长度 + Type:回复设置系统时间结果 +1 0x02 结果值: + +2 0x1B 0:成功 + 1:失败 +3 2:不支持 + (1~3)校验和 +4 Sum 包尾 + +5 0x6A Description + 包头 +获取系统当前时间: Payload 长度 + Type:获取系统当前时间 +Byte Value (1~2)校验和 + 包尾 +0 0xA6 + +1 0x01 + +2 0x1C + +3 + +4 0x6A + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + BM 返回系统当前时间: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x08 Type:返回系统当前时间 + 系统时间有效位 +2 0x1C 0:系统时间无效 + 1:系统时间有效 +3 年:年份=年+2000 + 月(1~12) +4 日(1~31) Payload + 时(0~23) +5 分(0~59) + 秒(0~59) +6 (1~9)校验和 + 0x6A +7 + +8 + +9 + +10 Sum + +11 包尾 + +深圳市易连物联网有限公司 - 20 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.9 设置、读取 CID、VID、PID(Type:1D、1E) + + CID 为产品类型 ID,请按照协议透传产品类型设置(必须设。详情查看协议透传指令产品介绍) + VID 为设备厂家 ID,请联系我司分配(选设) + PID 为产品型号 ID,厂商自己分配,建议根据产品型号分配唯一值(选设) +以上三个值默认为 0,不代表任何产品(调试阶段先设置 CID) + +设置 ID: Value Description + Byte 0xA6 + 包头 + 0 0x1D + 1 Payload 长度 + 2 + 3 Type:设置 ID + + 设置 ID 标志位 + + Bit0:0 :不设置 CID(CID 值清 0)。 1:设置 CID + + Bit1:0 :不设置 VID(VID 值清 0)。 1:设置 VID + + Bit2:0 :不设置 PID(PID 值清 0)。 1:设置 PID + +4 CID:产品类型 ID 的高字节 Payload + CID:产品类型 ID 的低字节 +5 + +6 VID:厂商 ID 的高字节 + +7 VID:厂商 ID 的低字节 + +8 PID:产品 ID 的高字节 + +9 PID:产品 ID 的低字节 + +10 Sum (1~9)校验和 + +11 0x6A 包尾 + +BM 回复设置结果: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Len Type:回复设置 ID 结果 + 结果值: +2 0x1D + 0:成功 +3 1:失败 + 2:不支持 + (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +获取 ID: + +深圳市易连物联网有限公司 - 21 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:获取 ID 设置值 + (1~2)校验和 +2 0x1E 包尾 Payload + Payload +3 0x1F Description + +4 0x6A 包头 + Payload 长度 +BM 返回 ID 值: Type:返回 ID + 设置 ID 标志位 +Byte Value Bit0 :0 :不设置 CID。 1:设置 CID + Bit1 :0 :不设置 VID。 1:设置 VID +0 0xA6 Bit2: 0 :不设置 PID。 1:设置 PID + CID:产品类型 ID 的高字节 +1 Len CID:产品类型 ID 的低字节 + VID:厂商 ID 的高字节 +2 0x1E VID:厂商 ID 的低字节 + PID:产品 ID 的高字节 +3 PID:产品 ID 的低字节 + (1~9)校验和 +4 包尾 + +5 + +6 + +7 + +8 + +9 + +10 Sum + +11 0x6A + +5.1.10 设置、获取 BM 模块状态(Type:25、26) + +设置蓝牙连接状态 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:设置蓝牙连接状态 + 主动断开连接标志位 +2 0x25 1:立刻断开连接 + 0:不断开连接 +3 (1~3)校验和 Payload + 包尾 +4 Sum - 22 - + +5 0x6A + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + BM 回复设置结果: + +Byte Value Description + 包头 +0 0xA6 Payload 长度 + Type:回复设置蓝牙连接状态结果 +1 0x02 结果值: + +2 0x25 0:成功 + 1:失败 +3 2:不支持 + (1~3)校验和 +4 Sum 包尾 Payload + Payload +5 0x6A Description Payload + 包头 +获取模块状态 Payload 长度 + Type:获取状态 +Byte Value (1~2)校验和 + 包尾 +0 0xA6 + Description +1 包头 + Payload 长度 +2 0x26 Type:返回模块状态 + 连接状态: +3 Sum 0:无连接 + 1:已连接 +4 0x6A + 工作状态: +BM 返回模块状态: 0:唤醒 + 1:进入休眠 +Byte Value 2:模块准备就绪 + (1~4)校验和 +0 0xA6 包尾 + +1 + +2 0x26 + +3 + +4 + +5 Sum + +6 0x6A + +深圳市易连物联网有限公司 - 23 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.11 MCU 上报 MCU 电池状态(Type:27、28) + +上报 MCU 电池状态 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:设置 MCU 电池状态 + 电池充电状态: +2 0x27 0:没有充电(默认) + 1:充电中 +3 2:充满电 + 3:充电异常 +4 电池电量百分比 (0—100%) Payload + (1~4)校验和 Payload +5 Sum 包尾 + +6 0x6A Description + +BM 回复 MCU 上报结果 包头 + Payload 长度 +Byte Value Type:回复 MCU 设置电池结果 + 结果值: +0 0xA6 + 0:成功(成功后会把电池电量上传到 APP) +1 0x02 1:失败 + 2:不支持 +2 0x27 (1~3)校验和 + 包尾 +3 + +4 Sum + +5 0x6A + +查询 MCU 电池状态 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:获取 MCU 电池状态 + (1~2)校验和 +2 0x28 包尾 Payload + +3 Sum - 24 - + +4 0x6A + +返回 MCU 电池状态 + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:返回 MCU 电池状态 + 电池充电状态: +2 0x28 0:没有充电(默认) + 1:充电中 +3 2:充满电 + 3:充电异常 + 电池电量百分比 (0—100%) Payload + MCU 没有数据上传时,默认为 0xFFFF +4 (1~4)校验和 + 包尾 +5 Sum + +6 0x6A + +深圳市易连物联网有限公司 - 25 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.12 APP 查询 MCU 拥有的单位(Type:2C) + + APP 端界面的单位显示是根据 MCU 端所拥有的单位来做处理的,所以当 APP 连接到 MCU + 时,会发送读取指令来获取 MCU 端所拥有的单位,所以 MCU 端收到该指令时,则务必返回 + 相应的单位数据(不返回则使用系统默认值)。 + + MCU 端需要开机后直接主动上传单位到 APP。 + +APP 查询 MCU 端单位指令: + +(BM 模块直接将此指令传给 MCU) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:APP 读取 MCU 端单位 + Value +2 0x2C 0x01 + 校验和 +3 包尾 Payload + +4 + +5 0x6A + +MCU 端返回所拥有的单位指令: + 单位类型 + + 类型编号 类型 支持类型(Bit15~Bit0) + Bit=0 不支持 + 01 重量 Bit=1 支持 + + 02 长度 Bit0:kg + Bit1:斤 + 03 温度 Bit2:lb:oz + Bit3:oz + 04 血压 Bit4:st:lb + Bit5:g + Bit6:lb (纯 lb 显示) + Bit7-bit15 保留 + Bit0:cm + Bit1:inch + Bit2:ft-in + Bit3-bit15 保留 + Bit0 : C + Bit1 : F + Bit2-bit15 保留 + Bit0:mmhg + Bit1:kPa + +深圳市易连物联网有限公司 - 26 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + Bit2-bit15 保留 + + Bit0:Kpa + + 05 轮胎胎压压力 Bit1:Psi + + Bit2:Bar + + Bit3-bit15 保留 + + 06 血糖仪 Bit0:mmol/L + + Bit1:mg/dL + +(BM 模块通过 A6 指令协议传给 APP) + +数据格式*(每组数据长度不能多于 20 个 byte) + +Byte Value Description + +0 0xA6 包头 + +1 Payload 长度 + +2 0x2C Type:MCU 回复单位 + +3 单位类型:例如:重量类型 =01,长度=02,温度=03 + +4 该单位支持类型高位: Bit15~Bit0 + 该单位支持类型低位: 每一个 Bit 代表一个单位 +5 Bit=0:不支持 + Bit=1:支持 + 例如:重量支持 kg 和 oz + 则 byte4=0x00 ,byte5=0x09 + +6 单位类型: Payload +7 +8 单位支持类型高位 Bit15~Bit0 + 单位支持类型低位 每一个 Bit 代表一个单位 + Bit=0:不支持 + Bit=1:支持 + +9 单位类型: +10 +11 单位支持类型高位 Bit15~Bit0 + 单位支持类型低位 每一个 Bit 代表一个单位 + Bit=0:不支持 + Bit=1:支持 + +12 校验和 + +13 0x6A 包尾 + + 举例: + + APP 读取 MCU 单位,发送指令:A6 02 2C 01 2F 6A +  若 MCU 只拥有重量单位 kg 和斤,则返回:A6 04 2C 01 00 03 34 6A +  若 MCU 只拥有重量单位 kg 和长度单位 inch,则返回:A6 07 2C 01 00 01 02 00 02 39 6A +  若 MCU 只拥有胎压单位 Kpa、Psi、Bar 和温度单位℃、℉和重量单位 kg 和 长度单位 cm, + + 则返回:A6 0D 2C 05 00 07 03 00 03 01 00 01 02 00 01 50 6A +  若是 MCU 支持的类型太多,一组数据传不完,则可以分开多组来传,数据格式不变。 + +深圳市易连物联网有限公司 - 27 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.1.13 MCU 上传设备基本信息(Type:35、36) + +此条指令主要用 MCU 上传设备的一些基本的信息,用于 APP 端数据的同步,详情请查看对 + +应的协议透传产品介绍。 + +MCU 设置设备基本信息指令 + +Byte Value Description + +0 0xA6 包头 Payload +1 0x10 Payload 长度 +2 0x35 Type:MCU 上传设备的基本信息 +3 0x01 数据有效标志位 + 0x01 +4~17 Sum 数据 +18 0x6A (1~n)校验和 +19 包尾 + +BM 回复设置结果: + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:BM 回复结果 + 结果值: +2 0x35 + 0:成功 +3 1:失败 + 2:不支持 + (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +读取设备基本信息指令 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:读取设备的基本信息指令 + +2 0x36 Value + 0x01 +3 (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +BM 返回设备基本信息指令 + +Byte Value Description + +0 0xA6 包头 + +深圳市易连物联网有限公司 - 28 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 1 0x10 Payload 长度 Payload +2 0x36 Type:MCU 上传设备的基本信息 +3 0x01 数据有效标志位 + 0x01 +4~17 Sum 数据 +18 0x6A (1~n)校验和 +19 包尾 + +5.1.14 APP 同步时间到 MCU(Type:37、38) + + 对于某些设备,具有时间功能的,此时,可利用此指令进行数据的同步。 + APP 下发时间。 + +Byte Default Description + +0 0xA6 包头 + +1 Payload 长度(最大 15byte) + +2 0x37 Tpye:APP 同步时间 + +3~9 时间:7 个 byte + + 年(当前年份-2000) + + 月 + + 日 Payload + + 时 + + 分 + + 秒 + + 星期(1~7 1=周一 ~ 7=周日) + +10 SUM(1~n) (1~n)校验和 + +11 0x6A 包尾 + + MCU 返回同步时间结果 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:MCU 返回时间同步结果 + 结果值: +2 0x37 + 0:成功 +3 Payload + +深圳市易连物联网有限公司 - 29 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4 Sum 1:失败 + 2:不支持 +5 0x6A (1~3)校验和 + 包尾 + + MCU 请求时间 +设备有时间功能,且在与 APP 连接状态时,可以请求时间更新,APP 收到该请求,会下发 +时间同步。 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:MCU 请求 APP 下发时间 + +2 0x38 Value + 0x01 +3 Payload + (1~3)校验和 +4 Sum 包尾 + +5 0x6A + +5.1.15 BM 模块自动唤醒设置、自动进入睡眠返回(Type:3A、3B) + + 当 BM 模块处于休眠状态时,BM 模块连接、断连、收发数据时的唤醒设置。当 BM + + 模块处于唤醒状态时,不会触发唤醒设置机制。 + + 带 flash 的模块,该数据断电保存。 + MCU 设置。 + +Byte Default Description + +0 0xA6 包头 + Payload 长度(最大 15byte) +1 Type:BM 模块唤醒设置 + 连接唤醒:(BM 模块从断连状态切为连接状态时) +2 0x3A 0x00:APP 连接时,不唤醒 BM 模块和 MCU。 + 0x01:APP 连接时,唤醒 BM 模块和 MCU。(默认) +3 断连唤醒:(BM 模块从连接状态切为断连状态时) + 0x00:APP 断连时,不唤醒 BM 模块和 MCU。(默认) +4 0x01:APP 断连时,唤醒 BM 模块和 MCU。 + 收数据唤醒:(BM 收到 APP 数据,同时需要把数据发到 MCU + 时) Payload + 0x00:收到 APP 数据时,不唤醒 BM 和 MCU +5 0x01:收到 APP 数据时,唤醒 BM 和 MCU(默认) + +深圳市易连物联网有限公司 - 30 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6 自动睡眠返回指令: + + 0x00:自动睡眠后,不返回睡眠指令。 + + 0x01:自动睡眠后,返回睡眠指令。(默认) + +7 SUM(1~n) + +8 0x6A 包尾 + + BM 返回设置结果 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:MCU 返回设置结果 + 结果值: +2 0x3A + 0:成功 +3 1:失败 + 2:不支持 + (1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +深圳市易连物联网有限公司 - 31 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.2 协议透传指令 + +根据已定好的协议,做数据的传输。 + +传输格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型 CID +1~2 Payload 长度(最大 15byte) + Payload +3 + +n + +n+1 SUM(1~n) (1~n)校验和 + +n +2 0x7A 包尾 + +协议透传指令的识别: + 包头和包尾是固定的:0xA7,0x7A。 + 校验和是指 byte1 +…+ byte n 的值,取低 8 位。 + +5.3 数据透传 + +不符合设置指令与协议透传指令的数据一律采用数据透传,即收到什么数据就传什么数据。 + +深圳市易连物联网有限公司 - 32 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6 协议透传产品介绍 + + 6.1 身高体脂秤(CID=0x0026) + + 1. 介绍:该身高秤协议支持抱婴模式、体脂模式、体重模式、身高测量。 + 2. 四电极体脂测量模式。 + + 6.1.1 交互流程 + + 以下流程步骤,缺一不可。 + + 1. BM 模块上电。 + 2. BM 模块返回状态信息。 + 3. MCU 设置 CID。(必须设) + 4. MCU 上传自身支持的单位。(必须设) + 5. MCU 设置蓝牙其他参数,(可根据自身需求设置)。 + 6. APP 连接时,APP 需要主动获取 MCU 端设备信息(工作模式、电量、单位、语音开 + + 关)。 + 7. APP 连接时,MCU 需要主动请求用户数据(性别、年龄、身高)。 + 8. MCU 工作,上发数据。 + 9. MCU 测量完毕,发送测量结束。 + 10. MCU 休眠。 + +深圳市易连物联网有限公司 - 33 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.2 APP 下发用户信息 + +当 MCU 请求用户时,APP 需要把当前用户信息下发到设备。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 +1~2 0x0026 Payload 长度 + +3 Type:APP 下发用户信息 + +4 0x01 性别 + 0:女性 +5 1:男性 + 年龄(岁) +6 身高 cm Payload + 保留位 0 Payload +7 校验和 + 包尾 +8 + +9 SUM + +10 0x7A + +MCU 回复: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0026 Payload 长度 + Type:返回收到用户数据结果 +3 0x00 : 成功 + 0x01 : 失败 +4 0x02 0x02:不支持 + (1~5)校验和 +5 包尾 + +6 SUM(1~5) + +7 0x7A + +6.1.3 MCU 主动请求用户 + +当 MCU 主动请求用户信息时,APP 需要以下发用户信息的格式返回数据。PS:当设备没连 + +接 APP 时,无数据返回到设备。 + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0026 Payload 长度 + +3 + +深圳市易连物联网有限公司 - 34 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4 0x03 Type:MCU 请求用户 Payload + +5 0x01 + +6 SUM(1~5) (1~5)校验和 + +7 0x7A 包尾 + +6.1.4 APP/MCU 设置单位 + + 在连接状态下,APP 或者设备更换单位时,需要以该指令同步到 APP 或者设备。 +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0026 Payload 长度 + Type:单位设置 +3 身长单位 + 0:cm +4 0x04 1:inch + 2:ft-in +5 体重单位 + 0:kg +6 1:斤 + 2:lb:oz + 3:oz Payload + 4:st:lb + 5:g + 6:lb + +7 SUM(1~6) (1~6)校验和 + +8 0x7A 包尾 + +MCU/APP 回复设置结果: + +Byte Default Description + +0 0xA7 包头 + +1~2 0x0026 产品类型: + +3 Payload 长度 + +4 0x05 Type:设备返回单位设置结果 + +5 0x00 : 成功 Payload + + 0x01 : 失败 - 35 - + + 0x02:不支持 + +6 SUM(1~5) (1~5)校验和 + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 7 0x7A 包尾 + +6.1.5 APP 下发工作模式 + +APP 连接后,需要把当前工作模式下发到设备。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 +1~2 0x0026 Payload 长度 + +3 Type:APP 下发工作模式 + +4 0x06 1:身高体脂模式 + 2:抱婴模式 +5 3:体重模式 + 4:体重身高模式 +6 保留位 00 Payload + 校验和 Payload +7 SUM 包尾 + +8 0x7A + +MCU 回复: + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0026 Payload 长度 + Type:返回工作模式设置 +3 0x00 : 成功 + 0x01 : 失败 +4 0x07 0x02:不支持 + (1~5)校验和 +5 包尾 + +6 SUM(1~5) + +7 0x7A + +深圳市易连物联网有限公司 - 36 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.6 APP 读取声音设置 + + APP 连接后,需要主动读取 MCU 端的声音设置(即 MCU 端优先级高)。MCU 需以声音设置格 +式回复。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 +1~2 0x0026 Payload 长度 + +3 Type:APP 读取声音设置 + +4 0x08 0x01 Payload + 保留位 0 +5 校验和 + 包尾 +6 + +7 SUM + +8 0x7A + +6.1.7 APP/MCU 声音设置 + +在连接状态,手动设置声音状态时,需要以下面格式发送。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 +1~2 0x0026 Payload 长度 + +3 Type:声音设置 + +4 0x09 1:声音开 + 2:声音关 +5 保留位 0 Payload + 校验和 +6 包尾 Payload + +7 SUM - 37 - + +8 0x7A + +回复: Default Description + + Byte + +0 0xA7 包头 + +1~2 0x0026 产品类型: + +3 Payload 长度 + +4 0x0A Type:返回声音设置 + +5 0x00 : 成功 + + 0x01 : 失败 + + 0x02:不支持 + +6 SUM(1~5) (1~5)校验和 + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 7 0x7A 包尾 + +6.1.8 APP 获取工作状态 + +APP 连接到设备后,会主动获取设备的状态。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 +1~2 0x0026 Payload 长度 + +3 Type:获取设备状态 + +4 0x0B 0x01 Payload + 保留位 0 +5 校验和 Payload + 包尾 +6 - 38 - + +7 SUM + +8 0x7A + +MCU 回复设备状态 + +Byte Default Description + +0 0xA7 包头 + 产品类型: +1~2 0x0026 Payload 长度 + +3 Type:返回设备状态 + +4 0x0C 工作模式: + 1:身高体脂模式 +5 2:抱婴模式 + 3:体重模式 +6 4:体重身高 +7 设备电量 + 0-100(0%-100%) +8 充电状态 + 0:不充电 +9 1:充电中 + 重量单位 + + 0:kg + 1:斤 + 4:st:lb + 6:lb + + 身高单位 + 0:cm + 1:inch + 2:ft-in + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 10 语音开关 + + 1:声音开 + + 2:声音关 + +11 SUM(1~10) (1~10)校验和 + +12 0x7A 包尾 + +6.1.9 身高体脂秤模式 + 6.1.9.1 MCU 上报称重状态 + +数据格式: Default Description + 0xA7 + Byte 0x0026 包头 + 0 + 1~2 0x10 产品类型(CID) + 3 + 4 Payload 长度 + 5 + 类型:称重 Payload + 6 + 模式: + + 0x01:身高体脂模式 + + Type:测量状态 + + 01:实时体重 + + 02:稳定体重 + +7 重量数据高位 注:当单位是组合单位时 如 +8 +9 重量数据次高位 1ST : 5LB , 则 该 值 是 + + 重量数据低位 1*14+5=19 ,需将数值转为小 + + 单位数值 ,同时在后面的单位 + + 声明里申明是 st:lb 单位。 + +10 数据标志: + + Bit7~4:重量数据精度(该数据标识的是次级单位里的 + 数据格式) + + 0000:0 位小数 + 0001:1 位小数 + 0010:2 位小数 + 0011:3 位小数 + + Bit3~0:当前单位:(标识整一组数据的单位类型) + 0000:kg + 0001:斤 + 0100:st:lb + +深圳市易连物联网有限公司 - 39 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 11 0110:lb + 保留为:00 +12 SUM + 包尾 +13 0x7A + + 6.1.9.2 MCU 上报阻抗数据 + +数据格式: Default Description + 0xA7 + Byte 0x0026 包头 + 产品类型(CID) + 0 0x11 Payload 长度 + 1~2 0x01 类型:测试阻抗 + 3 0x01:身高体脂模式 + 4 Type:阻抗测量 + 5 01:测阻抗中 + 6 02:测阻抗失败 + 03:测阻抗成功,带上阻抗数据,并使用 APP 算法(APP 会根 +7 据 byte11 的算法标识进行计算) + 04:测阻抗成功,带上阻抗数据,并使用 MCU 算法。 + 05:测阻抗结束。 Payload + 通道: + 0x00 双脚阻抗 + 下面通道,只在 8 电极秤上使用。 + 0x01 双手阻抗 + 0x02 左手阻抗 0x03 右手阻抗 + 0x04 左脚阻抗 0x05 右脚阻抗 + 0x06 左全身阻抗 0x07 右全身阻抗 + 0x08 右手左脚阻抗 + 0x09 左手右脚阻抗 0x0A 躯干阻抗 + +8-11 阻抗数据(大端序,精度 1Ω) +12 体脂算法 ID,每个客户都有自己的算法 ID(1~255) + 若使用 MCU 端算法,则该值为 0 。(注:目前只支持 MCU +13 0 算法,所以请将该值置为 0) + 保留位 + +14 SUM + +15 0x7A 包尾 + +深圳市易连物联网有限公司 - 40 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.9.3 MCU 上报心率数据 + +无心率测试,则不需上发。 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型(CID) +1~2 0x0026 Payload 长度 + 类型:测试心率 +3 0x01:身高体脂模式 + Type:心率测量 +4 0x12 01:测心率中 + 02:测心率成功,带上心率数据 +5 0x01 03:测心率失败 + 心率数据(精度 1bpm) +6 保留 + 校验和 + 包尾 Payload + +7 + +8 0x00 + +9 SUM + +10 0x7A + +深圳市易连物联网有限公司 - 41 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.9.4 MCU 发送温度数据 + +无温度测试,则不需上发。 + +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型(CID) +1~2 0x0026 Payload 长度 + 类型:温度数据 +3 0x01:身高体脂模式 + 温度正负 +4 0x13 0 :正温度 + 1 :负温度 +5 0x01 温度数据高字节 + 温度数据低字节 +6 + 数据标志: +7 +8 Bit7~4:温度数据精度 +9 0000:0 位小数 + 0001:1 位小数 +10 0 0010:2 位小数 Payload + 0011:3 位小数 +11 SUM - 42 - + Bit3~0:当前单位:(标识整一组数据的单位类型) +12 0x7A 0000:℃ + 0001:℉ + 保留 + 校验和 + 包尾 + + 6.1.9.5 MCU 发送身高数据 + +无身高测试,则不需上发。 + +数据格式: + +Byte Default Description + 包头 +0 0xA7 产品类型 + Payload 长度 +1~2 0x0026 + +3 + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 4 0x14 Type:身高 + 0x01:身高体脂模式 +5 0x01 身长数据的高字节 + 身长数据的低字节 +6 数据标志:单位 + 0:cm +7 1:inch + 2:ft-in +8 数据标志:小数点 + 0:无小数点。 + 1:1 位小数点。 Payload + 2:2 位小数点。 +9 N:N 位小数点。 + +10 SUM 包尾 + +11 0x7A + +深圳市易连物联网有限公司 - 43 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.9.6 体脂数据 + +数据格式: Default Description Payload + 0xA7 + Byte 0x0026 包头 Payload + 0x15 产品类型 + 0 0x01 Payload 长度 - 44 - + 1~2 0x01 Type:体脂数据 + 3 0x01:身高体脂模式 + 4 SUM 数据部分 1 + 5 0x7A 体脂率(大端序,精度 0.1%) + 6 皮下脂肪(大端序,精度 0.1%) + 7-8 内脏脂肪(大端序,精度 1) + 9-10 肌肉率(大端序,精度 0.1%) + 11-12 基础代谢率(大端序,精度 1) + 13-14 身体年龄 + 15-16 校验和 + 17 包尾 + 18 + 19 + +Byte Default Description + +0 0xA7 包头 + +1~2 0x0026 产品类型 + +3 Payload 长度 + +4 0x15 Type:体脂数据 + +5 0x01 0x01:身高体脂模式 + +6 0x02 数据部分 2 + +7-8 骨量 (大端序,精度 0.1kg) + +9-10 水含量 (大端序,精度 0.1%) + +11-12 蛋白率 (大端序,精度 0.1%) + +13-14 BMI (大端序,精度 0.1) + +15 心率数据(精度 1bpm) + +16 肥胖等级 + +17 保留位 0 + +18 SUM 校验和 + +19 0x7A 包尾 + +以上数据,若设备无对应的功能,则对应的数据位填 0xFF。 + +深圳市易连物联网有限公司 邮编:518000 +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + 6.1.10 抱婴模式 + + 6.1.10.1.1 MCU 上报称重状态 + +Byte Default Description + +0 0xA7 包头 + +1~2 0x0026 产品类型(CID) + Payload 长度 +3 类型:称重 + +4 0x20 0x02:抱婴模式 Payload + Type:测量状态 +5 0x02 01:实时体重 + 02:稳定体重 +6 单成人重量数据(大端序 ) + +7-8 成人+婴儿重量数据(大端序,未测量时,该值为 0xFFFF) +9-10 婴儿重量(大端序,未测量计算时,该值为 0xFFFF) +11-12 +13 数据标志: + Bit7~4:重量数据精度 +14 0000:0 位小数 + 0001:1 位小数 +15 SUM 0010:2 位小数 + Bit3~0:当前单位:(标识整一组数据的单位类型) +16 0x7A 0000:kg + 0001:斤 + 0100:st:lb + 0110:lb + 保留为:00 + + 校验和 + + 包尾 + +深圳市易连物联网有限公司 - 45 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.11 体重模式 + + 6.1.11.1.1 MCU 上报称重状态 + +Byte Default Description + +0 0xA7 包头 + +1~2 0x0026 产品类型(CID) + +3 Payload 长度 + +4 0x30 类型:称重 Payload + +5 0x03 模式: + + 0x03:体重模式 + +6 Type:测量状态 + + 01:实时体重 + + 02:稳定体重 + +7 重量数据高位 注:当单位是组合单位时 如 +8 +9 重量数据次高位 1ST : 5LB , 则 该 值 是 + + 重量数据低位 1*14+5=19 ,需将数值转为小 + + 单位数值 ,同时在后面的单位 + + 声明里申明是 st:lb 单位。 + +10 数据标志: + + Bit7~4:重量数据精度(该数据标识的是次级单位里的 + 数据格式) + + 0000:0 位小数 + 0001:1 位小数 + 0010:2 位小数 + 0011:3 位小数 + +11 Bit3~0:当前单位:(标识整一组数据的单位类型) + 0000:kg + 0001:斤 + 0100:st:lb + 0110:lb + 保留为:00 + +12 SUM + +13 0x7A 包尾 + +深圳市易连物联网有限公司 - 46 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.12 体重身高模式 + + 6.1.12.1.1 MCU 上报称重状态 + +Byte Default Description + +0 0xA7 包头 + +1~2 0x0026 产品类型(CID) + +3 Payload 长度 + +4 0x40 类型:称重 Payload + +5 0x04 模式: + + 0x04:体重身高模式 + +6 Type:测量状态 + + 01:实时体重 + + 02:稳定体重 + +7 重量数据高位 注:当单位是组合单位时 如 +8 +9 重量数据次高位 1ST : 5LB , 则 该 值 是 + + 重量数据低位 1*14+5=19 ,需将数值转为小 + + 单位数值 ,同时在后面的单位 + + 声明里申明是 st:lb 单位。 + +10 数据标志: + + Bit7~4:重量数据精度(该数据标识的是次级单位里的 + 数据格式) + + 0000:0 位小数 + 0001:1 位小数 + 0010:2 位小数 + 0011:3 位小数 + +11 Bit3~0:当前单位:(标识整一组数据的单位类型) + 0000:kg + 0001:斤 + 0100:st:lb + 0110:lb + 保留为:00 + +12 SUM + +13 0x7A 包尾 + +深圳市易连物联网有限公司 - 47 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.12.1.2 MCU 发送身高数据 + +数据格式: + +Byte Default Description + 包头 +0 0xA7 产品类型 + Payload 长度 +1~2 0x0026 Type:身高 + 0x04:体重身高模式 +3 身长数据的高字节 + 身长数据的低字节 +4 0x41 数据标志:单位 + 0:cm +5 0x04 1:inch + 2:ft-in +6 数据标志:小数点 + 0:无小数点。 +7 1:1 位小数点。 + 2:2 位小数点。 +8 N:N 位小数点。 + + 包尾 Payload + +9 + +10 SUM + +11 0x7A + +6.1.13 MCU 发送测量完成 + +当 MCU 测量结束后,需要发送指令测量完成指令通知 APP。 +每次测量完成,MCU 只能发一次。 +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型(CID) +1~2 0x0026 Payload 长度 + +3 + +深圳市易连物联网有限公司 - 48 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4 0x80 Type:测量完成 + 0x80 +5 工作模式 + 0x01:身高体脂模式 + 0x02:抱婴模式 Payload + 0x03:体重模式 +6 0 0x04:体重身高模式 + 保留 +7 SUM 校验和 + 包尾 +8 0x7A + +6.1.14 APP 回复测量完成 + + APP 收到 MCU 的测量完成指令后,需回复该指令。 +数据格式: + +Byte Default Description + +0 0xA7 包头 + 产品类型(CID) +1~2 0x0026 Payload 长度 + Type:APP 测量完成 +3 保留 + 校验和 +4 0x81 包尾 Payload + +5 0 + +6 SUM + +7 0x7A + +6.1.15 设备上发错误码 + +数据格式: Default Description + 0xA7 包头 + Byte 0x0013 产品类型(CID) + + 0 + 1~2 + +深圳市易连物联网有限公司 - 49 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 3 Payload 长度 + Tpye:错误码 +4 0xFF 错误内容: + 1:超重 +5 … Payload + 校验和 +6 SUM 包尾 + +7 0x7A + +深圳市易连物联网有限公司 - 50 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 7 使用/测试指导 + + 7.1 测试工具 + + 7.2 测试步骤 + +8 自定义说明 + +9 联系我们 + + 深圳市易连物联网有限公司 + 地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + Tel: +(86)0755-81773367 + Email:hw@elinkthings.com + Web: www.elinkthings.com + +10 附录 + +深圳市易连物联网有限公司 - 51 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + diff --git a/蓝牙秤/PC【h09b META10】身高体脂秤应用说明-2(密码e202101).pdf.pdf b/蓝牙秤/PC【h09b META10】身高体脂秤应用说明-2(密码e202101).pdf.pdf new file mode 100644 index 0000000..be7d41e --- /dev/null +++ b/蓝牙秤/PC【h09b META10】身高体脂秤应用说明-2(密码e202101).pdf.pdf @@ -0,0 +1,2161 @@ + 版本:V1.0 +更新日期:2021 年 1 月 20 日 + + 1 + 文档版本 作者 发布日期 修改说明 + +1.0 LYX 2021/1/20 1、增加身高体脂秤秤协议 + 2、协议指令包头使用 A9 + 修改记录................................................................................................................................................................- 2 - +目录........................................................................................................................................................................ - 3 - +1 概述....................................................................................................................................................................- 5 - +2 说明....................................................................................................................................................................- 5 - +3 工作模式........................................................................................................................................................... - 5 - + + 3.1 模式一:断电模式。............................................................................................................................. - 5 - + 3.2 模式二:长供电休眠模式。.................................................................................................................- 6 - +4 蓝牙接口(默认) .......................................................................................................................................... - 8 - + 4.1 蓝牙名称:AiLink_xxxx........................................................................................................................- 8 - + 4.2 UUID 说明...............................................................................................................................................- 8 - + 4.3 蓝牙连接服务列表 1:FFE0 举例......................................................................................................- 8 - + 4.4 广播数据................................................................................................................................................- 8 - + + 4.4.1 第一类广播设置................................................................................................................................ - 9 - + 4.4.2 第二类广播设置.............................................................................................................................. - 10 - +5 BM 模块与 MCU 交互协议............................................................................................................................- 11 - + 5.1 设置(获取) 指令.............................................................................................................................- 11 - + 5.1.1 设置、获取广播名称(Type:01、02) ...................................................................................... - 13 - + 5.1.2 设置、读取第二类自定义广播数据(Type:03、04) .............................................................. - 15 - + 5.1.3 设置、获取广播间隔时间(Type:05、06) .............................................................................. - 16 - + 5.1.4 设置、获取连接间隔参数(Type:07、08) .............................................................................. - 17 - + 5.1.5 设置、获取发射功率(Type:09、0A) ...................................................................................... - 19 - + 5.1.6 设置、读取串口波特率(Type:0B、0C) .................................................................................. - 22 - + 5.1.7 读取 MAC 地址(Type:0D) ........................................................................................................ - 23 - + 5.1.8 读取 BM 模块软、硬件版本号(Type:0E) ............................................................................... - 24 - + 5.1.9 设置、读取 MCU 软硬件版本号(Type:0F、10) .................................................................... - 25 - + 5.1.10 设置、读取模块自动休眠时间(Type:17、18) .................................................................... - 26 - + 5.1.11 设置模块进入睡眠(Type:19) ................................................................................................ - 28 - + 5.1.12 设置模块唤醒(Type:1A) ........................................................................................................ - 29 - + 5.1.13 设置、读取系统当前时间(Type:1B、1C) ............................................................................ - 31 - + 5.1.14 设置、读取 CID、VID、PID(Type:1D、1E) .......................................................................... - 33 - + 5.1.15 设置模块重启(Type:21) ........................................................................................................ - 34 - + 5.1.16 设置恢复出厂设置(Type:22) ................................................................................................ - 35 - + 5.1.17 设置、获取 BM 模块状态(Type:25、26) ............................................................................. - 36 - + 5.1.18 MCU 上报 MCU 电池状态(Type:27、28) .............................................................................. - 37 - + 5.1.19 APP 查询 MCU 拥有的单位(Type:2C) .................................................................................... - 39 - + 5.1.20 MCU 上传设备基本信息(Type:35、36) ................................................................................ - 41 - + 5.1.21 APP 同步时间到 MCU(Type:37、38) ..................................................................................... - 42 - + 5.1.22 BM 模块自动唤醒设置、自动进入睡眠返回(Type:3A、3B) .............................................. - 43 - + 5.2 协议透传指令..................................................................................................................................... - 45 - + 5.3 数据透传..............................................................................................................................................- 45 - +6 协议透传产品介绍........................................................................................................................................ - 46 - + 6.1 身高体脂秤(贝雅秤) .................................................................................................................... - 46 - + + 6.1.1 交互流程.......................................................................................................................................... - 46 - + 6.1.2 APP 下发用户信息.............................................................................................................................- 47 - + 6.1.3 MCU 主动请求用户.......................................................................................................................... - 48 - + 6.1.4 APP/MCU 设置单位.......................................................................................................................... - 48 - + 6.1.5 APP 下发工作模式.............................................................................................................................- 49 - + 6.1.6 APP 读取声音设置.............................................................................................................................- 50 - + 6.1.7 APP/MCU 声音设置.......................................................................................................................... - 50 - + 6.1.8 身高体脂秤模式.............................................................................................................................. - 51 - + 6.1.9 MCU 发送测量完成.......................................................................................................................... - 57 - + 6.1.10 APP 回复测量完成...........................................................................................................................- 57 - + 6.1.11 标定模式........................................................................................................................................ - 57 - + 6.1.12 设备上发错误码............................................................................................................................ - 59 - +7 使用/测试指导...............................................................................................................................................- 60 - + 7.1 测试工具..............................................................................................................................................- 60 - + 7.2 测试步骤..............................................................................................................................................- 60 - +8 自定义说明..................................................................................................................................................... - 60 - +9 联系我们......................................................................................................................................................... - 60 - +10 附录................................................................................................................................................................- 60 - + 1 + + 本文档适用于H09B,META10身高体脂秤。 + + 下文中表明的 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 模块状态”。 + +3 + + BM 模块支持两种工作模式,断电模式和不断电休眠模式,用户可以根据自身需求合 + 理选择工作模式。 + 用户可以在设计 PCB 的时候,预留两种方式的电路。详情请查看硬件规格书规格书。 + + 在此模式下,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 断电关机。 + 此模式下,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 可以发两次唤醒指 +令。 + + 工作流程参考如下: + MCU 上 N BM Y + 电 + 断连 +BM 上电, +BM 发送就绪状态 状态 + + MCU 进 APP + +MCU 对 MCU 按 入激活状 + +BM 初始化 键工作 态 + +MCU 发 MCU 进 BM 模块 BM 唤醒 +指令让 入待机状 接连到 MCU + 态 APP +BM 进入 +睡眠模式 + 4 + + 注:xxxx 为 Mac 地址后 4 个字符 + + BM 模块有两个服务 UUID,一个是模块固定的服务 UUID,为 FFE0,一个是用户可 + 以自定义的服务 UUID ,默认为 FEE0。 + + 易联物联网的 AiLink APP 交互使用的服务 UUID 为 FFE0。 + 同时,两个 UUID 都可以作为普通的数据交互 UUID。 + + 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 + + 说明:广播数据有两类,用户只能选择其中的一类进行设置。 + 第一类广播: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 + +设置、读取 模块广播名称 +设置、读取 广播间隔时间 +设置、读取 连接间隔 +设置、读取串口波特率 +读取 MAC 地址 +读取 BM 模块硬件\软件版本号 +设置、读取 MCU 设备版本号 +设置、读取 模块无连接模式自动休眠时间。 +设置 模块进入睡眠模式 +设置 唤醒模块 +设置、读取 当前系统时间。 +设置、读取 CID 、VID 、PID +设置 模块重启 +设置 模块恢复出厂设置。 +设置、获取模块状态 +设置 MCU 的电池状态 +设置 读取 MCU 所支持的单位 +MCU 上传设备基本信息 +APP 同步时间到 MCU + Byte Value Description + +0 0xA6 包头 + Payload 长度 (最大 16byte ) +1 Payload + ( 1~n)校验和 +2 ~n 包尾 (注:n+2 不能超过 20) + +n+ 1 SUM (1~n ) + +n+2 0x6A + +包头和包尾是固定的,分别为 0xA6 ,和 0x6A。 +检验和是指 byte1 + byte2 + …+byte n 的和,取低位 1 byte。 +设置指令里,数据的 Byte 数不能超过 20 + 5. 1. 1 设置、获取广播名称 (Type:01 、02) + +设置蓝牙名称可以设置为固定字符作为蓝牙名称,例如设置为 swan ,所有的模块都会显示为 + +swan 。同时也可以设置为固定蓝牙名称+“_ ”+ Mac 地址的方式,这样子有利于每个模块的 + +名称都有差异。详细见如下指令说明: + +Byte Value Description + +0 0xA6 包头 +1 Len Payload 长度 (最大 16byte ) +2 0x01 Type: 设 置 蓝 牙 名 称 +3~n Name 名称 (需要对应 ASCII 表) +n+ 1 Num MAC 字符个数:名称后面跟随的 MAC 字符的个数 + 0 :代表没有,则是固定蓝牙名称。 + 1 :代表后面带有 mac 地址的 1 个字符,例如: Payload + Swan_x。 +n+2 Sum 2 :代表后面带有 mac 地址的 2 个字符,例如: +N+3 0x6A Swan_xx。 + 默认 Num=4;Num 最大为 12 + 注:Name 长度+“_ ”+Num 最大为 15 + ( 1~n)校验和 + 包尾 + +举例 : 蓝牙的 MAC 地址为 12 : 34 : 56 : 78 : 9A : BC。 + 如果设置蓝牙名称为 swan, 且不带 MAC 地址时,那么发送 A6 06 01 73 77 61 6E 00 C0 6A ,则蓝牙名称 + 为 swan + 如果设置蓝牙名称为 swan ,且带 MAC 地址 2 个字符,那么发送 A6 06 01 73 77 61 6E 02 C2 6A ,则蓝牙 + 名称为 swan_BC + 如果设置蓝牙名称为 swan,且带 MAC 地址 4 个字符,那么发送 A6 06 01 73 77 61 6E 04 C4 6A ,则蓝牙 + 名称为 swan_9ABC + 整个蓝牙名称长度最长为 15 个字符。 + BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x01 Type: 回复设置蓝牙名称结果 + 2 结果值: + 3 + 0 :成功 (立即生效) + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + +举例:设置成功 + 返回 A6 02 01 00 03 6A + + 设置失败 + 返回 A6 02 01 01 04 6A + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type: 获 取 蓝 牙 名 称 + ( 1~2)校验和 +2 0x02 包尾 Payload + Payload +3 0x03 + +4 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 Len Payload 长度 (最大 16 byte ) + 1 0x02 Type: 回复蓝牙名称 + 2 Name 蓝牙名称 (最长 15 byte ) + 3~n Sum ( 1~n)校验和 + n+1 0x6A 包尾 + n +2 + + 举例:蓝牙名称为 swan_BC + 发送查询指令 :A6 01 02 03 6A + BM 返回名称: A6 08 02 73 77 61 6E 5F 42 43 A7 6A + 5. 1.2 设置、读取第二类自定义广播数据 (Type:03 、04) + + 当用户想使用自定义广播数据时,不接入我司 AiLink APP 时,可使用此设置,不设置则默认 +为我司设置 (第一类广播设置) 。 + +Byte Value Description Payload + 0xA6 +0 Len 包头 +1 0x03 Payload 长度 (最大 16byte ) +2 Type:设置为第二类广播自定义数据 +3~n Sum 设置内容 + 0x6A 最长为 15byte +n+1 ( 1~n)校验和 +N+2 包尾 + +BM Value Description + + Byte 0xA6 包头 + 0x02 Payload 长度 + 0 0x03 Type: 回复设置为第二类广播自定义数据结果 + 1 结果值: + 2 + 3 0 :成功 + 1 :失败 + 2 :不支持 Payload + ( 1~3)校验和 +4 Sum 包尾 + +5 0x6A + + 举例: + + BM 的 Mac 地址为 11: 22 : 33 : 44 : 55 :66 . + 用户若要想设置广播自定义数据为“0x01 0x02 0x03 0x04 0x05” + “MAC 地址”。 + 步骤: + + 1 、用户先读取 BM 的 MAC 地址 + 发送读取 MAC 地址的指令,获取 MAC 地址 :11 :22 :33 : 44 :55 :66 + + 2 、MCU 再发送设置广播自定义数据。 + A6 0C 03 01 02 03 04 05 11 22 33 44 55 66 83 6A + Byte Value Description + 包头 + 0 0xA6 Payload 长度 + Type:获取第二类广播自定义数据 + 1 0x01 ( 1~2)校验和 + 包尾 + 2 0x04 Payload + Description Payload + 3 0x05 包头 + Payload 长度 (最大 16byte ) + 4 0x6A Type:返回第二类广播自定义数据 + 返回的内容 + Byte Value 最长为 15byte + 0xA6 ( 1~n)校验和 + 0 Len 包尾 + 1 0x04 + 2 + 3~n Sum + 0x6A + n+1 + N+2 + + 5. 1.3 设置、获取广播间隔时间 (Type:05 、06) + + Byte Value Description + + 0 0xA6 包头 + + 1 0x03 Payload 长度 + + 2 0x05 Type:设置广播间隔 (单位:ms 范围:20-2000 ;默 + 认 200) + 3 Payload + 广播间隔时间的高字节 + + 4 广播间隔时间的低字节 + + 5 Sum ( 1~4)校验和 + + 6 0x6A 包尾 + + 举 例 : 设 置 广 播 间 隔 为 : 10 0 0 ms + 发送:A6 03 05 03 E8 F3 6A + +BM + Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type: 回复设置蓝牙广播间隔结果 + 结果值: +2 0x05 + 0 :成功 +3 1 :失败 + 2 :不支持 +4 Sum ( 1~3)校验和 Payload + 包尾 Payload +5 0x6A Payload + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type: 获 取 蓝 牙 广 播 间 隔 + ( 1~2)校验和 +2 0x06 包尾 + +3 0x07 + +4 0x6A + +BM Value Description + Byte 0xA6 + 0x03 包头 + 0 0x06 Payload 长度 + 1 Type: 回复广播间隔时间 (单位:ms ) + 2 Sum 广播间隔时间的高字节 + 3 0x6A 广播间隔时间的低字节 + 4 ( 1~4)校验和 + 5 包尾 + 6 + +举例:广播间隔为 1000ms + 返回 A6 03 06 03 E8 F4 6A + +5. 1.4 设置、获取连接间隔参数 (Type:07 、08) + Byte Value Description + +0 0xA6 包头 + +1 Payload 长度 + +2 0x07 Type:设置连接间隔参数 (连接间隔时间,从设备延 + 时,连接超时时间) + +3 连接间隔时间的高字节 单位:ms;范围:20-2000; + 连接间隔时间的低字节 +4 默认值 40 Payload + +5 从设备延时 (Latency) (取值:0-4 ;默认值 0) + +6 连接超时的高字节 单 位 : ms; 范 围 : + 连接超时的低字节 1000~6000;默认值:6000 +7 ( 1~7)校验和 + +8 Sum + +9 0x6A 包尾 + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x07 Type: 回复设置蓝牙连接间隔结果 + 2 结果值: + 3 + 0 :成功 + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + +Byte Value Description + 包头 +0 0xA6 + 1 0x01 Payload 长度 Payload + 2 0x08 Type: 获 取 蓝 牙 连 接 间 隔 + 3 0x09 ( 1~2)校验和 + 4 0x6A 包尾 + +BM Value Description + Byte 0xA6 + 0x08 包头 + 0 + 1 Sum Payload 长度 + 2 0x6A + Type:设置连接间隔参数 (连接间隔时间,从设备延 + 3 时,连接超时时间) + 4 + 5 连接间隔时间的高字节 单位:ms;范围:20-2000; + 6 连接间隔时间的低字节 + 7 默认值 40 Payload + 8 + 9 从设备延时 (Latency) (取值:0-4 ;默认值 0) + + 连接超时的高字节 单 位 : ms; 范 围 : + 连接超时的低字节 1000~6000;默认值:6000 + ( 1~7)校验和 + + 包尾 + +5. 1.5 设置、获取发射功率 (Type:09 、0A) + +Byte Value Description + 包头 +0 0xA6 + 1 0x02 Payload 长度 (最大 17byte ) + Type: 设 置 蓝 牙 发 射 功 率 +2 0x09 发射功率值 + 0 :-5dbm +3 dbm 1 :-4dbm + 2 :-3dbm +4 Sum 3 :-2dbm Payload + 4 :- 1dbm Payload +5 0x6A 5 :-0dbm + 6 :1dbm + 7 :2dbm + 8 :3dbm + 9 :4dbm + 10:5dbm + ( 1~3)校验和 + 包尾 + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x09 Type: 回复设置蓝牙发射功率结果 + 2 结果值: + 3 + 0 :成功 +4 Sum 1 :失败 + 2 :不支持 +5 0x6A ( 1~3)校验和 + 包尾 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type: 获 取 蓝 牙 发 射 功 率 + ( 1~2)校验和 +2 0x0A Payload + +3 0x0B + 4 0x6A 包尾 + +BM Value Description + Byte 0xA6 + 0x02 包头 + 0 0x0A Payload 长度 + 1 dbm Type: 回复蓝牙发射功率 + 2 发射功率值 + 3 0 :-5dbm + 1 :-4dbm + 2 :-3dbm Payload + 3 :-2dbm +4 Sum 4 :- 1dbm + 5 :-0dbm +5 0x6A 6 :1dbm + 7 :2dbm + 8 :3dbm + 9 :4dbm + 10:5dbm + ( 1~3)校验和 + 包尾 + 5. 1.6 设置、读取串口波特率 (Type:0B 、0C) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type: 设 置 串 口 波 特 率 + Value: +2 0x0B 0 :9600 (默认) + 1 :19200 +3 2 :38400 + 3 :57600 + 4 :115200 Payload + 5 :921600 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + +举例:设置串口波特率:9600 + 发送: A6 02 0B 00 0D 6A + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x0B Type:回复设置串口波特率结果 + 2 结果值: + 3 + 0:成功。 (以旧的波特率回复后再切换新的波特率) + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + + : + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type: 获 取 串 口 波 特 率 + ( 1~2)校验和 +2 0x0C 包尾 Payload + +3 0x0D + +4 0x6A + BM : Description + Byte Value + 包头 + 0 0xA6 Payload 长度 + 1 0x02 Type: 回复串口波特率设置值 + 2 0x0C 串口波特率设置值 + 3 0 :9600 + 1 :19200 +4 Sum 2 :38400 Payload + 3 :57600 +5 0x6A 4 :115200 Payload + 5 :921600 Payload + ( 1~3)校验和 + 包尾 + +举例:若串口波特率为 9200 +返回: A6 02 0C 00 0E 6A + +5. 1.7 读取 MAC 地址 (Type:0D) + + Mac Value Description +Byte + 0xA6 包头 +0 0x01 Payload 长度 +1 0x0D Type:读取 MAC 地址值 +2 0x0E ( 1~2)校验和 +3 0x6A 包尾 +4 + +BM MAC + +Byte Value Description + +0 0xA6 包头 +1 0x07 Payload 长度 +2 0x0D Type: 回复 MAc 地址值 +3~8 Mac 地址值 (6byte 、小端序) +9 Sum ( 1~8)校验和 +10 0x6A 包尾 + +举例:MAC 地址为 11 :22 :33 :44 :55 :66 + 返回:A6 07 0D 66 55 44 33 22 11 79 6A + 5. 1.8 读取 BM 模块软、硬件版本号 (Type:0E) + + BM Value Description Payload +Byte + 0xA6 包头 +0 0x01 Payload 长度 +1 0x0E Type:读取 BM 模块软硬件版本号 +2 0x0F ( 1~2)校验和 +3 0x6A 包尾 +4 + +BM Value Description + Byte 0xA6 + 包头 + 0 0x0E Payload 长度 + 1 Type: 回复 BM 模块软硬件版本号 + 2 + 3 产品型号。byte3 、byte4 为 ASCII 字符,byte5 + 4 为数字。 + 5 + 6 硬件版本号 H Payload + 7 软件版本号 S + 8 定制版本号 P + 9 年 实际年份=年+2000 + +10 例如:2019 年 + 年=2019-2000= 19 +11 + 月 1~ 12 +12 Sum 日 1~31 + 校验和 +13 0x6A 包尾 + +举例:如软硬件版本号为 BM16H1S1.0P0_20190507 + 解析:BM16 为产品型号,对应实际实际数据为 0x42 0x4D 0x10 + H1 为硬件版本号 1 ,对应实际数据为 0x01 + S1.0 为软件版本号 1.0 ,对应实际数据为:0x0A (带 1 位小数点) + P0 为定制版本号,对应实际数据为 0 + 年:2019-2000= 19 ,对应实际数据 0x13 + 则返回: A6 0A 0E 42 4D 10 01 0A 00 13 05 07 E1 6A + 5. 1.9 设置、读取 MCU 软硬件版本号 (Type:0F 、10) + +MCU MCU + +建议:客户更新 MCU 软硬件版本号给 BM 模块,以便于 APP 区分统计。 + +数据格式与 BM 的软硬件版本号格式保持一致。 + + Byte Value Description + + 0 0xA6 包头 + Payload 长度 + 1 Type:MCU 设置 MCU 软硬件版本号 + MCU 类型: 由厂家自己定义,可以不定义 + 2 0x0F 硬件版本号 + 软件版本号 + 3 年 实际年份=年+2000 + + 4 例如:2019 年 + 年=2019-2000= 19 + 5 + 月 1~ 12 + 6 日 1~31 Payload + 校验和 Payload + 7 包尾 Payload + + 8 + + 9 Sum + + 10 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x0F Type: 回复设置 MCU 软硬件版本号结果 + 2 结果值: + 3 + 0 :成功 + 4 Sum 1 :失败 + 2 :不支持 + 5 0x6A ( 1~3)校验和 + 包尾 + + MCU Value Description + Byte + 0xA6 包头 + 0 0x01 Payload 长度 + 1 0x10 Type:获取 MCU 软硬件版本号 + 2 0x11 ( 1~2)校验和 + 3 0x6A 包尾 + 4 + BM MCU + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:返回MCU 软硬件版本号 + MCU 类型: 由厂家自己定义 +2 0x10 硬件版本号 + 软件版本号 +3 年 实际年份=年+2000 + +4 例如:2019 年 + 年=2019-2000= 19 +5 + 月 1~ 12 +6 日 1~31 Payload + 校验和 +7 包尾 + +8 + +9 Sum + +10 0x6A + +5. 1. 10 设置、读取模块自动休眠时间 (Type:17 、18) + + 可以设置模块无数据自动进入休眠模式 (低功耗模式,此时设备的 Tx要保持为高) ,但是 +要注意的是,当模块进入 (休眠模式时,MCU 在发数据前,需要提前发一组数据数据过来唤醒 +模块,模块才能正常开始接受数据。详可查看工作模式说明) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 + +2 0x17 Type:设置无连接自动睡眠时间 + +3 自动睡眠标志位: + + 0 :不开启自动休眠 + + 1 :开启自动休眠,模块没有连接自动进入低功耗模式 + +4 自动睡眠时间的最高字节 单位 :s +5 +6 自动睡眠时间的次高字节 范围: Payload +7 自动睡眠时间的次低字节 5 ~ 0xffffffff/100 +8 自动睡眠时间的最低字节 (建议设为:60 s) + + 睡眠后是否立刻断开连接,是否开启低频广播: + + 0 :断开连接,停止广播。 + 1 :保持连接,开启广播。 + +9 2 :断开连接 ,开启广播 。 单位:ms ;范围: +10 3 :保持连接 ,停止广播 。 20~2000; (建议设 + 低频广播间隔时间的高字节 + 低频广播间隔时间的低字节 + 为 1000) ; + +11 Sum ( 1~ 10)校验和 + 包尾 +12 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x17 Type: 回复设置自动睡眠时间结果 + 2 结果值: + 3 + 0 :成功 + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + + Byte Value Description Payload + 0xA6 Payload + 0 0x01 包头 + 1 0x18 Payload 长度 + 2 0x19 Type:获取自动睡眠时间值 + 3 0x6A ( 1~2)校验和 + 4 包尾 + Value +BM 0xA6 Description + Byte Len + 0x18 包头 + 0 + 1 Payload 长度 + 2 + 3 Type:返回无连接时自动睡眠时间 + + 自动睡眠标志位: + + 0 :不开启自动休眠 + + 1 :开启自动休眠,模块没有连接 + +4 自动睡眠时间的最高字节 单位:s +5 +6 自动睡眠时间的次高字节 +7 + 自动睡眠时间的次低字节 + + 自动睡眠时间的最低字节 + 8 睡眠后是否开启低频广播: + 0 :不开启 +9 1 :开启 单位 :ms ;范围 + 低频广播间隔的高字节 20~2000 +10 低频广播间隔的低字节 + ( 1~9)校验和 +11 Sum 包尾 + +12 0x6A + +5. 1. 11 设置模块进入睡眠 (Type:19) + +当 BM 模块进入休眠后,支持串口唤醒(MCU 可以发任意数据唤醒模块,或者发送唤醒指令), + 支持蓝牙连接唤醒 (需要开启睡眠后带广播功能,详情看下面设置进入睡眠指令格式) 。 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Len Type: 设 置 进 入 睡 眠 + Value: +2 0x19 0x01 + +3 + +4 睡眠后是否断开连接,是否开启低频广播: + + 0 :断开连接,关闭广播。 Payload + 1 :保持连接,开启广播。 + + 2 :断开连接 ,开启广播 。 + 3 :保持连接 ,关闭广播 。 + +5 低频广播间隔时间的高字节 单位 :ms ;范围 +6 低频广播间隔时间的低字节 20~2000 ( 建 议 + 1000ms) + +7 Sum ( 1~6)校验和 + +8 0x6A 包尾 + +BM Value Description + Byte + 0xA6 包头 + 0 Len Payload 长度 + 1 0x19 Type: 回复设置进入睡眠的结果 + 2 结果值: + 3 + 0 :成功 (成功后 100ms 后进入睡眠) + 1 :失败 Payload + 2 :不支持 + 4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + +MCU 和 APP 都可以设置 BM 模块进入睡眠,BM 模块在回复 MCU/APP 时,同时向 APP/MCU + 发送 BM 当前状态“BM 返回模块状态”。 + +5. 1. 12 设置模块唤醒 (Type:1A) + + Byte Value Description Payload + 0xA6 Payload + 0 0x02 包头 + 1 0x1A Payload 长度 + 2 0x01 Type: 设 置 模 块 唤 醒 + 3 Value: + 0x1D + 4 0x6A 1 :唤醒模块 + 5 ( 1~3)校验和 + Value 包尾 +BM 0xA6 + Byte 0x02 Description + 0x1A + 0 包头 + 1 Payload 长度 + 2 Type: 回复设置模块唤醒结果 + 3 结果值: + +4 Sum 0 :成功 + 1 :失败 +5 0x6A 2 :不支持 + ( 1~3)校验和 + 包尾 + 5. 1. 13 设置、读取系统当前时间 (Type:1B 、1C) + +该时间为蓝牙模块的系统时间。 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x07 Type: 设 置 系 统 当 前 时 间 + 0x00 :除能,关闭时间功能 (默认) +2 0x1B 0x01 :使能,开启时间功能 + 年:年份=年+2000 +3 月 (1~ 12) + 日 (1~31) +4 时 (0~23) + 分 (0~59) +5 秒 (0~59) Payload + 校验和 Payload +6 包尾 Payload + +7 + +8 + +9 + +10 Sum + +11 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x1B Type: 回复设置系统时间结果 + 2 结果值: + 3 + 0 :成功 +4 Sum 1 :失败 + 2 :不支持 +5 0x6A ( 1~3)校验和 + 包尾 + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type: 获 取 系 统 当 前 时 间 + ( 1~2)校验和 +2 0x1C 包尾 + +3 + +4 0x6A + BM Value Description + Byte + 0xA6 包头 + 0 0x08 Payload 长度 + 1 0x1C Type: 返 回 系 统 当 前 时 间 + 2 系统时间有效位 + 3 0 :系统时间无效 + 1 :系统时间有效 +4 年:年份=年+2000 Payload + 月 (1~ 12) +5 日 (1~31) + 时 (0~23) +6 分 (0~59) + 秒 (0~59) +7 ( 1~9)校验和 + 0x6A +8 + +9 + +10 Sum + +11 包尾 + 5. 1. 14 设置、读取 CID 、VID 、PID (Type:1D 、1E) + + CID 为产品类型 ID,请按照协议透传产品类型设置 (必须设。详情查看协议透传指令产品介绍) + VID 为设备厂家 ID ,请联系我司分配 (选设) + PID 为产品型号 ID ,厂商自己分配,建议根据产品型号分配唯一值 (选设) +以上三个值默认为 0 ,不代表任何产品 (调试阶段先设置CID) + + ID + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type:设置 ID + 设置 ID 标志位 +2 0x1D Bit0 :0 :不设置 CID (CID 值清 0) 。 + Bit1:0 :不设置 VID (VID 值清 0) 。 +3 Bit2 :0 :不设置 PID (PID 值清 0) 。 + + CID:产品类型 ID 的高字节 1 :设置 CID + CID:产品类型 ID 的低字节 1:设置 VID + VID:厂商 ID 的高字节 1 :设置 PID + VID:厂商 ID 的低字节 +4 PID:产品 ID 的高字节 Payload + PID:产品 ID 的低字节 +5 ( 1~9)校验和 + 包尾 +6 + +7 + +8 + +9 + +10 Sum + +11 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 Len Payload 长度 + 1 0x1D Type: 回复设置 ID 结果 + 2 结果值: + 3 + 0 :成功 + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + + ID + Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x01 Type:获取 ID 设置值 + ( 1~2)校验和 +2 0x1E 包尾 Payload + Payload +3 0x1F + +4 0x6A + +BM ID + +Byte Value Description + +0 0xA6 包头 + +1 Len Payload 长度 + +2 0x1E Type:返回 ID + +3 设置 ID 标志位 + Bit0 :0 :不设置 CID。 + Bit1 :0 :不设置 VID。 1 :设置 CID + Bit2 : 0 :不设置 PID。 1 :设置 VID + 1 :设置 PID + +4 CID:产品类型 ID 的高字节 + +5 CID:产品类型 ID 的低字节 + +6 VID:厂商 ID 的高字节 + +7 VID:厂商 ID 的低字节 + +8 PID:产品 ID 的高字节 + +9 PID:产品 ID 的低字节 + +10 Sum ( 1~9)校验和 + +11 0x6A 包尾 + +5. 1. 15 设置模块重启 (Type:21) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type: 设 置 模 块 重 启 + Value: +2 0x21 + 0x01 +3 0x01 ( 1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + BM Value Description + Byte + 0xA6 包头 + 0 Len Payload 长度 + 1 0x21 Type: 回复设置模块重启结果 + 2 结果值: + 3 + 0 :成功 (成功后,100ms 后模块重启) +4 Sum 1 :失败 Payload + 2 :不支持 Payload +5 0x6A ( 1~3)校验和 + 包尾 + +5. 1. 16 设置恢复出厂设置 (Type:22) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type: 设 置 恢 复 出 厂 设 置 + Value: +2 0x22 + 0x01 +3 0x01 ( 1~3)校验和 + 包尾 +4 Sum + +5 0x6A + +BM Value Description + Byte + 0xA6 包头 + 0 0x02 Payload 长度 + 1 0x22 Type: 回复设置模块重启结果 + 2 结果值: + 3 + 0 :成功 (成功后,100ms 后恢复出厂设置) + 1 :失败 Payload + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + 5. 1. 17 设置、获取 BM 模块状态 (Type:25 、26) + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 Type: 设 置 蓝 牙 连 接 状 态 + 主动断开连接标志位 +2 0x25 1 :立刻断开连接 + 0 :不断开连接 +3 ( 1~3)校验和 Payload + 包尾 Payload + 4 Sum Payload + 5 0x6A Description Payload + +BM Value 包头 + Byte 0xA6 Payload 长度 + 0x02 Type: 回复设置蓝牙连接状态结果 + 0 0x25 结果值: + 1 + 2 0 :成功 + 3 1 :失败 + 2 :不支持 +4 Sum ( 1~3)校验和 + 包尾 +5 0x6A + + Byte Value Description + 0xA6 包头 + 0 Payload 长度 + 1 0x26 Type: 获 取 状 态 + 2 Sum ( 1~2)校验和 + 3 0x6A 包尾 + 4 + Value Description +BM 0xA6 包头 + Byte Payload 长度 + 0x26 Type: 返 回 模 块 状 态 + 0 连接状态: + 1 + 2 + 3 + 4 0 :无连接 + 1 :已连接 +5 Sum + 工作状态: +6 0x6A 0 :唤醒 + 1 :进入休眠 + 2 :模块准备就绪 + ( 1~4)校验和 + 包尾 + +5. 1. 18 MCU 上报 MCU 电池状态 (Type:27 、28) + +MCU Value Description + 0xA6 +Byte 包头 + 0x27 Payload 长度 +0 Type:设置 MCU 电池状态 +1 电池充电状态: +2 0 :没有充电 (默认) +3 1 :充电中 + 2 :充满电 + 4 Sum 3 :充电异常 Payload + 5 0x6A 电池电量百分比 (0— 100%) Payload + 6 ( 1~4)校验和 + MCU 包尾 +BM + Value Description + Byte + 包头 +0 0xA6 Payload 长度 + Type: 回复 MCU 设置电池结果 +1 0x02 结果值: + +2 0x27 0 :成功 (成功后会把电池电量上传到APP) + 1 :失败 +3 2 :不支持 + ( 1~3)校验和 +4 Sum 包尾 + +5 0x6A + MCU Value Description Payload + 0xA6 Payload +Byte 包头 + 0x28 Payload 长度 +0 Sum Type:获取 MCU 电池状态 +1 0x6A ( 1~2)校验和 +2 包尾 +3 +4 Description + +MCU Value 包头 + 0xA6 Payload 长度 +Byte Type:返回 MCU 电池状态 + 0x28 电池充电状态: +0 0 :没有充电 (默认) +1 1 :充电中 +2 2 :充满电 +3 3 :充电异常 + 电池电量百分比 (0— 100%) +4 MCU 没有数据上传时,默认为 0xFFFF + ( 1~4)校验和 +5 Sum 包尾 + +6 0x6A + 5. 1. 19 APP 查询 MCU 拥有的单位 (Type:2C) + + APP 端界面的单位显示是根据 MCU 端所拥有的单位来做处理的,所以当 APP 连接到 MCU + 时,会发送读取指令来获取 MCU 端所拥有的单位,所以 MCU 端收到该指令时,则务必返回 + 相应的单位数据 (不返回则使用系统默认值) 。 + + MCU APP + +APP MCU + +BM MCU + + Byte Value Description + + 0 0xA6 包头 + Payload 长度 + 1 Type:APP 读取 MCU 端单位 + Value + 2 0x2C 0x01 + 校验和 + 3 包尾 Payload + + 4 + + 5 0x6A + +MCU + + Bit15~Bit0 + + Bit=0 + + Bit=1 + + Bit0 :kg + + Bit1 :斤 + + Bit2 :lb:oz + + 01 Bit3 :oz + + 重量 Bit4 :st:lb + + Bit5 :g + + Bit6 :lb (纯 lb 显示) + + Bit7-bit15 保留 + + Bit0 :cm + + 02 长度 Bit1 :inch + + Bit2 :ft-in + + Bit3-bit15 保留 + + Bit0 : C + + 03 温度 Bit1 : F + + Bit2-bit15 保留 + + Bit0 :mmhg + + 04 血压 Bit1 :kPa + 05 轮胎胎压压力 Bit2-bit15 保留 + 血糖仪 Bit0 :Kpa + 06 Bit1 :Psi + Bit2 :Bar + Bit3-bit15 保留 + Bit0 :mmol/L + Bit1 :mg/dL + +BM A6 APP + * 20 byte + Value + Byte 0xA6 Description + 0x2C + 0 包头 + 1 Payload 长度 + 2 + 3 Type:MCU 回复单位 + 4 单位类型:例如:重量类型 =01 ,长度=02 ,温度=03 + 5 该单位支持类型高位: Bit15~Bit0 + 该单位支持类型低位: 每一个 Bit 代表一个单位 + + Bit=0 :不支持 + Bit=1 :支持 + 例如:重量支持 kg 和 oz + 则 byte4=0x00 ,byte5=0x09 + +6 单位类型: Bit15~Bit0 Payload +7 单位支持类型高位 每一个 Bit 代表一个单位 +8 单位支持类型低位 Bit=0 :不支持 + Bit=1 :支持 + +9 单位类型: +10 +11 单位支持类型高位 Bit15~Bit0 + 单位支持类型低位 每一个 Bit 代表一个单位 + Bit=0 :不支持 + Bit=1 :支持 + +12 校验和 + +13 0x6A 包尾 + +举例: + +APP 读取 MCU 单位,发送指令:A6 02 2C 01 2F 6A + 若 MCU 只拥有重量单位 kg 和斤,则返回:A6 04 2C 01 00 03 34 6A + 若 MCU 只拥有重量单位 kg 和长度单位 inch ,则返回:A6 07 2C 01 00 01 02 00 02 39 6A + 若 MCU 只拥有胎压单位 Kpa 、Psi 、Bar 和温度单位℃ 、℉和重量单位 kg 和 长度单位 cm, + 则返回:A6 0D 2C 05 00 07 03 00 03 01 00 01 02 00 01 50 6A + 若是 MCU 支持的类型太多,一组数据传不完,则可以分开多组来传,数据格式不变。 + 5. 1.20 MCU 上传设备基本信息 (Type:35 、36) + +此条指令主要用MCU 上传设备的一些基本的信息,用于 APP 端数据的同步,详情请查看对 + +应的协议透传产品介绍。 + +MCU + +Byte Value Description + +0 0xA6 包头 Payload +1 0x10 Payload 长度 +2 0x35 Type:MCU 上传设备的基本信息 +3 0x01 数据有效标志位 + 0x01 +4~ 17 Sum 数据 +18 0x6A ( 1~n)校验和 +19 包尾 + +BM + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:BM 回复结果 + 结果值: +2 0x35 + 0 :成功 +3 1 :失败 + 2 :不支持 + ( 1~3)校验和 Payload + 包尾 +4 Sum + +5 0x6A + +Byte Value Description Payload +0 0xA6 包头 +1 0x02 Payload 长度 +2 0x36 Type:读取设备的基本信息指令 +3 + Sum Value +4 0x6A 0x01 +5 ( 1~3)校验和 + Value 包尾 +BM 0xA6 + Description +Byte 包头 +0 + 1 0x10 Payload 长度 Payload +2 0x36 Type:MCU 上传设备的基本信息 +3 0x01 数据有效标志位 + 0x01 +4~ 17 Sum 数据 +18 0x6A ( 1~n)校验和 +19 包尾 + +5. 1.21 APP 同步时间到 MCU (Type:37 、38) + + 对于某些设备,具有时间功能的,此时,可利用此指令进行数据的同步。 + + APP + +Byte Default Description + +0 0xA6 包头 + Payload 长度 (最大 15byte ) +1 + +2 0x37 Tpye: APP 同步时间 + 时间:7 个 byte +3~9 年 (当前年份-2000) + 月 + + 日 Payload + + 时 + + 分 + + 秒 + + 星期 (1~7 1=周一 ~ 7=周日) + +10 SUM (1~n) ( 1~n)校验和 + +11 0x6A 包尾 + + MCU + +Byte Value Description + +0 0xA6 包头 + Payload 长度 +1 0x02 Type:MCU 返回时间同步结果 + 结果值: +2 0x37 + 0 :成功 +3 Payload + 4 Sum 1 :失败 + 2 :不支持 +5 0x6A ( 1~3)校验和 + 包尾 + MCU + APP +Byte Value APP + Description +0 0xA6 包头 Payload + Payload 长度 +1 0x02 Type:MCU 请求 APP 下发时间 + +2 0x38 Value + 0x01 +3 + ( 1~3)校验和 +4 Sum 包尾 + +5 0x6A + + 5. 1.22 BM 模块自动唤醒设置、 自动进入睡眠返回 (Type:3A 、3B) + + 当 BM 模块处于休眠状态时,BM 模块连接、断连、收发数据时的唤醒设置。当 BM + + 模块处于唤醒状态时,不会触发唤醒设置机制。 + + 带 flash 的模块,该数据断电保存。 + + MCU + +Byte Default Description + +0 0xA6 包头 + Payload 长度 (最大 15byte ) +1 Type:BM 模块唤醒设置 + 连接唤醒: (BM 模块从断连状态切为连接状态时) +2 0x3A 0x00:APP 连接时,不唤醒 BM 模块和 MCU 。 + 0x01:APP 连接时,唤醒 BM 模块和 MCU 。(默认) +3 + 断连唤醒: (BM 模块从连接状态切为断连状态时) +4 0x00:APP 断连时,不唤醒 BM 模块和 MCU 。(默认) + 0x01:APP 断连时,唤醒 BM 模块和 MCU。 + Payload + 收数据唤醒: (BM 收到 APP 数据,同时需要把数据发到 MCU +5 时) + 0x00:收到 APP 数据时,不唤醒 BM 和 MCU + 0x01:收到 APP 数据时,唤醒 BM 和 MCU (默认) + 6 自动睡眠返回指令: + 0x00: 自动睡眠后,不返回睡眠指令。 +7 SUM (1~n) 0x01: 自动睡眠后,返回睡眠指令。 (默认) + +8 0x6A 包尾 + + BM Description + 包头 +Byte Value Payload 长度 + Type:MCU 返回设置结果 +0 0xA6 结果值: + +1 0x02 0 :成功 + 1 :失败 +2 0x3A 2 :不支持 + ( 1~3)校验和 +3 包尾 + + Payload + +4 Sum + +5 0x6A + 根据已定好的协议,做数据的传输。 + +Byte Default Description + +0 0xA7 包头 + 产品类型 CID +1~2 Payload 长度 (最大 15byte ) + Payload +3 + +n + +n+ 1 SUM (1~n) ( 1~n)校验和 + +n +2 0x7A 包尾 + +协议透传指令的识别: + + 包头和包尾是固定的:0xA7 ,0x7A。 + 校验和是指 byte1 + …+ byte n 的值,取低 8 位。 + +不符合设置指令与协议透传指令的数据一律采用数据透传,即收到什么数据就传什么数据。 + 6 + + 1 、介绍:该身高秤协议支持体脂模式、身高测量、标定模式。 + 2 、四电极体脂测量模式。 + + 6. 1. 1 交互流程 + + 1. BM 模块上电。 + 2. BM 模块返回状态信息。 + 3. MCU 上传自身支持的单位。 (必须设) + 4. MCU 设置蓝牙其他参数, (可根据自身需求设置) 。 + 5. APP连接,下发用户数据 (性别、年龄、身高) ,单位设置,工作模式。 + 6. APP 连接,读取设备的声音设置。 + 7. 设备启动,上传数据。 + 8. APP 设置单位。 + 9. MCU 休眠。 + 6. 1.2 APP 下发用户信息 + +APP 连接后,需要把当前用户信息下发到设备。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 +1~2 0x0026 Payload 长 度 + +3 Type:APP 下发用户信息 + +4 0x01 性别 + 0 :女性 +5 1 :男性 + 年龄 (岁) +6 身高 cm Payload + 保留位 0 Payload +7 校验和 + 包尾 +8 + +9 SUM + +10 0x9A + +MCU Default Description + 0xA9 + Byte 0x0026 包头 + 产品类型: + 0 0x02 Payload 长 度 + 1~2 Type: 返 回 收 到 用 户 数 据 结 果 + 3 0x00 : 成功 + 4 0x01 : 失败 + 5 0x02:不支持 + ( 1~5)校验和 +6 SUM (1~5) 包尾 + +7 0x9A + 6. 1.3 MCU + + MCU Default APP PS +APP + Description Payload + Byte + 包头 APP +0 0xA9 产品类型: + Payload 长 度 Payload +1~2 0x0026 Type:MCU 请求用户 + 0x01 +3 ( 1~5)校验和 + 包尾 +4 0x03 + +5 + +6 SUM (1~5) + +7 0x9A + + 6. 1.4 APP/MCU 设置单位 + +APP APP MCU + + Byte Default Description + 0 0xA9 + 1~2 0x0026 包头 + 3 产品类型: + 4 0x04 Payload 长 度 + 5 Type: 单 位 设 置 + 身长单位 +6 0 :cm + 1 :inch +7 SUM (1~6) 2 :ft-in + 体重单位 +8 0x9A 0 :kg + 1 :斤 + 2 :lb:oz + 3 :oz + 4 :st:lb + 5 :g + 6 :lb + + ( 1~6)校验和 + 包尾 + MCU/APP Default Description + 0xA9 + Byte 0x0026 包头 + 产品类型: + 0 0x05 Payload 长 度 + 1~2 Type: 设备返回单位设置结果 + 3 0x00 : 成功 Payload + 4 0x01 : 失败 Payload + 5 0x02: 不支持 Payload + ( 1~5)校验和 +6 SUM (1~5 ) 包尾 + +7 0x9A + + 6. 1.5 APP 下发工作模式 + +APP 连接后, 需要把当前工作模式下发到设备。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 +1~2 0x0026 Payload 长 度 + +3 Type: APP 下发工作模式 + +4 0x06 1: 身高体脂模式 ( 默认) + +5 3: 标定模式 2:体重⾝⾼模式(默认) + +6 保留位 00 + 校验和 +7 SUM 包尾 + +8 0x9A + +MCU Default Description + 0xA9 + Byte 0x0026 包头 + 产品类型: + 0 0x07 Payload 长 度 + 1~2 Type: 返回工作模式设置 + 3 0x00 : 成功 + 4 0x01 : 失败 + 5 0x02: 不支持 + ( 1~5)校验和 +6 SUM (1~5 ) 包尾 + +7 0x9A + 6. 1.6 APP 读取声音设置 + +APP 连接后,需要主动读取 MCU 端的声音设置 (即MCU 端优先级高) 。MCU 需以声音设置格 + +式回复。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 +1~2 0x0026 Payload 长 度 + +3 Type:APP 读取声音设置 + +4 0x08 0x01 Payload + 保留位 0 +5 校验和 + 包尾 +6 + +7 SUM + +8 0x9A + + 6. 1.7 APP/MCU 声音设置 + +在连接状态,手动设置声音状态时,需要以下面格式发送。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 +1~2 0x0026 Payload 长 度 + +3 Type: 声 音 设 置 + +4 0x09 1 :声音开 + 2 :声音关 +5 保留位 0 Payload + 校验和 Payload +6 包尾 + +7 SUM + +8 0x9A + +Byte Default Description + +0 0xA9 包头 + 产品类型: +1~2 0x0026 Payload 长 度 + +3 Type: 返 回 声 音 设 置 + +4 0x0A 0x00 : 成功 + +5 + 0x01 : 失败 + + 0x02:不支持 + +6 SUM (1~5) ( 1~5)校验和 + +7 0x9A 包尾 + + 6. 1.8 身高体脂秤模式 + 6.1.8.1 MCU + +Byte Default Description + +0 0xA9 包头 + +1~2 0x0026 产品类型 (CID) + Payload 长 度 +3 + +4 0x10 类型:称重 Payload + +5 Type: 测 量 状 态 + + 01:实时体重 + + 02:稳定体重 + +6 重量数据高位 注: 当单位是组合单位时 如 +7 +8 重量数据次高位 1ST : 5LB , 则 该 值 是 + 重量数据低位 1*14+5= 19 ,需将数值转为小 + 单位数值 ,同时在后面的单位 + + 声明里申明是 st:lb 单位。 + +9 数据标志: + Bit7~4:重量数据精度 (该数据标识的是次级单位里的 + 数据格式) + 0000:0 位小数 + 0001:1 位小数 + 0010:2 位小数 + 0011:3 位小数 + +10 Bit3~0 :当前单位: (标识整一组数据的单位类型) + 0000:kg + + 0001:斤 + 0100:st:lb + 0110:lb + + 保留为:00 + 11 SUM 校验和 (byte1~byte10) + 包尾 +12 0x9A + + 6.1.8.2 MCU + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + 类型:测试阻抗 +3 Type: 阻 抗 测 量 + 01:测阻抗中 +4 0x11 02:测阻抗失败 + 03:测阻抗成功,带上阻抗数据,并使用 APP 算法(APP 会根 +5 据 byte11 的算法标识进行计算) + 0 4:测阻抗成功,带上阻抗数据,并使用MCU 算法。 +6 05:测阻抗结束。 + 通道: + 0x00 双脚阻抗 Payload + + 8 + 0x01 双手阻抗 + 0x02 左手阻抗 0x03 右手阻抗 + 0x04 左脚阻抗 0x05 右脚阻抗 + 0x06 左全身阻抗 0x07 右全身阻抗 + 0x08 右手左脚阻抗 + 0x09 左手右脚阻抗 0x0A 躯干阻抗 + +7- 10 阻抗数据(大端序,精度 1Ω) +11 体脂算法 ID ,每个客户都有自己的算法 ID (1~255) + 若使用MCU 端算法,则该值为 0 。 +12 0 保留位 + 校验和 (byte1~byte12) +13 SUM 包尾 + +14 0x9A + 6.1.8.3 MCU + +无心率测试,则不需上发。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + 类型:测试心率 +3 Type: 心 率 测 量 + 01:测心率中 +4 0x12 02:测心率成功,带上心率数据 + 03:测心率失败 +5 心率数据 (精度 1bpm) + 保留 + 校验和 Payload + 包尾 +6 + +7 0x00 + +8 SUM + +9 0x9A + 6.1.8.4 MCU + +无温度测试,则不需上发。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + 类型:温度数据 +3 温度正负 + 0 :正温度 +4 0x13 1 :负温度 + 温度数据高字节 +5 温度数据低字节 + +6 数据标志: +7 +8 Bit7~4 :温度数据精度 + 0000:0 位小数 +9 0 0001:1 位小数 Payload + 0010:2 位小数 Payload +10 SUM 0011:3 位小数 + +11 0x9A Bit3~0 :当前单位: (标识整一组数据的单位类型) + 0000: ℃ + 0001: ℉ + 保留 + 校验和 + 包尾 + + 6.1.8.5 MCU + +无身高测试,则不需上发。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 +1~2 0x0026 Payload 长 度 + Type: 身 高 +3 + +4 0x14 + 5 身长数据的高字节 + +6 身长数据的低字节 + +7 数据标志:单位 + + 0 :cm + + 1 :inch + + 2 :ft-in + +8 数据标志:小数点 + + 0 :无小数点。 + + 1 :1 位小数点。 + + 2 :2 位小数点。 + + N:N 位小数点。 + +9 SUM (1~8) ( 1~8)校验和 + +10 0x9A 包尾 + 6.1.8.6 + +Byte Default Description Payload + 0xA9 Payload +0 0x0026 包头 +1~2 0x15 产品类型 +3 0x01 Payload 长 度 +4 Type: 体 脂 数 据 +5 SUM 数据部分 1 +6-7 0x9A 体脂率 (大端序,精度 0. 1%) +8-9 皮下脂肪 (大端序,精度 0. 1%) +10- 11 内脏脂肪 (大端序,精度 1) +12- 13 肌肉率 (大端序,精度 0. 1%) +14- 15 基础代谢率 (大端序,精度 1) +16 身体年龄 +17 保留位 0 +18 校验和 +19 包尾 + +Byte Default Description + +0 0xA9 包头 + +1~2 0x0026 产品类型 + +3 Payload 长 度 + +4 0x15 Type: 体 脂 数 据 + +5 0x02 数据部分 2 + +6-7 骨量 (大端序,精度 0. 1kg) + +8-9 水含量 (大端序,精度 0. 1%) + +10- 11 蛋白率 (大端序,精度 0. 1%) + +12- 13 BMI (大端序,精度 0. 1) + +14 心率数据 (精度 1bpm) + +15 肥胖等级 + +16- 17 保留位 0 + +18 SUM 校验和 + +19 0x9A 包尾 + +以上数据,若设备无对应的功能,则对应的数据位填 0xFF。 + 6. 1.9 MCU 发送测量完成 + +当 MCU 测量结束后,需要发送指令测量完成指令通知 APP。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + Type: 测 量 完 成 +3 0x30 + 保留 +4 0x30 校验和 + 包尾 +5 0 Payload + Payload +6 SUM Payload + +7 0x9A + + 6. 1. 10 APP 回复测量完成 + +APP 收到 MCU 的测量完成指令后,需回复该指令。 + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + Type: APP 测量完成 +3 保留 + 校验和 +4 0x31 包尾 + +5 0 + +6 SUM + +7 0x9A + + 6. 1. 11 标定模式 + + 6.1.11.1 APP + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + 类型:APP 下发标定重量 +3 Type: 测 量 状 态 + +4 0x40 + +5 + 3 :重量标定 + +6 重量数据高位 注: 当单位是组合单位时 如 +7 +8 重量数据次高位 1ST : 5LB , 则 该 值 是 + 重量数据低位 1*14+5= 19 ,需将数值转为小 +9 单位数值 ,同时在后面的单位 + + 声明里申明是 st:lb 单位。 + + 数据标志: + Bit7~4:重量数据精度 (该数据标识的是次级单位里的 + + 数据格式) + + 0000:0 位小数 + + 0001:1 位小数 + 0010:2 位小数 + 0011:3 位小数 + +10 Bit3~0 :当前单位: (标识整一组数据的单位类型) + 0000:kg +11 SUM + 0001:斤 +12 0x9A 0100:st:lb + 0110:lb + 保留为:00 + + 校验和 (byte1~byte10) + + 包尾 + + 6.1.11.2 MCU + +APP 收到 MCU 的测量完成指令后,需回复该指令。 + +Byte Default Description + +0 0xA9 包头 + 产品类型: +1~2 0x0026 Payload 长 度 + Type: 返 回 标 定 结 果 +3 0x00 : 成功 + 0x01 : 失败 +4 0x41 0x02:不支持 + ( 1~5)校验和 +5 包尾 Payload + +6 SUM (1~5) + +7 0x9A + 6. 1. 12 设备上发错误码 + +Byte Default Description + +0 0xA9 包头 + 产品类型 (CID) +1~2 0x0026 Payload 长 度 + Tpye: 错 误 码 +3 错误内容: + 1 :超重 +4 0 xFF … + 校验和 +5 包尾 Payload + +6 SUM + +7 0x9A +