Johnny Blog Android and Java Coder

Ble开发 序章

2020-01-20
GaryLiang

Ble

前言

刚接触蓝牙开发是在第一份工作的时候(在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,结语

自我提升和及时沟通是一个非常好的良药


Similar Posts

上一篇 Tinker 热修复

Comments