日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

玩转树莓派——支持PS3手柄

發(fā)布時(shí)間:2023/12/29 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转树莓派——支持PS3手柄 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

之前寫(xiě)過(guò)一篇用樹(shù)莓派玩模擬器的。通過(guò)retropie可以集成不同的模擬器,在樹(shù)莓派上玩街機(jī)、玩紅白機(jī)、玩PSP都不是問(wèn)題。

不過(guò)我不喜歡讓游戲直接接管我的樹(shù)莓派,畢竟用樹(shù)莓派還得做正經(jīng)事對(duì)吧。

還好retorpie提供on the top的使用方式,只不過(guò)是需要自行運(yùn)行Shell命令。這里有指導(dǎo):

https://github.com/retropie/retropie-setup/wiki/Manual-Installation

可以直接通過(guò)github拉回來(lái):

??? git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
修改運(yùn)行權(quán)限,然后運(yùn)行設(shè)置腳本

cd RetroPie-Setupchmod +x retropie_setup.shsudo ./retropie_setup.sh

Retropie官方支持PS3手柄的說(shuō)明在這:

https://github.com/retropie/retropie-setup/wiki/Setting-up-a-PS3-controller

寫(xiě)的很簡(jiǎn)單,我拿到手柄照著說(shuō)明,只要USB線一插上,手柄就震個(gè)不停……頓時(shí)有點(diǎn)絕望……

用dmesg命令看看,仿品是SHAN WAN做的,必須是咱國(guó)內(nèi)仿的,你懂的。對(duì)于這個(gè)牌子的克隆貨,老外用的也非常多,在github上都有專(zhuān)門(mén)的issue和解決……

https://github.com/RetroPie/RetroPie-Setup/issues/1677

問(wèn)題是,沒(méi)解決我的問(wèn)題…

再加上,使用PS3的藍(lán)牙驅(qū)動(dòng),就不能再使用藍(lán)牙鼠標(biāo)鍵盤(pán)啥的,很難以接受……難道要再搞一個(gè)藍(lán)牙適配器?那和使用XBOX手柄有啥區(qū)別……

于是,我打算貼下心,研究使用補(bǔ)丁過(guò)的bluez驅(qū)動(dòng)。好在有牛人把東西都折騰好了,我開(kāi)始了新的冒險(xiǎn)~

?

1、抓github上的打過(guò)補(bǔ)丁的bluez源碼

git clone https://github.com/luetzel/bluez

2、配置檢查并編譯bluez驅(qū)動(dòng)

cd bluez

./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc \ --localstatedir=/var --enable-sixaxis

make -j3

sudo make install

編譯時(shí)會(huì)需要依存庫(kù)或者包:

- GCC compiler

- GLib library

- D-Bus library

- udev library (optional)

- readline (command line clients)

我卡在最后一個(gè)包,猜了半天庫(kù)名字,最后發(fā)現(xiàn)是libreadline-dev。如果缺少包,直接sudo apt-get install即可。其實(shí)在Linux上編譯bluez來(lái)支持藍(lán)牙的文章也不少,可以參考下。

搞定后用命令:

sudo service bluetooth status

可以查看藍(lán)牙協(xié)議棧版本和daemon運(yùn)行進(jìn)程。我第一次沒(méi)成功,是通過(guò)藍(lán)牙版本發(fā)現(xiàn)的。

3、重啟藍(lán)牙服務(wù)

這步留到后面藍(lán)牙配對(duì)之前也沒(méi)啥問(wèn)題。更新藍(lán)牙堆棧之后,可以更新一下daemon。然后重啟一下藍(lán)牙服務(wù)。當(dāng)然,你愿意重啟樹(shù)莓派我也沒(méi)意見(jiàn)。

sudo systemctl daemon-reload

sudo service bluetooth restart?

4、從http://qtsixa.sourceforge.net/下載QtSixA源碼并編譯

實(shí)際只需要utils目錄

make

然后找到sixpair,可以把它復(fù)制到bluez或者你常用目錄下面。

將PS3手柄連接到USB線上,插入樹(shù)莓派,手柄會(huì)抽筋一樣不停地震。這也是我最早懷疑手柄是否能工作的原因。不管它,使用sixpair進(jìn)行配對(duì):

sudo ./sixpair

5、復(fù)制固件

因?yàn)橹匦戮幾g安裝了藍(lán)牙驅(qū)動(dòng)棧,需要把bcm的固件復(fù)制一下:

sudo ln -s /lib/firmware/ /etc/firmware

否則,使用sixpair顯示的藍(lán)牙地址不對(duì),變成全是a。
Current Bluetooth master: aa:aa:aa:aa:aa:aa
Setting master bd_addr to aa:aa:aa:aa:aa:aa

正常的應(yīng)該類(lèi)似以下:
Current Bluetooth master: b8:27:eb:e5:2f:e1
Setting master bd_addr to b8:27:eb:e5:2f:e1

6、拔出USB線,手柄會(huì)自己連接藍(lán)牙,當(dāng)只剩下一個(gè)LED的時(shí)候,手柄就配對(duì)成功了。

可以使用藍(lán)牙控制應(yīng)用看藍(lán)牙連接情況

sudo bluetoothctl
[NEW] Controller b8:27:eb:e5:2f:e1raspi5 [default]
[NEW] Device 01:B6:AD:7F:63:25 PLAYSTATION(R)3 Controller
[NEW] Device 20:73:AB:91:DD:6F Bluetooth V3.0 Keyboard
[CHG] Device 01:B6:52:85:63:25 Connected: yes

[PLAYSTATION(R)3 Controller]# info 01:B6:AD:7F:63:25
Device 01:B6:52:85:63:25
Name: PLAYSTATION(R)3 Controller
Alias: PLAYSTATION(R)3 Controller
Class: 0x000540
Icon: input-keyboard
Paired: no
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
Modalias: usb:v054Cp0268d0000

顯示為T(mén)rusted,并且Connected,已經(jīng)分配了UUID,就意味著手柄已經(jīng)配對(duì)成功了。

?

還可以使用hciconfig來(lái)觀察HCI掃描和配對(duì)的過(guò)程。在dmesg里面也能看到設(shè)備從USB轉(zhuǎn)到了bluetooth/hci0上。如果什么也沒(méi)發(fā)生,可以嘗試增加檢測(cè):

sudo modprobe joydev

sudo modprobe uinput

?

整個(gè)過(guò)程痛苦不堪,我看了200多條英文的帖子,還不算基于這些帖子來(lái)做的搜索和查詢。現(xiàn)在,拿起你的PS3手柄,在樹(shù)莓派上玩DOOM吧~

轉(zhuǎn)載于:https://blog.51cto.com/haohu/1871516

總結(jié)

以上是生活随笔為你收集整理的玩转树莓派——支持PS3手柄的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。