前言
刚接触蓝牙开发是在第一份工作的时候(在2014年的时候),当时还不知道什么是报文,校验和等等一堆新手需要领包裹的新知识,哈哈哈,想起来就是一个小白出城了
接触硬件设备类型
智能蓝牙秤
生物雷达睡眠监测
蓝牙枕头
蓝牙灯
智能水床
福尼亚无线阵痛
宝莱特按摩
宝莱特体温计
宝莱特胎压计
宝莱特血压计
智能文胸按摩器
蓝牙对讲机
蓝牙咖啡称
… ..未完
1,问题
刚踏入社会的小白 看到这硬件类的东西真的兴趣异常的大,对着设备连接,以及硬件的零件呀,都翻了个遍,但是问题却一个一个迎面扑来,接受暴风的洗礼
问题 1 设备和APP的交互
怎么接受数据解析到我们想要的,怎么发送报文 ,emm 伤脑筋
怎么解决? 当然是烦百度
下面是第一种
简单的报文 设置命令(APP发送给MCU)说明
Byte1 Byte2 Byte3 Byte4 B yte5 Byte6 Byte7
产品类型 命令类型 命令/数据 命令/数据 命令/数据 命令/数据 XOR
XOR可能有些小伙伴会不知道,这个其实是这个设备定义的一种协议
XOR为Byte1 XOR Byte2 XOR Byte3 XOR Byte4 XOR Byte5 XOR Byte6 的值
问题 2 时间的格式化和数值的高低位
这个问题就跟数据的准确性一样,如果传的位数跟字节不对,那么是写不进去的, 要处理这个问题,首先,也是必要的需要去学一样东西,那就是进制转换,时间以及部分数据是需要从10进制转16进制发送到设备,当时我把进制转换以及位运算全新复习了个遍,最后如愿以偿,成功进入新手专区。
问题 3 设备的重连
这个其实是一个异常简单的问题,怎么这么说呢,因为我们只要拿到设备的断开状态,严谨一点判断下蓝牙在打开状态下 那么这个是可以重连的。这是理想状态下 那么我为什么会遇到问题呢,那就是因为设备的频繁的开机关机,那么我们这边跟设备的一个连接机制的问题,首先设备是没有那么快真的关机的,他会在关机后,还会待机10来秒,并不是真正关机,我们这边系统呀,他其实还会搜索到设备,所以呢,也是没有关机,这块最后怎么解决的呢,当然是找硬件工程师,找他商量连接的机制以及做一个联调,当时我就坐在人家旁边待了一整天,最后问题解决了
2,结语
自我提升和及时沟通是一个非常好的良药