买了个索尼 BRH10 蓝牙遥控器,已经跟树莓派配对完成,请问如何能响应它的按键事件

2018-04-01 15:26:31 +08:00
 laoyur

索尼 BRH10,长相如下👇

主要看中这货有上下左右方向键,它跟 Android 手机连接后,可以当一个简单的遥控器使用,已经测试 OK。

现在我想在树莓派上写个程序,来响应它的各按键。

目前已经完成配对:

[bluetooth]# info 30:A8:xx:xx:xx:xx
Device 30:A8:xx:xx:xx:xx
	Name: BRH10
	Alias: BRH10
	Class: 0x240404
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: yes
	UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
	UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
	UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
	UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
	UUID: Vendor specific           (8e780633-3c51-11e1-8d8d-001cc4d601d8)
	Modalias: usb:v0FCEpF0FAd0100
[bluetooth]# 

一开始以为各按键会产生键盘事件,所以用了以下代码来测试:

from curtsies import Input

def main():
    with Input(keynames='curses') as input_generator:
        for e in input_generator:
            print(repr(e))

if __name__ == '__main__':
    main()

结果完全没反应。

又想通过 pybluez 的 BluetoothSocket 来连接它,但不知道该用 L2CAP 还是 RFCOMM 协议,每个都瞎折腾了一番,还是没有头绪。

所以想请懂行的朋友指点下,给个大概的方向即可,我再自己去研究,谢谢了!

4973 次点击
所在节点    Raspberry Pi
1 条回复
laoyur
2018-04-01 16:02:21 +08:00
解决了,的确会产生键盘事件,只是上面那段代码不起作用罢了
后来找到这篇博客: https://pandara.xyz/2016/06/10/raspberry_pi_3/
测试 OK

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/443372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX