diff --git a/蓝牙秤/YPC1293品传3个健跳绳蓝牙协议.doc b/蓝牙秤/YPC1293品传3个健跳绳蓝牙协议.doc new file mode 100644 index 0000000..71a217a --- /dev/null +++ b/蓝牙秤/YPC1293品传3个健跳绳蓝牙协议.doc @@ -0,0 +1,197 @@ + + +BLE APP 通信协议1.2 + + +定义 + + 蓝牙广播数据 暂定“YPC1293ED1F80145340XX”。 + + + ED 1F 80 14 53 40(举例值)是代表产品的MAC地址 + + + 1. 蓝牙数据定义 + 蓝牙SIG专用的服务和特征值,这些数据不可以占用和修改。 + + + |服务UUID |特征值名字 |特征值UUID |特征值属性 |特征值含义 | +|0x1800 |Device Name|0x2A00 |READ |IOS 系统从 | +| | | | |此特征值获 | +| | | | |取设备名。 | + + +说明:(返回的值 根据 百度下ASCII对照表进行查询,比如312e302e30对应1.0.0) +|服务UUID |特征值名字 |特征值UUID|特征值属 |特征值含义|返回的值 | +| | | |性 | | | +|0x180A |Manufacturer Name |0x2A29 |READ |生产商名字| | +| |String | | | | | +| |Firmware Revision |0x2A26 |READ |固件版本 |312e302e30 | +| |String | | | | | +| |Software Revision |0x2A28 |READ |软件版本 |312e302e30 | +| |String | | | | | + + + 2. 蓝牙自定义通讯数据 + UUID 16位 + + + 服务 UUID:FF E0 + 特征值 UUID:FF E4 + 属性: Notify,使能配置后,蓝牙设备向APP发数据 + + + 服务 UUID:FF E5 + RX特征值 UUID:FF E9 + 属性: WRITE,WRITE NO RESPONSE,APP向蓝牙设备发送数据。 + + + [pic] + + + + + + + + + + +1. 基本定义 + 1. 波特率为9600,8位数据位,2位停止位,无奇偶校验。 + 2. AAP端为主机(下传),跳绳(蓝牙模块)为从机(上传)。 + 3. 每帧长度可以变,每个数据包总长度不超过20字节。 + 4. 传输数据中高字节在前。 +2. 连接过程 + 1. 当从机上电或开机时,以自定义的方式进行广播,直到连接成功。 + 2. + 从机收到正确的密码后,主机就可以进行设置模式、计时、计数取当前数据等操 + 作。 + 3. 从机被关机后将断开连接,直到下次开机后重新开始广播。 +3. 数据格式字义 +|0xA5 |长度 |命令 |数据 |校验码| +|1Byte|1Byte |1Byte|N Byte|1Byte | + + + 0xA5为同步头。 + 长度为整个帧的总长度。 + 命令为相对应的功能代码。 + 数据为该指令所带的相应内容,N可以为0。 + 检验码为本帧除校验码外所有数据的无进位累加和。 + +注意点:只要不是主动发送指令给跳绳设备查询 读取参数指令 +的,才默认为历史记录, +下传读取设备参数指令 + +|0xA5 |0x05 |0x03 |状态 |校验码| +| | | |1Byte | | + +连接过程: +第一步:获取固件版本 +|0x2A26 |READ |固件版本 | + + +第二步:获取密码 +[pic] +第三步:下传读取设备参数指令 +注意点:(最开始的时候操作一次获取状态) +|0xA5 |0x05 |0x03 |状态 |校验码| +| | | |1Byte | | + +以下是用户操作流程: + +第四步:下传自由跳、倒计时、倒计数指令 +注意点:用户 随时在下传指令 +|0xA5 |0x08 |0x09 |次数 |时间 |校验码| +| | | |2Byte |2Byte | | + + +第五步:下传读取设备参数指令 +注意点: 在第六步操作完后,都会执行这一步 +|0xA5 |0x05 |0x03 |状态 |校验码| +| | | |1Byte | | + +4. 指令解析 + + 1. 下传密码指令 +|0xA5 |0x0a |0x01 |密码 |校验码| +| | | |6Byte | | + + + 密码为6个数。默认为888888 + 密码=['08','08','08','08','08','08'] + 从机反馈 +|0x5A |0x05 |0x01 |状态 |校验码| +| | | |1Byte | | + + +状态:0表示密码错误;1表示密码正确。 + 3、下传读取设备参数指令 +|0xA5 |0x05 |0x03 |状态 |校验码| +| | | |1Byte | | + + +0x00 连续发送 +0x01 单条发送 +0x05 停止发送 + 从机反馈 +|0x5A |0x14 |0x03 |当前电|当前次| +| | | |量 |数2Byt| +| | | |1Bytes|es | + + +状态:1表示暂停,0表示开始 + 从机反馈 +|0x5A |0x05 |0x04 |状态 |校验码| +| | | |1Byte | | + + +状态:1表示成功,0表示不成功。 + 4. 结束设备指令 +|0xA5 |0x05 |0x05 |状态 |校验码| +| | | |1Byte | | + + +状态:1表示结束,0表示开始 + + 从机反馈 +|0x5A |0x05 |0x05 |状态 |校验码| +| | | |1Byte | | + + +状态:1表示成功,0表示不成功。 +是指app发送结束指令,设备上状态结束,设备怎么操作都不会发生变化,并且 +下传读取设备参数指令中的当前状态为4(结束) + + 8、设置体重指令() +|0xA5 |0x05 |0x08 |体重1B|校验码| +| | | |yte | | + + +状态:以斤为单位最大180公斤 + 从机反馈 +|0x5A |0x05 |0x08 |状态 |校验码| +| | | |1Byte | | + + +状态:1表示成功,0表示不成功。 + + 9、下传自由跳、倒计时、倒计数指令 +|0xA5 |0x08 |0x09 |次数 |时间 |校验码| +| | | |2Byte |2Byte | | + + +自由跳(计数)模式:次数和时间全为0 +倒计时(时间):次数为“0000”,时间为“03E8”,高字节在前,单位为秒,比如1000秒 +,高字节为0x03,低字节为0xE8 +倒计数(次数):时间为“0000”,次数为“03E8”,高字节在前,单位为个,比如1000个 +,高字节为0x03,低字节为0xE8 +竟赛模式时:次数有值,时间也有值,如:次数为“03E8”,时间为“03E8” +代表1000秒内需要完成跳绳数1000个,如果不能完成挑战失败并蜂呜器“滴滴”停止计数 +。如果完成,1000计数器停止计数,并蜂呜器“滴滴”提示结束 + 从机反馈 +|0x5A |0x05 |0x09 |状态 |校验码| +| | | |1Byte | | + + +状态:1表示成功,0表示不成功。