2017-09-25 213 views
12

我有一个蓝牙遥控快门与我的Android手机配对。遥控快门就像一个蓝牙键盘。是否可以通过编程方式保持蓝牙遥控器快门唤醒?

我的应用程序快乐地处理由远程快门创建的键盘事件,但远程快门在90秒后进入休眠状态,在发送下一个按键之前需要按一下按键才能唤醒它。

我需要一种机制来保持远程快门唤醒,以便我不会丢失第一次按键。 (是的,我明白睡眠模式是为了节能,但我需要低延迟)。

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

有没有办法以编程方式保持远程快门唤醒?

主要基于以下答案我不怀疑

只是为了完整性配对设备的细节是:

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

快门的名称是什么? –

+0

它被称为“AB Shutter3” – William

+0

感谢所有3个响应者。虽然我得出的结论是没有办法使设备保持活动状态,符合我们的要求,但穆罕默德的回答让我走了一条可以接受的解决方案。对于那些有兴趣的人,我选择听ACL_CONNECTED BroadcastIntent来确定BT设备已经唤醒并将其与应用程序状态一起用于确定适当的操作。 – William

回答

1

还有就是要完成这件事没有编程的方式,但你有你的问题3种可能的解决方案:

  1. 获取不睡觉
  2. 请使用Arduino的或树莓派
  3. 自己快门的快门
  4. 通过增加一个额外的电路来修改AB快门,使您的设备在每次关闭时都能启动。为此,您可以利用以下链接了解有关电路的更多信息,以及如何修改它:http://www.the-bridge.cc/ct137s15/?p=2647https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/
4

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

0

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

至于你提到的

我试图连接到该设备作为客户端和服务器,希望我能在OutputStream以便向设备发送的东西。但我无法创建连接。

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

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

例外:如果BT设备的固件被设计成只有按下按钮才能保持唤醒状态,并且没有其他输入信号可以重置它的定时器或计数器,那么没有任何东西可以从外部完成该设备的世界。并且Reading Here给出了一个提示,即AB快门是其中之一(尽管如此,仍然不确定)。

相关问题