【发布时间】:2021-07-10 00:50:18
【问题描述】:
希望能朝着正确的方向轻推 :-)。
我正在编写一个 Java 应用程序,它将在 Raspberry Pi 4 上运行,嵌入在车辆中(无头,无键盘)。客户端或中心将是 android 或 iOS。
我想要以下内容:
- 绝对无痛配对 - 这是最重要的一点!你走进范围,你会自动连接。绝不会出现 PIN 验证提示或“连接验证”提示。
- 不能干扰连接到车载娱乐系统使用的相同 BT 配置文件(即不能干扰免提或音频配置文件)
- 在合理的时间内传输相对较小的文件(大约 500K)
- 在不传输文件时,我需要能够发送一些随机位,服务器/外围设备将对其进行操作。
- 电池寿命不是问题
- 安全并不是真正的问题
我已经使用 jSerial 编写了一些经典的 BT 代码,但是树莓派有一些连接问题,这使得 Classic BT 显得笨拙。连接过程需要接受 PIN 码,而埋在汽车引擎盖下的无头树莓无法验证该 PIN 码。断开/重新连接会导致 rfcomm/串行端口出现问题。我可以通过 SPP 相对快速地传输文件,但连接/重新连接问题是个问题。
我已经尝试了带有 SSP 的经典 BT(“正常工作”安全性),但我仍然收到 PIN 提示。 :-(
BLE 似乎是“无需配对”的一个选项,但文件传输会非常缓慢(我必须自己创建文件 xfer 进程)。不过,好处是 iOS 确实支持 BLE。
我已经简单地研究了 wifi direct,但即使它也需要从服务器端(引擎盖下的设备)进行连接验证,所以这可能是不行的。
BLE 是最好的选择吗?我只需要习惯低速的文件传输速度吗?有任何建议或库处理 xmodem 或其他通过 BLE 保证的文件 xfer?
感谢您的建议!
问候,
布雷特
【问题讨论】:
-
BLE 听起来是我的最佳选择。查看novelbits.io/bluetooth-5-speed-maximum-throughput 以了解速度。它可能没有你想的那么糟糕!
-
非常感谢! :-) 看来我必须开发一些文件传输协议并使用 BLE。谢谢你的建议。 :-)
标签: bluetooth bluetooth-lowenergy wifi-direct raspberry-pi4