当前位置: 首页 > 知识库问答 >
问题:

是否可以以编程方式保持蓝牙远程快门唤醒?

东方吕恭
2023-03-14

我的Android手机上有一个蓝牙遥控快门。远程快门就像蓝牙键盘。

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

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

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

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

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

  • https://stackoverflow.com/a/15164926/493682
  • https://stackoverflow.com/a/36384946/493682
  • https://stackoverflow.com/a/31299825/493682

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

  • 名称=AB Shutter3
  • MAC=Some\u MAC\u地址
  • btClass=2540
  • btType=1
  • UUID=[00001124-0000-1000-8000-00805f9b34fb,00000000-0000-1000-8000-00805f9b34fb]

共有3个答案

於和志
2023-03-14

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

正如你提到的,

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

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

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

例外:如果BT设备的固件设计为只有按下按钮才能使其保持清醒,并且没有其他输入信号可以重置其计时器或计数器,那么从该设备的外部世界无法进行任何操作。这里的阅读暗示AB Shutter就是其中之一(尽管仍不确定)。

莘翰采
2023-03-14

没有编程方法来完成这项工作,但您有3种可能的解决方案

  1. 买一个不睡觉的快门
章丰茂
2023-03-14

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

 类似资料:
  • 问题内容: 说我有两个JavaBeans 和。 如果创建一个Person对象的列表,我想编组成这样的东西: 可以使用这里描述的技术: 使用JAXB解组/编组List 通过使用和注释JaxbList,可以将其编组为上述XML。 但是,能够重用相同的类来封送对象列表也很好。实际上,我将有许多其他类型的bean。我可以这样: 但是,理想情况下,最好用类名的复数形式替换“列表”,用类名替换“ item”。

  • 问题内容: 我需要以编程方式启动新的Java进程并动态设置JMX端口。所以不要这样做 我想做以下 但这不起作用。知道为什么吗? 问题答案: 在调用代码时,您已经错过了配置jmxremote连接器的机会。 您需要做的是创建您自己的rmi注册表和JMXConnectorServer来侦听rmi调用并将它们传递给MBeanServer。

  • 这是一个能够通过手机蓝牙控制远程计算机的J2ME开源项目。能控制大部分常用的程序如:windows media player、internet explorer、firefox。

  • 问题内容: 我们可以通过编程方式在自己的Java代码中使用javap吗? 例如,以下代码: 在命令行中使用javap,我们得到了: 我可以使用javap的API仅打印常量池吗? 问题答案: Apache BCEL 提供.class文件解析的封装,该封装提供了一组API。几乎对于.class文件中的每个元素,BECL API中都有一个对应的Class来表示它。因此,从某种角度来说,如果您只想打印出类

  • 问题内容: 如标题所述,我想以编程方式检查域的DNS响应是否受DNSSEC保护。 我该怎么办? 如果有Pythonic解决方案,那就太好了。 更新:更改了响应请求,对于您的困惑感到抱歉 问题答案: 使用DNS解析器(例如),您可以查询域的DNSKEY RRset并打开(dnssec OK)查询标志。如果查询成功,则答案将设置(已认证数据)标志,并将包含区域的RRSIG签名(如果已签名)。 更新:使

  • 问题内容: 是否可以在Android中以编程方式关闭静音模式? 问题答案: 为您解决。