蓝牙:
为方便接入特定协议下的设备,有必要对硬件设备进行抽象,将蓝牙通讯的过程、逻辑封装成Framework。
调用者不要花时间分析芯片的协议、特性,只需要拿到Framework,调用API即可。
基于以上前提,这个框架需要具备以下条件:
- 指令响应及时、不需要调用者进行各种判断(比如设备是否断开、设备是都需要重连、指令是否需要重发、指令发送超时)
- 能直接将数据封装好给调用者使用。
- 指令有优先级。调用者可以设定指令优先级。(如调用者将“升级指令”设为最优,则处理完此次指令之前,其他指令都在等待序列)
由于底层会将数据分成以20bytes为单位进行读取。
所以客户端要对收到的数据包进行合包。
合包规则参照协议中包的结构,脏数据要及时丢弃。
客户端向蓝牙端发送数据时也要进行分包,并且根据芯片的性能,添加一定的延时,具体时长参照芯片的处理时间。
除非必要,不进行频繁的断开、重连操作。
- 关于数据加密
- 非对称加密技术