中心在BLE中多久可以“通知”一个外围设备

时间:2017-09-11 20:47:39

标签: arduino bluetooth-lowenergy progressive-web-apps web-bluetooth

我有一辆RC车,我使用arduino,一个蓝牙usb加密狗和一个ps3控制器。汽车有几种功能(灯光,声音)以及四处驾驶。

我想用BLE模块替换蓝牙适配器和ps3控制器(我有HM-10),我想使用网络蓝牙。因此,控制器将是一个从安全网站提供的虚拟控制器。

我的问题是:使用当前版本的网络蓝牙可以实现这样的设置吗?

并且:中心(我的电脑/网站)多久可以通知外围设备(遥控车)启动/停止/转动/播放声音等等?一般来说,我有什么限制(如果有的话......我确定有一些或者我不会发布这个)与这个设置相比,简单的蓝牙加密狗/ ps3控制器。

我讨厌过于笼统而不是新技术,欢迎任何其他评论/见解/陷阱!

2 个答案:

答案 0 :(得分:2)

是的,这是可能的。一些例子:

您甚至可以使用Gamepad API将Dual Shock 3作为可选输入设备。

关于通知频率,Chrome和Web蓝牙API都不会对该级别的BLE活动施加任何人为限制。但是,这并不是说Chrome的架构不会增加少量开销。此外,所有这些都依赖于硬件,包括中央和外围设备,因此很难平衡预期的性能。

祝你好运!听起来像一个整洁的项目!

答案 1 :(得分:2)

通常,当您将数据从中央发送到外围设备而不是GATT写入时,您不会使用GATT通知。有两种写入类型:无响应写入和响应写入。哪些可用取决于外设固件设置。

Write With Response需要一次往返,因此吞吐量与连接间隔直接相关。

对于Write Without Response数据包,许多此类数据可以在一个连接事件中发送,因此如果您使用这些数据包,则仅受链接吞吐量的限制。请注意,Web蓝牙用于这些操作系统的CoreBluetooth(iOS / Mac OS X)对BLE规范有自己的解释,如果应用程序发送的数据比通过无线方式发送的速度快,则会丢弃传出的数据包(这仅适用于Write Without)响应,不写响应)。缓冲区大小因版本而异,但大约为20。