【问题标题】:Is it possible to keep a bluetooth remote shutter awake programmatically?是否可以以编程方式保持蓝牙遥控快门唤醒?
【发布时间】:2017-09-25 09:08:53
【问题描述】:

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

我的应用程序很高兴地处理远程快门创建的键盘事件,但远程快门在 90 秒后进入睡眠状态,并且需要按一次按键将其唤醒,然后才能发送下一次按键。

我需要一种机制来保持遥控快门处于唤醒状态,这样我就不会失去第一次按键。 (是的,我知道睡眠模式是为了节省能源,但我需要低延迟)。

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

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

根据以下答案,我怀疑不是

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

  • name=AB 快门3
  • MAC=Some_MAC_ADDRESS
  • btClass=2540
  • btType=1
  • UUIDs=[00001124-0000-1000-8000-00805f9b34fb, 00000000-0000-1000-8000-00805f9b34fb]

【问题讨论】:

  • 百叶窗叫什么名字?
  • 它叫“AB Shutter3”
  • 感谢所有 3 位响应者。虽然我得出的结论是,没有办法让设备保持符合我们要求的活动状态,但 Mohamed 的回答让我在可接受解决方案的道路上走得更远。对于那些感兴趣的人,我选择收听 ACL_CONNECTED BroadcastIntent 以确定 BT 设备已被唤醒,并将其与应用程序状态一起使用来确定适当的操作。

标签: android bluetooth android-bluetooth


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    没有编程方式来完成此操作,但您有 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/

    【讨论】:

      【解决方案3】:

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

      正如你所说,

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

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

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

      例外:如果 BT 设备的固件被设计成只有按下按钮才能保持唤醒,并且没有其他输入信号可以重置它的定时器或计数器,那么外部世界将无能为力该设备的。阅读Here 暗示 AB 快门就是其中之一(但仍不确定)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-12
        相关资源
        最近更新 更多