我正在努力实现这个目标:我有一个蓝牙设备连接到我的安卓手机。鉴于此设备可以振动,是否可以向设备发送振动命令?
我已经研究了 android 开发者网站上的蓝牙 api 和振动 api,但没有什么能明确回答我的问题。
在蓝牙 HFP(免提)规范中,没有命令(AT 命令)向对等设备发送振动。根据手环“来电振动提示”的技术规范,一旦从手机向手环发送AT指令指示来电,手环会在本地产生振动,手机不会询问/请求振动。
如果你想让对端设备振动,可能你必须使用你自己定义的命令(AT命令),命令被对端设备识别。
我正在摆弄同样的问题。经过几天的反复试验,我终于让它工作了。我认为这取决于您回答 HF 命令的速度,以及正确的行尾([13][10]“COMMAND”[13][10])。
这是我的 DroidScript,它有效。它没有清理干净,但它可以工作。
https://gist.github.com/t-oster/68a568ac4c4e133f67ac
适用于我的手镯的确切顺序是:
CR 是 ASCII 码 13,LF 是 ASCII 码 10
> AT+BRSF=0<cr>
< <cr><lf>+BRSF:0<cr><lf>
< <cr><lf>OK<cr><lf>
> AT+CIND=?<cr>
< <cr><lf>+CIND: ("service",(0,1)),("call",(0,1))<cr><lf>
< <cr><lf>OK<cr><lf>
> AT+CIND?<cr>
< <cr><lf>+CIND: 1,0<cr><lf>
< <cr><lf>OK<cr><lf>
> AT+CMER=3,0,0,1<cr>
> <cr><lf>OK<cr><lf>
从那时起我可以发送
<cr><lf>RING<cr><lf>
使其振动。
我很高兴更新这个线程,我能够以编程方式使用 AT 命令以正确的方式振动 BT 手镯。所以我的应用程序基于 Android 示例中的蓝牙聊天应用程序。以下是我遵循的步骤:
这看起来很简单,但如果不了解 BT Hands-Free 配置文件规范和示例 AT 命令,这几乎是不可能的。
@bt_user:感谢您的指点,让我走上了研发的正确轨道。
我使用 Thomas Oster 的部件和我在网上找到的一个示例开发了一个 java android 版本