Förvandla din Raspberry Pi till en trådlös bärbar Bluetooth Audio System A2DP (5 / 8 steg)
Steg 5: Installera skriptet som blir körs när en Bluetooth-enhet ansluter
Låt oss först setup en regel i våra udev det påstår att när en enhet ansluter, vårt skript kommer få genomföras. Kör följande kommando för att öppna listan udev regler.
sudo nano /etc/udev/rules.d/99-input.rules
Det bör finnas bara en enda rad det som ser ut som:
Delsystemet == "input", grupp = "input", MODE = "0660"
Under det, låt oss gå vidare och Lägg till följande rad:
KERNEL == "input [0-9] *", kör +="/ usr/lib/udev/bluetooth"
Spara och avsluta.
Nu låt oss faktiskt spara det skript som ovan filen refererar till. Första check till se om en udev / katalogen finns. Göra sudo ls-la /usr/lib/udev . Om den inte finns gå vidare och skapa det som så: sudo mkdir /usr/lib/udev
sudo nano /usr/lib/udev/bluetooth
Kopiera och klistra in (eller typ det ut om du har otur) följande script i din terminal.
Obs: Jag skrev inte den här skriften ensam. Jag hittade den under forskning (varför uppfinna hjulet på nytt om inte behövs) och modifierade den för att arbeta på det sätt som jag behövde det till för att vara så vänlig som möjligt, Bluetooth-wise.
#! / bin/bash ACTION = $(expr "$ACTION": "\([a-zA-Z]\+\).*") # Inaktivera BT Upptäck läge innan du ansluter befintlig BT enhet till audio # inställd analogt ljudutgången # Ställ in volymnivån till 100 procent
#change om du inte använder standard analog ljudutgång.
#THIS fungerade inte för min PI så jag la en amixer kommandot nedan
AUDIOSINK = "alsa_output.platform-bcm2835_AUD0.0.analog-stereo"
ECHO "köra bluetooth script... | $ACTION| ">> /var/log/bluetooth_dev
om ["$ACTION" = "Lägg till"]
sedan
hciconfig hci0 noscan
# KOMMENTAR HÄR RADEN OM DU VILL OUTPUT LJUD VIA HDMI
amixer avskiljs numid = 3 1
amixer ange Master 100%
pacmd set-sink-volym 0 65537
för dev i $(hitta /sys/devices/virtual/input / - namn input *) sova 1 CONFIRM ='sudo -u pi pactl lista kort | grep $bluez_dev "
göra
om [-f "$dev/namn"]
sedan
Mac = $(cat "$dev/name" | sed 's/:/_/g')
bluez_dev = bluez_source. $mac
om [! - z "$CONFIRM"]
sedan
ECHO "Ange bluez_source: $bluez_dev" >> /var/log/bluetooth_dev
ECHO pactl last-modul modul-loopback källa = $bluez_dev diskbänk = $AUDIOSINK ränta = 44100 adjust_time = 0 >> /var/log/bluetooth_dev
sudo -u pi pactl last-modul modul-loopback källa = $bluez_dev diskbänk = $AUDIOSINK ränta = 44100 adjust_time = 0 >> /var/log/bluetooth_dev
Fi
Fi
gjort
Fi
om ["$ACTION" = "ta bort"]
sedan
# Slå på bluetooth upptäckten om enheten kopplas från
sudo hciconfig hci0 piscan
Fi
Spara och avsluta! Nu låt oss ändra behörigheterna för filen att göra det körbara.
sudo chmod 774 /usr/lib/udev/bluetooth
Stor! Nu är din Raspberry PI kan spela Bluetooth audio via A2DP! Whoo! Nu låt oss ta det ett steg längre genom att aktivera identifieringsläge och auto acceptera anslutningar rätt när PI loggar in på kommandoraden automatiskt.