我计划在 Android 设备和使用商业蓝牙模块的自定义传感器之间使用通信协议。我会使用 SPP 配置文件,据说它“为用户提供简单可靠的数据流,类似于 TCP”。
我对蓝牙技术不是很熟悉,对设计这样的协议有一些疑问。
首先,我不清楚我是否必须担心损坏的数据是否被传输。底层协议栈能否保证我从InputStream
Android 读取的字节与 UART 在传感器端接收的字节相同?我是否必须定义我自己的受 CRC 或其他东西保护的数据包,还是会有点矫枉过正?
从 Android 蓝牙文档中我不清楚如果信号很弱并且丢失了一段时间,我的应用程序会发生什么。我IOException
是立即获得,还是平台为我提供了一些隐藏的错误处理和恢复,使我看不到如此短暂的中断?
感谢您的任何建议。