【问题标题】:Classic Bluetooth, BLE, or... Wifi Direct?经典蓝牙、BLE 或... Wifi Direct?
【发布时间】: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


【解决方案1】:

如果您希望您的设备与 iOS 和 Android 无缝协作,那么您最好的选择确实是 BLE。这是因为与经典的蓝牙和 WiFi Direct 不同,BLE 在 iOS 平台上更加成熟和适用,您最终会找到更多的资源(在 iOS 13 之前,CoreBluetooth 仅支持 BLE 连接)。请查看以下链接了解更多详情:-

您已经完成了研究,并且您对上述不同技术的局限性是正确的,尽管自大多数设备现在支持的蓝牙 v4.2 以来,BLE 的速度已大大提高。看看下面的链接:-

剩下的唯一挑战是为 BLE 实现类似 SPP 的机制,我同意这不是微不足道的,但过去有很多人尝试过这个,虽然没有一个推荐的解决方案,但你也不会从头开始。

【讨论】:

  • 谢谢你,优素福!感谢您的时间和建议! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 2014-02-14
  • 2021-10-09
  • 2013-10-25
  • 2016-05-31
  • 2023-04-06
  • 2021-10-27
相关资源
最近更新 更多