Jak wspomniałem TUTAJ zakupiłem klucz bluetooth na USB. Co zrobić żeby go uruchomić?
Podobnie jak z wifi sprawdzamy czy został poprawnie wykryty (np przez lsusb). W moim przypadku:
Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)Następnie należy zainstalować wymagane paczki
apt-get install bluetooth bluez-utils blueman
upewniamy się, że uruchomiony jest demon
/etc/init.d/bluetooth statuspo czym możemy włączyć bluetooth w telefonie czy laptopie i zweryfikować, czy da się go wykryć z RPI
# hcitool scan Scanning ... xx:xx:xx:xx:xx:xx n/a
U mnie szybko wykryło mojego laptopa.
Ponadto możemy zweryfikować czy wszystko w porządku w:
# hciconfig -a hci0: Type: BR/EDR Bus: USB BD Address: xx:xx:xx:xx:xx:xx ACL MTU: 384:8 SCO MTU: 64:8 UP RUNNING PSCAN RX bytes:1520 acl:0 sco:0 events:47 errors:0 TX bytes:458 acl:0 sco:0 commands:47 errors:0 Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'raspberrypi-0' Class: 0x420100 Service Classes: Networking, Telephony Device Class: Computer, Uncategorized HCI Version: 2.0 (0x3) Revision: 0x7a6 LMP Version: 2.0 (0x3) Subversion: 0x7a6 Manufacturer: Cambridge Silicon Radio (10)
Oczywiście bardzo istotne jest tu zasilanie, którego jakości bardzo potrzebuje ten klucz. Przypadkiem wysunęła mi się wtyczka zasilania od powered huba i bluetooth niezbyt chciał działać. Pojawiały się błędy I/O error, connection timeout i hciconfig też lekko szalał.
Z działającym bluetooth można podłączyć np klawiaturę i mysz lub jeśli mamy problem z wifi lub nie mamy internetu w domu - teoretycznie możemy udostępnić internet z telefonu poprzez bluetooth i umożliwić dostęp dla RPI.
Znalazłem fajny, krótki opis TUTAJ.
Pokrótce podstawowe kroki:
Ściągamy kod i kompilujemy:
wget http://www.pabr.org/sixlinux/sixpair.c gcc -o sixpair sixpair.c -lusb
Podłączamy Dualshock kablem USB do RPI i odpalamy:
sudo ./sixpair Current Bluetooth master: xx:xx:xx:xx:xx:xx Setting master bd_addr to: xx:xx:xx:xx:xx:xx
W ten sposób parujemy DS3 i RPI.
Następnie:
wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz tar xfvz QtSixA-1.5.1-src.tar.gz cd QtSixA-1.5.1/sixad make sudo mkdir -p /var/lib/sixad/profiles sudo checkinstall
czyli ściągamy pakiet qtsixa i kompilujemy moduł sixad.
Po czym uruchamiamy jednorazowo:
sudo sixad --start
lub startujemy demon sixad.
Już oczywiście możemy odłączyć kabel Dualshock (potrzebny tylko do parowania) i po wciśnięciu przycisku PS - diody powinny radośnie zaświecić i kontroler powinien przez chwilę wibrować.
W syslog widać będzie coś w tym stylu:
Dec 10 17:14:18 raspberrypi kernel: [ 188.457540] input: PLAYSTATION(R)3 Controller (xx:xx:xx:xx:xx:xx) as /devices/virtual/input/input2 Dec 10 17:14:22 raspberrypi sixad-sixaxis[2407]: Connected 'PLAYSTATION(R)3 Controller (xx:xx:xx:xx:xx:xx)' [Battery 05]
Czyli misja zakończona sukcesem (szczególnie fajnie, że przy wykorzystaniu klucza za 1€)
Co teraz z tym zrobić? Mam mały plan - ale szczegóły wkrótce.
W międzyczasie polecam przejrzeć jeszcze linki na temat bluetooth i raspberry:
czy też ogólnie o współpracy Dualshock z Linuxem :
Przy okazji - jeśli ktoś nie ma PS3, a ma np Wii - może również podpiąć ich kontroler. Szczegóły np. http://www.brianhensley.net/2012/08/wii-controller-raspberry-pi-python.html.
Warto jest zapoznać się z tak ciekawymi informacjami.
OdpowiedzUsuń