Arduino蓝牙N64控制器-编写Linux驱动程序?

Arduino蓝牙N64控制器-编写Linux驱动程序?,linux,bluetooth,linux-kernel,arduino,linux-device-driver,Linux,Bluetooth,Linux Kernel,Arduino,Linux Device Driver,我正在进行一个小的Arduino项目,为我的Ubuntu盒创建一个蓝牙N64操纵杆。 我设法找到了一个草图,通过串口输出控制器状态,效果很好。同时,将TX和RX发送到我拥有的小型CSR蓝牙模块也可以正常工作 当我与设备配对时,我必须使用“rfcomm bind”来查看我的dev目录中的设备,并且“cat”输出显示所有数据也正在通过 我的问题是,我下一步要做什么,才能让Linux将这个设备识别为操纵杆,即/dev/js0。如果我知道我需要做什么来实现这一点,我可以阅读必要的步骤,但目前我完全不知道

我正在进行一个小的Arduino项目,为我的Ubuntu盒创建一个蓝牙N64操纵杆。 我设法找到了一个草图,通过串口输出控制器状态,效果很好。同时,将TX和RX发送到我拥有的小型CSR蓝牙模块也可以正常工作

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

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


如果您能提供任何信息或向正确的方向进行探索,我们将不胜感激,即使这只是一个观察。

编写自定义内核代码绝对不是一个好办法

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


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

这里有一段youtube视频显示它的工作原理:我认为您使用的蓝牙配置文件不正确。据我所知,您希望在Arduino上实现一个hid配置文件,该配置文件最终将自动成为Linux上的操纵杆设备。内核空间绝对不是这样做的合适地方。谢谢你!事实证明你是完全正确的,我购买了几个预装了HID固件的rn-42,希望它们能在几周内到达。你真的帮了我的忙,再次感谢:)@flex,你能把你的评论变成一个答案吗,这样卡尔就可以奖励你奖金了?如果你不介意我问的话,你最终选择了哪个bt芯片组?