是否可以通过编程方式保持蓝牙遥控快门唤醒?

时间:2017-09-25 09:08:54

标签: android bluetooth android-bluetooth

我有一个与我的Android手机配对的蓝牙遥控快门。遥控快门就像一个蓝牙键盘。

我的应用程序很乐意处理由遥控快门创建的键盘事件,但是远程快门在90秒后进入休眠状态,并且需要一键按下才能将其唤醒,然后再发出下一次按键。

我需要一种保持遥控器处于唤醒状态的机制,以便我不会丢失第一次按键。 (是的我知道睡眠模式是为了节省能量,但我需要低延迟)。

我已经尝试连接到设备作为客户端和服务器,希望我可以将OutputStream上的内容发送到设备。但是我无法创建连接。

有没有办法以编程方式保持遥控快门醒来?

基于以下答案,我怀疑不是

为了完整起见,配对设备的详细信息如下:

  • name = AB Shutter3
  • MAC = Some_MAC_ADDRESS
  • btClass = 2540
  • btType = 1
  • 的UUID = [00001124-0000-1000-8000-00805f9b34fb, 00000000-0000-1000-8000-00805f9b34fb]

3 个答案:

答案 0 :(得分:4)

似乎完全取决于远程快门固件:如果在最后一次按键后90秒后进入休眠状态 - 则无法以编程方式唤醒它(除非更改其固件)。最简单的解决方案是使用没有睡眠模式的遥控快门(或DIY bt / ble按钮)。无论如何,您可以使用由快门电池供电的外部电路(例如基于555定时器)并与其中一个快门按钮并联,每隔90.1秒产生一次脉冲,以模拟第一次按键和唤醒快门。

答案 1 :(得分:1)

没有以编程方式完成此任务,但您有3个可能的解决方案来解决您的问题:

  1. 获得一个不能睡觉的快门
  2. 使用Arduino或Raspberry Pi制作自己的快门
  3. 通过添加一个额外的电路来修改AB快门,该电路可在设备每次关机时启用。为此,您可以利用这些链接了解有关电路的更多信息以及如何修改电路:http://www.the-bridge.cc/ct137s15/?p=2647https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/

答案 2 :(得分:0)

是的,只要接受输入信号,就可以保持连接的另一端清醒。

如你所说,

  

我已经尝试连接到设备作为客户端和服务器,希望我可以将OutputStream上的内容发送到设备。但我无法创建连接。

这是保持蓝牙设备清醒的最佳方法。 This是我用来以编程方式向我的Nexus Player远程发送信号的设备[Linux平台]。最初,我在Linux终端上使用了HIDD和RFCOMM命令,然后开始在C中实现连接。

其他方法是根据您的要求修改设备的固件(如果可能)。

例外:如果BT设备的固件设计为只按下按钮会使其保持唤醒状态,没有其他输入信号可以重置它的定时器或计数器,那么外界无法做任何事情。那个设备。阅读Here提示AB快门是其中之一(尽管仍然不确定)。