diff --git a/蓝牙秤/L01,L02,L03,L01B,L05,J02,EKS9919,EKS9918,J02B,J02C广播秤蓝牙协议.pdf b/蓝牙秤/L01,L02,L03,L01B,L05,J02,EKS9919,EKS9918,J02B,J02C广播秤蓝牙协议.pdf new file mode 100644 index 0000000..3e7dd04 --- /dev/null +++ b/蓝牙秤/L01,L02,L03,L01B,L05,J02,EKS9919,EKS9918,J02B,J02C广播秤蓝牙协议.pdf @@ -0,0 +1,650 @@ +ailink 广播体脂秤应用说明 + + 版本:V1.3 + 更新日期:2021 年 3 月 16 日 + 深圳市易连物联网有限公司版权所有 + + 本产品的规格书如有变更,恕不另行通知。 + 深圳市易连物联网有限公司保留在不另行通知的情况下,对其中所包含的规格书和材料进行更改 +的权利,同时由于信任所引用的材料所造成的损害(包括结果性损害),包括但不限于印刷上的错误 +和其他与此出版物相关的错误,易连物联网将不承担责任。 + +深圳市易连物联网有限公司 -1- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 修改记录 + +文档版本 作者 发布日期 修改说明 + +V1.0 LYX 2020/8/4 1.增加广播体脂秤协议 +V1.1 lxl 2020/11/6 1. 更正概述中描写的支持模块版本。 +V1.2 lxl 2021/2/19 1、更新广播秤应用实例 + 2、修改测量数据指令里的体重例子 +V1.3 lxl 2021/3/16 3、增加上电要求 + 1、增加 MCU 判断/等待 蓝牙 UART 回复。 + + 深圳市易连物联网有限公司 -2- + 电话:(86)0755-81773367 邮箱:hw@elinkthings.com + 地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 目录 + +修改记录........................................................................................................................................................- 2 - +目录................................................................................................................................................................- 3 - +1 概述............................................................................................................................................................- 4 - +2 说明............................................................................................................................................................- 4 - +3 工作模式....................................................................................................................................................- 5 - + + 3.1 模式一:断电模式。.....................................................................................................................- 5 - + 3.2 模式二:长供电休眠模式。.........................................................................................................- 5 - +4 蓝牙接口(数据)....................................................................................................................................- 6 - + 4.1 默认蓝牙名称:ELK.......................................................................................................................- 6 - + 4.2 UUID :0xF0A0............................................................................................................................... - 6 - + 4.3 广播数据格式.................................................................................................................................- 6 - +5 BM 模块与 MCU 交互协议........................................................................................................................ - 7 - + 5.1 串口格式.........................................................................................................................................- 7 - + 5.2 上电.................................................................................................................................................- 7 - + 5.3 设置(获取)指令.........................................................................................................................- 7 - + + 5.3.1 开机指令............................................................................................................................................. - 8 - + 5.3.2 关机..................................................................................................................................................... - 9 - + 5.3.3 设置蓝牙名称................................................................................................................................... - 10 - + 5.3.4 设置设备 ID.......................................................................................................................................- 11 - + 5.3.5 自定义数据传输............................................................................................................................... - 12 - +6 AILINK 产品接入介绍............................................................................................................................... - 13 - + 6.1 体脂秤...........................................................................................................................................- 13 - + 6.1.1 工作流程........................................................................................................................................... - 13 - + 6.1.2 发送测量数据................................................................................................................................... - 13 - + 6.1.3 应用实例........................................................................................................................................... - 15 - +7 自定义说明..............................................................................................................................................- 18 - +8 联系我们..................................................................................................................................................- 18 - +9 附录..........................................................................................................................................................- 18 - + +深圳市易连物联网有限公司 -3- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 1 概述 + + 本文档适用于 BM30V1.0 版本模块。 + 本模块使用的是广播数据格式透传数据。 + 本模块使用 UART 数据交互,MCU 通过 UART 将数据传到 BM 模块,BM 模块将数据传到 APP +实现数据透传。也可以通过协议透传命令快速适配综合超级应用 APP:AiLink,快速实现血压计、额 +温枪、体温计、婴儿秤、身高仪等智能化。 + + 请扫描此二维码下载 AiLink APP。 + 如使用 AILink 时,需严格按照协议透传产品介绍里面的流程进行操作。 + 下文中表明的 MCU 为与 BM 模块连接交互的芯片,BLE 则为 BM 模块. + +2 说明 + + 2.1 BM 与 APP 通过广播格式实现数据传送。 + 2.2 BM 模块上电需要时间进行配置,当配置完成,进入就绪时,BM 模块会主动给 MCU 返回一 + + 个 BM 开机状态信息。 + +深圳市易连物联网有限公司 -4- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 3 工作模式 + +  BM 模块支持两种工作模式,断电模式和不断电休眠模式,用户可以根据自身需求合 + 理选择工作模式。 + 用户可以在设计 PCB 的时候,预留两种方式的电路。详情请查看硬件规格书规格书。 + + 3.1模式一:断电模式。 + +  在此模式下,BM 模块完全断电,需要供电才能正常工作,这种模式有利于省电。 + + 3.2模式二:长供电休眠模式。 + +  此模式下,BM 模块需要长供电,不会断电关机(串口已关闭,BM 处于低功耗模式)。 +  工作流程: + + 1、MCU 发送开机指令。 + 2、MCU 发送正常自定义数据。 + 3、MCU 发送关机休眠指令。 +  自动关机休眠:BM 模块 60s 无接收到串口数据时,会自动进入关机休眠模式。 + +深圳市易连物联网有限公司 -5- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 4 蓝牙接口(数据) + +4.1 默认蓝牙名称:ELK + + 蓝牙名称可通过指令修改,且断电保存。 + +4.2 UUID :0xF0A0 + +4.3 广播数据格式 + +Byte Value 内容 +0 0x03 广播 UUID =0xF0A0 +1 0x03 +2 0xA0 蓝牙广播名称(可通过指令改变该值) +3 0xF0 +4 0x04 自定义数据声明 +5 0x09 ID(注意:如果不接入 AILink 超级 APP,则该值请不要设 +6 0x45 置) +7 0x4C MAC 小端序 +8 0x4B 校验和: byte21-byte30 的累加和 +9 0x15 用户自定义数据,根据串口数据填入 +10 0xFF +11 0x00 +12 0x00 +13 0x00 +14-19 +20 +21-30 + +深圳市易连物联网有限公司 -6- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5 BM 模块与 MCU 交互协议 + + 5.1 串口格式 + + 波特率 9600,8 数据位,无校验位,1 停止位,无硬流控 + + 5.2 上电 + + (1) BM30 T1 支持常供电模式、断电模式: + 常供电模式下,蓝牙关机进入休眠状态。 60s 无操作、发送关机指令进入休眠模式; + 断电模式下,芯片完全断电,需要供电才能正常工作。 + + (2) 上电要求: + 模块在上电时,先给模块上电到正常供电电压,再延迟 1000ms 给 RX/TX 通讯接口发送数据, + 请注意上电的电压和文波不要超过限制要求,避免损坏模块。 + +5.3 设置(获取)指令 + + 设置类指令。 + 开机 + 关机 + 设置蓝牙名称 + 设置 ID + 设置自定义数据 + +设置类指令格式规范: + +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 数不能超过 20byte。 + +为了保证 APP 能完整接收到数据,数据发送间隔需大于 200ms。 + +深圳市易连物联网有限公司 -7- +电话:(86)0755-81773367 + 邮箱:hw@elinkthings.com + +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.3.1 开机指令 + +BM 模块处于休眠时,需要发送开机指令让其进入工作模式。 +格式: + +Byte Value Description + +0 0xA6 包头 + 包尾 +1 0x02 + +2 0x1A + +3 0x01 + +4 0x1D + +5 0x6A + +MCU 开机返回 + +Byte Value Description + 包头 +0 0xA6 + 包尾 +1 0x02 + +2 0x1A + +3 0x00 + +4 0x1C + +5 0x6A + +深圳市易连物联网有限公司 -8- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.3.2 关机 + + BM 接收到 MCU 发送的关机指令后,会进入休眠模式,同时返回关机指令。关机休眠后,不 +发送广播数据。 + + BM 模块 60s 无接收到串口数据时,也会自动关机。 + BM 关机后,Tx 输出高,Rx 浮空输入(注意状态,不要导致漏电)。 + +MCU 发送的关机指令 + +Byte Value Description + 包头 +0 0xA6 + 包尾 +1 0x02 + +2 0x19 + +3 0x01 + +4 0x1C + +5 0x6A + +BM 关机返回 + +Byte Value Description + 包头 +0 0xA6 + 包尾 +1 0x02 + +2 0x19 + +3 0x00 + +4 0x1B + +5 0x6A + +深圳市易连物联网有限公司 -9- +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.3.3 设置蓝牙名称 + +MCU 发送的设置蓝牙名称指令 + +Byte Value Description + +0 0xA6 包头 + +1 0x04 1、蓝牙名称只能设置 3 个字符 + 2、蓝 牙 名 称 的 参 数 对 应 ASCII 码 表 , 例 如 蓝 牙 名 称 =123 , 则 +2 0x01 byte3=0x31,byte4=0x32,byte5=0x33 + Sum:byte1-byte5 的累加和 +3 包尾 + +4 + +5 + +6 + +7 0x6A + +BM 返回的设置结果指令 + +Byte Value Description + +0 0xA6 包头 + 包尾 +1 0x02 + +2 0x01 + +3 0x00 + +4 0x03 + +5 0x6A + +深圳市易连物联网有限公司 - 10 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.3.4 设置设备 ID + + 注意:当设备不接入 AILink 超级 APP 时,请不要设置该值。否则您所使用的 APP + + 无法解析数据。 + + 该数值请联系我司分配。 + +MCU 发送的设置设备 ID 指令 + +Byte Value Description + +0 0xA6 包头 + +1 0x04 CID + VID +2 0x1D PID + Sum:byte1-byte5 的累加和 +3 包尾 + +4 + +5 + +6 + +7 0x6A + +FC2502 返回的设置 ID 结果指令 + +Byte Value Description + +0 0xA6 包头 + 包尾 +1 0x02 + +2 0x1D + +3 0x00 + +4 0x1F + +5 0x6A + +深圳市易连物联网有限公司 - 11 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 5.3.5 自定义数据传输 + + MCU 可通过该指令,BM 将数据通过广播的格式,将自定义数据传输到 APP。为了保证 + +APP 能完整接收到数据,自定义数据的设置间隔需大于 200ms。 + +MCU 发送的设置自定义数据指令 + +Byte Value Description + +0 0xA6 包头 + 长度 +1 0x0B 类型 + 默认 0x00 +2 0x03 默认 0x00 + 默认 0x00 +3 默认 0x00 + 默认 0x00 +4 默认 0x00 + 默认 0x00 +5 默认 0x00 + 默认 0x00 +6 默认 0x00 + Sum(该值为 byte1 到 byte12 的累加和) +7 包尾 + +8 + +6 + +10 + +11 + +12 + +13 + +14 0x6A + +BM 返回的结果: + +Byte Value Description + 包头 +0 0xA6 Payload 长度 + +1 0x02 包尾 + +2 0x03 Payload + +3 0x00 + +4 0x05 + +5 0x6A + +深圳市易连物联网有限公司 - 12 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6 AILINK 产品接入介绍 + + BM30 支持 AILINK 产品的接入,只需根据协议更改 ID 和自定义数据即可。 + +6.1 体脂秤 + + 6.1.1 工作流程 + + 1. 设备上电 + 2. 唤醒模块 (断电模式则供电,休眠模式则发开机指令) + 3. 设置模块的 ID(CID、VID、PID 联系我司分配),该值模块断电保存。 + 4. 设置模块蓝牙名称(选设),该值模块断电保存。 + 5. 发送体重阻抗数据。 + 6. 发送关机指令(或者直接断模块电)。 + +6.1.2 发送测量数据 + +Byte Value Description + 包头 +0 0xA6 + 测量数据 +1 0x0B serial number 数据流水号 ,串口每发一组新数据,数据+1 ,达到最 + 大值则从零开始加 +2 0x03 测量标识符 + 0x00 :开始测试 +3 0x00 :正在测量体重 (此时阻抗数值为 0) + 0x01 :正在测量阻抗(此时阻抗数值为 0) +4 0x02 :阻抗测量成功 + 0x03 :阻抗测量失败(此时阻抗数值为 0xFFFF) + 0xFF :测试结束 + +5 数据属性 + + Bit7 :温度单位 0=℃ ,1=℉ + + Bit6-3:体重单位 + +深圳市易连物联网有限公司 - 13 - + +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6-7 0000:kg + 0001:斤 +8-9 0100:st:lb +10 0110:lb +11-12 Bit2-1:体重小数点 + 00 :无小数点 +13 01 : 1 个小数点 + 10 :2 个小数点 +14 0x6A 11 :3 个小数点 + Bit0 :重量类型 + 0:实时重量,1:稳定重量 + + 体重,大端序 + 最高位 =0 :正重量 + 最高位 = 1 :负重量 + 例如:byte6 =0x80,byte7=0x64 ,则重量为 -100 + + Byte6 =0x00,byte7=0x64 ,则重量为 100 + 备注:对于 ST:LB 单位,需要把数值转为 LB,但是单位需要声明 + 为 ST:LB . + + 阻抗,大端序 + 体脂秤算法 ID 编号,需联系我司分配。 + 温度值,大端序 ,精度 0.1 + 最高位 = 0 :正温度 + 最高位 = 1 :负单位 + 无温度测量,则该值为 0xFFFF + Sum(该值为 byte1 到 byte12 的累加和) + 包尾 + +BM 返回的接收: + +Byte Value Description + 包头 +0 0xA6 Payload 长度 + +1 0x02 包尾 + +2 0x03 Payload + +3 0x00 + +4 0x05 + +5 0x6A + +深圳市易连物联网有限公司 - 14 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 6.1.3 应用实例 + + (1) 体重、阻抗测量失败的工作流程: + 1 开机指令 + +MCU 发→◇A6 02 1A 01 1D 6A □ +MCU 收←◆A6 02 1A 00 1C 6A + + 2 设置 CID VID PID 信息(必设,具体值请联系我司获取) +MCU 发→◇A6 04 1D 01 03 02 27 6A □ +MCU 收←◆A6 02 1D 00 1F 6A + + 3 开始测量,实时体重=0.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 01 00 02 00 00 00 00 01 FF FF 10 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 4 正在测量体重,实时体重=25.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 02 00 02 00 FA 00 00 01 FF FF 0B 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 5 正在测量体重,实时体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 03 00 02 01 F4 00 00 01 FF FF 07 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 6 正在测量体重,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 04 00 03 01 F4 00 00 01 FF FF 09 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 7 正在测量阻抗,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 05 01 03 01 F4 00 00 01 FF FF 0B 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 8 阻抗测量失败,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 06 03 03 01 F4 00 00 01 FF FF 0E 6A □ +MCU 收←◆A6 02 03 00 05 6A + + 9 测量结束,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 07 FF 03 01 F4 00 00 01 FF FF 0B 6A □ +MCU 收←◆A6 02 03 00 05 6A + +10 关机指令 +MCU 发→◇A6 02 19 01 1C 6A □ +MCU 收←◆A6 02 19 00 1B 6A + +深圳市易连物联网有限公司 - 15 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + (2) 体重、阻抗测量成功的工作流程: + +11 开机指令 +MCU 发→◇A6 02 1A 01 1D 6A □ +MCU 收←◆A6 02 1A 00 1C 6A + +12 设置 CID VID PID 信息(必设,具体值请联系我司获取) +MCU 发→◇A6 04 1D 01 03 02 27 6A □ +MCU 收←◆A6 02 1D 00 1F 6A + +13 开始测量,实时体重=0.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 01 00 02 00 00 00 00 01 FF FF 10 6A □ +MCU 收←◆A6 02 03 00 05 6A + +14 正在测量体重,实时体重=25.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 02 00 02 00 FA 00 00 01 FF FF 0B 6A □ +MCU 收←◆A6 02 03 00 05 6A + +15 正在测量体重,实时体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 03 00 02 01 F4 00 00 01 FF FF 07 6A □ +MCU 收←◆A6 02 03 00 05 6A + +16 正在测量体重,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 04 00 03 01 F4 00 00 01 FF FF 09 6A □ +MCU 收←◆A6 02 03 00 05 6A + +17 正在测量阻抗,稳定体重=50.0kg,阻抗=0,算法 ID=01 +MCU 发→◇A6 0B 03 05 01 03 01 F4 00 00 01 FF FF 0B 6A □ +MCU 收←◆A6 02 03 00 05 6A + +18 阻抗测量成功,稳定体重=50.0kg,阻抗=560,算法 ID=01 +MCU 发→◇A6 0B 03 06 02 03 01 F4 02 30 01 FF FF 3F 6A □ +MCU 收←◆A6 02 03 00 05 6A + +19 测量结束,稳定体重=50.0kg,阻抗=560,算法 ID=01 +MCU 发→◇A6 0B 03 07 FF 03 01 F4 02 30 01 FF FF 3D 6A □ +MCU 收←◆A6 02 03 00 05 6A + +20 关机指令 +MCU 发→◇A6 02 19 01 1C 6A □ +MCU 收←◆A6 02 19 00 1B 6A + +深圳市易连物联网有限公司 - 16 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + (3) 注意事项: + + 1 发送间隔:MCU 的发送间隔必须要大于 200ms ,发送间隔低于 200ms 会有丢包的可能性。 + 2 上电要求:模块在上电时,先给模块上电到正常供电电压,再延迟 1000ms 给 RX/TX 通 +讯接口发送数据。 + 3 MCU 发送指令中流水号需要变化,流水号不变化 APP 会认为是同一条指令。 + 如果担心数据丢包可以发送多条流水号相同的指令,流水号 + 4 MCU 在测量结束后一定要发“测量结束”指令,不发送“测量结束”指令,APP 不会保存 +当次的数据。 + 5 APP 逻辑: + + 1) APP 接收到“开始测量”的指令,进入测量模式;接收到“测量结束”的指令,结束测 + 量、记录数据。 + + 2) APP 判断“开始测量”“结束测量”这两条指令来开始、结束测量,中间的数据不影响 + 可以重复发送。 + + 3) APP 根据流水号判断是不是同一条数据;如果 APP 接收到相同流水号的数据,只会取第 + 一条指令的数据。 + + 4) APP 判断流水号不一致,就是不同的数据;流水号不一定是递增的。 + 5) 如果要连发两条测量指令,那测量指令的流水号要一样。 + + (4) MCU 判断/等待 蓝牙 UART 回复: + + 1 MCU 发送指令给蓝牙模块后,如果 MCU 超时没有收到模块回复,建议 MCU 重复发送指令 +2~3 次或延长等待时间,如果还是不行,MCU 不再等待模块回复,开始发送称重数据指令。 + +深圳市易连物联网有限公司 - 17 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 + 7 自定义说明 + +8 联系我们 + + 深圳市易连物联网有限公司 + 地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 + Tel: +(86)0755-81773367 + Email:hw@elinkthings.com + Web: www.elinkthings.com + +9 附录 + +深圳市易连物联网有限公司 - 18 - +电话:(86)0755-81773367 邮箱:hw@elinkthings.com +地址:深圳市宝安区西乡街道银田工业区侨鸿盛文化创意园写字楼 A 栋五层 502 室 邮编:518000 +