之前寫過一篇用樹莓派玩模擬器的。通過retropie可以整合不同的模擬器,在樹莓派上玩街機、玩紅白機、玩psp都不是問題。
不過我不喜歡讓遊戲直接接管我的樹莓派,畢竟用樹莓派還得做正經事對吧。
還好retorpie提供on the top的使用方式,只不過是需要自行執行shell命令。這裡有指導:
可以直接通過github拉回來:
git clone --depth=1
修改執行許可權,然後執行設定指令碼
retropie官方支援ps3手柄的說明在這:
寫的很簡單,我拿到手柄照著說明,只要usb線一插上,手柄就震個不停……頓時有點絕望……
用dmesg命令看看,仿品是shan wan做的,必須是咱國內仿的,***。對於這個牌子的轉殖貨,老外用的也非常多,在github上都有專門的issue和解決……
問題是,沒解決我的問題…
再加上,使用ps3的藍芽驅動,就不能再使用藍芽滑鼠鍵盤啥的,很難以接受……難道要再搞乙個藍芽介面卡?那和使用xbox手柄有啥區別……
於是,我打算貼下心,研究使用補丁過的bluez驅動。好在有牛人把東西都折騰好了,我開始了新的冒險~
1、抓github上的打過補丁的bluez原始碼
git clone
2、配置檢查並編譯bluez驅動
cd bluez
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc \ --localstatedir=/var --enable-sixaxis
make -j3
sudo make install
編譯時會需要依存庫或者包:
- gcc compiler
- glib library
- d-bus library
- udev library (optional)
- readline (command line clients)
我卡在最後乙個包,猜了半天庫名字,最後發現是libreadline-dev。如果缺少包,直接sudo apt-get install即可。其實在linux上編譯bluez來支援藍芽的文章也不少,可以參考下。
搞定後用命令:
sudo service bluetooth status
可以檢視藍芽協議棧版本和daemon執行程序。我第一次沒成功,是通過藍芽版本發現的。
3、重啟藍芽服務
這步留到後面藍芽配對之前也沒啥問題。更新藍芽堆疊之後,可以更新一下daemon。然後重啟一下藍芽服務。當然,你願意重啟樹莓派我也沒意見。
sudo systemctl daemon-reload
sudo service bluetooth restart
實際只需要utils目錄
make
然後找到sixpair,可以把它複製到bluez或者你常用目錄下面。
將ps3手柄連線到usb線上,插入樹莓派,手柄會抽筋一樣不停**。這也是我最早懷疑手柄是否能工作的原因。不管它,使用sixpair進行配對:
sudo ./sixpair
5、複製韌體
因為重新編譯安裝了藍芽驅動棧,需要把bcm的韌體複製一下:
sudo ln -s /lib/firmware/ /etc/firmware
否則,使用sixpair顯示的藍芽位址不對,變成全是a。
current bluetooth master: aa:aa:aa:aa:aa:aa
setting master bd_addr to aa:aa:aa:aa:aa:aa
正常的應該類似以下:
current bluetooth master: b8:27:eb:e5:2f:e1
setting master bd_addr to b8:27:eb:e5:2f:e1
6、拔出usb線,手柄會自己連線藍芽,當只剩下乙個led的時候,手柄就配對成功了。
可以使用藍芽控制應用看藍芽連線情況
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 inte***ce device... (00001124-0000-1000-8000-00805f9b34fb)
modalias: usb:v054cp0268d0000
顯示為trusted,並且connected,已經分配了uuid,就意味著手柄已經配對成功了。
還可以使用hciconfig來觀察hci掃瞄和配對的過程。在dmesg裡面也能看到裝置從usb轉到了bluetooth/hci0上。如果什麼也沒發生,可以嘗試增加檢測:
sudo modprobe joydev
sudo modprobe uinput
整個過程痛苦不堪,我看了200多條英文的帖子,還不算基於這些帖子來做的搜尋和查詢。現在,拿起你的ps3手柄,在樹莓派上玩doom吧~
玩轉樹莓派 前言
我是首先接觸的樹莓派然後再接觸的arduino和stm32,也許是先入為主的緣故,我對樹莓派有著非常大的熱情與興趣,帶有linux作業系統 帶有豐富gpio介面 體形微小的pc電腦,簡直是我的最愛。它是一款帶有作業系統和儲存空間的pc電腦,程式設計者可以直接在linux作業系統上進行程式設計,大大簡...
玩轉樹莓派之零 了解樹莓派
最近買了一塊樹莓派板子,想學習樹莓派玩法,如果您也跟我有一樣想法,那麼我們一起來學習吧,需要什麼基礎呢 一,樹莓派是什麼?樹莓派是世界上最小的卡片式電腦,具備pc電腦的一切,系統直接裝在t卡上,非常方便。正所謂麻雀雖小,五臟俱全。在pc能做的都能在樹莓派上做。分為rpi zero rpi a rpi...
玩轉樹莓派 2 配置你的樹莓派
上一節中介紹了如何將樹莓派系統寫入樹莓派,今天再介紹一下如何配置樹莓派,讓其更好用。比較通用的ssh終端工具是securecrt,網上很多,我這裡用的是中文破解的,安裝之後開啟,新建連線,如圖 主機名就是樹莓派的ip位址,那在第一次啟動時又如何獲取ip位址呢,最簡單的辦法就是登入到連線同一區域網的路...