Blåtandstangentbord till din Raspberry Pi

Jag skaffade mig ett enkelt blåtandstangentbord till min Raspberry Pi. Jag gillar blåtand eftersom det utökar möjligheterna att göra andra saker och gör USB-porten användbar till andra mojänger, exempelvis kan man ju ansluta högtalare och mikrofoner och andra saker över blåtand.

Tangentbordet jag skaffade mig var ett sådant här:

Det kan köpas från exempelvis Teknikmagasinet eller beställas på nätet.

Tangentbordet kommer med ett litet batteri, laddas genom en mikro-USB-anslutning (så du kan ladda den från din Pi om du så önskar) och har ett batteri med lång livslängd, typ mobiltelefonbatteri. Det kommer med en liten USB-dongel som är en full blåtandsimplementation (ja den klarar andra saker än bara medföljande tangentbordet).

Om du jackar in den i din Pi behöver du dock göra lite handgrepp för att få det att fungera.

Till att börja med så skall vi se vad som skrivs i loggen när man ansluter blåtandspluggen:

sudo tail -f /var/logg/messages

Detta ansluter din terminal till syslog och visar alla nya meddelanden som kommer in. När nya meddelanden kommer in så kommer de att visas direkt.

Nov 16 20:16:29 raspberrypi kernel: [10210.180087] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
Nov 16 20:16:29 raspberrypi kernel: [10210.360093] usb 1-1.3: new full-speed USB device number 7 using dwc_otg
Nov 16 20:16:29 raspberrypi kernel: [10210.464700] usb 1-1.3: New USB device found, idVendor=0a12, idProduct=0001
Nov 16 20:16:29 raspberrypi kernel: [10210.464731] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Tryck C-c för att avsluta.

Så inga konstiga fel eller så men däremot fungerar det inte av sig själv. Vi behöver koppla tangentbordet till datorn men först måste vi installera lite verktyg för bluetooth.

sudo update-rc.d -f dbus defaults
sudo apt-get install bluetooth bluez-utils blueman

Jag vet att det kommer riva in en massa junk du kanske inte vill ha. Det beror på att default så står debian inställt på att ta in inte bara det som måste plockas in pga dependencies utan också allt rekommenderat och ”nice to have”. Du kan stänga av detta innan installationen för att slippa få in cups och annat som kanske inte behövs…

Nästa steg är att sätta tangentbordet i ”discovery mode” det finns en särskild knapp på detta tangentbord som man trycker på för detta. En diod böjar blinka på tangentbordet.

Tillbaka i Pi så skall vi nu para pajen med tangentbordet:

sudo hcitool scan

Detta bör hitta ditt tangentbord och visa en rad ungefär som följer:

Scanning ...
DC:2C:26:E5:97:B4 Bluetooth 3.0 Macro Keyboard

Om ingenting hittas, kontrollera att tangentborder verkligen är i discovery mode. Om det ändå inte fungerar är det troligen så att den blåtandsmoj du har inte är kompatibel tyvärr.

Det vi är ute efter ovan är blåtandsmojens adress! Det är den första delen av discoveryraden: DC:2C:26:E5:97:B4

När vi nu har den kan vi para Pi med Tangentbordet:

bluez-simple-agent hci0 DC:2C:26:E5:97:B4

När du gör detta frågar den efter en Pinkod, slå in på Raspen 1234 eller 0000 och sedan skriver du samma på tangentbordet och trycker ENTER.

Nu skall du vara parad med tangentbordet om inga felmeddelanden dyker upp. Nästa är att lägga till tangentbordet i listan på ”trusted devices” och sedan ansluta till det och det gör du med:

bluez-test-device trusted DC:2C:26:E5:97:B4 yes
bluez-test-input connect DC:2C:26:E5:97:B4

Klart. Det fungerade utmärkt för mig. Om du bootar om din Pi måste du köra connect igen. Lägg in det i /etc/rc.local eller motsvarande.

För att göra detta redigerar du filen /etc/rc.local och innan du ser det avslutande exit 0 i filen lägger du till din connect-rad som bluez-test-input connect DC:2C:26:E5:97:B4 och det skall vara allt som behövs för den skall återansluta.

Om du har några bekymmer, glöm inte kolla /var/log/messages för mer information, det mesta av vikt fastnar i den!

Raspberry på svenska

För att få svenska tecken i raspberry om du kör Raspbian (dvs Debian för Raspberry) på den så kan du göra följande:

Redigera först /etc/locale.gen och se till att kommendera IN de rader för de du vill kunna ställa in. Det gör du genom att ta bort # på raden för det språks locale du vill använda.

För svenska har du egentligen tre stycken att välja på:


# sv_SE ISO-8859-1
# sv_SE.ISO-8859-15 ISO-8859-15
# sv_SE.UTF-8 UTF-8

Den första är med tangentbordsmappen ISO Latin som användes i tidigare versioner av Windows, AmigaOS och tidigare Linux-system. I dag används troligen UTF-8 i stället och om det inte fungerar bra för dig rekommenderas ISO-8859-19 i stället eftersom den innehåller vissa uppdaterade tecken (exempelvis ’€’).

Efter att du redigerat filen sparar du den och sedan kör du följande:

sudo /usr/bin/locale-gen

När den är klar (kan ta några minuter) så har den genererat alla filer som behövs. Nu kan du ställa in ditt språk i bash genom att t.ex. redigera filen .bashrc i din hemkatalog.

Lägg exempelvis in följande rader sist i filen:


export LANG=sv_SE.UTF-8
export LC_MESSAGE=sv_SE.UTF-8
export LC_COLLATE=sv_SE.UTF-8
export LANGUAGE=sv:en

Naturligtvis byter du ut UTF-8 osv mot det som passar för den locale du vill ha. Många föredrar som sagt ISO-8859-15 i stället.