我正在做一个小 Arduino 项目,为我的 Ubuntu 盒子创建一个蓝牙 N64 游戏杆。
我设法找到了一个草图来通过串行输出 Controller 状态,并且效果很好。还将 TX 和 RX 发送到我的小 CSR 蓝牙模块,工作正常。
当我与设备配对时,我必须使用“rfcomm bind”来查看我的 dev 目录中的设备,并且“cat”输出显示所有数据也正在通过。
我的问题是,让 Linux 将此设备识别为操纵杆的下一步是什么 - 即/dev/js0.如果我知道我需要做什么来实现这一点,我可以阅读必要的步骤,但目前我完全不知道从哪里开始 - 过去没有做过这样的事情。我应该考虑创建一个内核模块吗?
任何信息或朝正确方向戳戳都将不胜感激——即使这只是一个观察。
最佳答案
编写自定义内核代码绝对不是这里的方法。
要使您的项目在 Linux 中显示为操纵杆设备,您需要使用 Bluetooth HID profile 来呈现它。有了它,一切都应该在客户端“正常工作”,您将在/dev 中看到一个条目。 HID 配置文件非常全面,被大多数蓝牙接口(interface)设备使用 - 键盘、鼠标、游戏 Controller 等。其中的蓝牙部分实际上只是 USB HID 协议(protocol)的一个薄包装。
从声音来看,您的设备目前没有使用该配置文件为自己做广告。
关于linux - Arduino 蓝牙 N64 Controller - 编写 Linux 驱动程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15252924/