KT6368A蓝牙芯片新增主机模式,扫描周边的胎压传感器,这里扮演的角色就是观察者。因为测试胎压传感器,发现它的广播模式可发现,不可连接
胎压传感器部分的手册说明如下,关于蓝牙部分的协议
实际蓝牙芯片收到的数据,转发串口之后的数据格式如下:
4C 43 54 50 4D 53 2C 3A 85 92 3B CD FB 2C 07 3B 92 85 3A 83 4D B7 10 20 6D
这一组数据,有4个参数,每个参数之前,使用了‘,’=0x2C进行隔开
4C 43 54 50 4D 53 --- 对应蓝牙名称
3A 85 92 3B CD FB --- 对应设备的mac地址
09 3B 92 85 3A 8E 4D B7 10 20 --- FF包数据,也就是核心的传感器数据包
最后一个字节为“异或”校验码字节=0x6D
1、扫描全部由蓝牙芯片主动完成,mcu需要控制蓝牙芯片的供电
2、蓝牙芯片还是500ms或者1秒搜索一下周边合法的设备,比如“LCTPMS”
- mcu不需要扫描的时候,直接断蓝牙芯片的电源即可,这样操作会比较灵活
4、其中增加一层数据包的校验,主要是为了蓝牙芯片和mcu之间数据的稳定性
u8 generate_xor_checksum(u8 *data, u8 length) {
u8 checksum = 0;
for (int i = 0; i < length; i++) {
checksum ^= data[i];
}
return checksum;
}
实测2个广播周期,可以看出来胎压计,大概率是广播20秒,就进入低功耗去了
胎压计的正反面,以及测试条件,实际上就是一个加压的洒水壶,加压之后传感器就会自动唤醒并且广播对应的数据