QBee - AirPlay / MPD integrerad högtalare (5 / 6 steg)
Steg 5: Konfigurera Pi
Innan du börjar, kan du hitta min Python-skript för att styra förstärkaren PSU och LCD-skärmen med GPIO stift här: https://github.com/gpajot/qbee-gpio. Det är i grunden en massa trådar som lyssnar på ljudet, slå på PSU, hämta metadata beroende på källa och visas på LCD-skärmen. Det finns vissa konfigurationsvariabler definieras baserat på dina inställningar. Du kan också aktivera debug-läge om du vill ställa in en annan ljudkälla eller om något inte fungerar
Instructables hanterar inte väl webbadresser i kodstycken och de fortsatte att komma tillbaka så jag var tvungen att ta bort protokollet lite, var försiktig när du klistrar in detta i...
Initial setup
Hugg efter ArchLinux bild från här: http://archlinuxarm.org/platforms/armv6/raspberry-pi.
Om du är på Unix-baserade system, kopiera den på ditt SD-kort med dessa kommandon:
diskutil lista
diskutil unmountDisk/dev/disk #
sudo dd bs = 1m om = nedladdningar/ArchLinuxARM*.img av = / dev/disk #
Jag brydde mig inte att skapa ett annat konto än root, om du gör, du kommer att behöva använda sudo för vissa av dessa kommandon.
Koppla in Wifi-kortet, starta Pi, utföra en fullständig systemuppgradering och installera trådlösa verktyg och kontrollera kortet:
Pacman - Syu
Pacman -S wireless_tools wpa_actiond
lsusb
IP-länk inrätta wlan0
Få en nyckel för din åtkomstpunkt för att konfigurera automatisk anslutning:
wpa_passphrase [ssid] [lösenord]
Skapa en tjänstfilen "/ etc/netctl / {{filnamn}}" och fyll i dina uppgifter:
Beskrivning = "{{NAME}}"
Interface = wlan0
Anslutning = wireless
Säkerhet = wpa
IP = dhcp
ESSID = '{{AP-NAMN}}'
Nyckel = \ "{{nyckel}}
Aktivera automatisk anslutning:
netctl aktiverar {{filnamn}}
Ändra värdnamn om du vill:
nano/etc/hostname
Ställa in automatisk justering:
timedatectl set-timezone Europa/Paris
timedatectl set-ntp 1
ntpd -u ntp:ntp
ntpd - qg
Lägg till denna rad i crontab (crontab -e):
ntpd - qg
GPIO och Python
Jag kommer att använda Python att kontrollera GPIOs, installera det med de nödvändiga paketen. pyinotify kommer att användas för att upptäcka förändringar i ljudet.
Pacman -S python2 python-fördela gcc
ln -sf /usr/bin/python2 /usr/bin/python
wget pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO--{{VERSION}}.tar.gz
tar xf RPi.GPIO-{{VERSION}}.tar.gz
CD-RPi.GPIO-{{VERSION}}
sudo python setup.py installera
git klon github.com/seb-m/pyinotify
CD-pyinotify
sudo python setup.py installera
Skapa en tjänst fil för att starta skriptet python automatiskt:
[Enhet]
Beskrivning = Python GPIO controller
[Tjänster]
ExecStart=/var/lib/gpio/qbee_gpio.py
Starta om = alltid
[Installera]
WantedBy = multi-user.target
Shairport
Installera Shairport, beroenden, verktyg och ljud paket:
Pacman -S fil
Pacman -S base-devel
Pacman -S abs
Pacman -S git wget
Pacman -S avahi libao openssl perl-crypt-openssl-rsa perl-io-socket-inet6 perl-libwww
Pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins lsof
Installera perl-net-sdp från AUR repository (användning--no-check-certifikat för wget om inte fungerar):
wget aur.archlinux.org/packages/pe/perl-net-sdp/perl-net-sdp.tar.gz
tjära - zxvf perl-net-sdp.tar.gz
CD perl-net-sdp
makepkg -s-asroot
Pacman - U perl-net-sdp.pkg.tar.gz
Starta om, sedan bygga Shaiport, testa den och installera den om everythong fungerar:
git clone github.com/abrasive/shairport.git shairport
CD shairport
göra
. / shairport - en Qbee
se installera
Skapa filen service att starta automatiskt (/ etc/systemd/system/shaiport.service). -M argumentet används för att hämta metadata för spela titeln (måste du först skapa katalogen). -b är att bufferten och -d är att starta den som en demon.
[Enhet]
Beskrivning = start ShairPort (Apple AirPlay)
After=Network.target
Efter = avahi-daemon.service
[Tjänster]
ExecStart = / usr/local/bin/shairport - en QBee - M /var/lib/shairport -b 256 - d
ExecStop = / usr/bin/killall shairport
Starta om = alltid
[Installera]
WantedBy = multi-user.target
Aktivera tjänsterna:
systemctl aktiverar avahi-daemon
systemctl aktivera shairport
MPD
Installera MPD:
Pacman -S mpd mpc
usermod -G audio - en mpd
Skapar kataloger och lägga till raden för att montera NAS (om du har en, eller en extern hårddisk) på/etc/fstab:
mkdir -p /mnt/nas/music
chown -R mpd:audio/mnt/nas
Pacman -S cifs-utils
.***.*.**/path/to/Music /mnt/nas/music cifs ro, gäst 0 0
Här är min konfigurationsfil (/ etc/mpd.conf):
användaren "mpd" < br > pid_file "/ run/mpd/mpd.pid"
db_file "/ var/lib/mpd/mpd.db"
state_file "/ var/lib/mpd/mpdstate"
playlist_directory "/ var/lib/mpd/spellistor"
music_directory "/ mnt/nas/musik"
audio_output {
aktiverad "ja"
typ "alsa"
namnet "HiFiBerry"
enheten "hw:0, 0"
dsd_usb "ja"
}
Du måste också skapa några filer:
Touch /var/lib/mpd/mpd.db
Touch /var/lib/mpd/mpdstate
mkdir /var/lib/mpd/playlists
Nu skriver detta i och vänta på biblioteket för att uppdatera. Det tar ett tag och db-fil kommer inte att uppdateras förrän det är gjort.
MPC uppdatering
Du bör nu vara redo att testa allt!