4

我正在做一个小 Arduino 项目,为我的 Ubuntu 盒子创建一个蓝牙 N64 操纵杆。我设法找到了一个草图来通过串行输出控制器状态,它工作得很好。还将TX和RX发送到我拥有的小CSR蓝牙模块工作正常。

当我与设备配对时,我必须使用“rfcomm bind”在我的 dev 目录中查看设备,并且“cat”输出显示所有数据也正在通过。

我的问题是,让 Linux 将该设备识别为操纵杆的下一步是什么 - 即 /dev/js0。如果我知道我需要做什么来实现这一点,我可以阅读必要的步骤,但目前我完全不知道从哪里开始——过去没有做过这样的事情。我应该考虑创建内核模块吗?

任何朝着正确方向的信息或戳都将不胜感激——即使这只是一个观察。

4

1 回答 1

2

编写自定义内核代码绝对不是这里的方法。

要使您的项目在 Linux 中显示为操纵杆设备,您需要使用蓝牙 HID 配置文件来呈现它。有了这个,一切都应该在客户端“正常工作”,你会在 /dev 中看到一个条目。HID 配置文件非常全面,被大多数蓝牙接口设备使用——键盘、鼠标、游戏控制器等。其中的蓝牙部分实际上主要只是围绕 USB HID 协议的一个薄包装。

从事物的声音来看,您的设备目前没有使用该配置文件为自己做广告。

于 2013-03-11T21:07:08.887 回答