1) Grundkonfiguration Starte mit raspbian lite headless. Über raspi-config: - SSH permanent aktivieren - Lokalisierung (WLAN Country Code, Tastatur, etc) - Passwort ändern In /etc/hosts den Hostnamen zu "phoniebox" ändern. 2) USB-Soundkarte Quelle: https://raspberrypi.stackexchange.com/questions/80072/how-can-i-use-an-external-usb-sound-card-and-set-it-as-default Soundkarte rausfinden mit: lsusb cat /proc/asound/modules cat /proc/asound/cards Sortierreihenfolge ändern. Dazu /etc/modprobe.d/alsa-base.conf erstellen mit: # This sets the index value of the cards but doesn't reorder. options snd_usb_audio index=0 options snd_bcm2835 index=1 # Does the reordering. options snd slots=snd_usb_audio,snd_bcm2835 # Completely disable integrated sound card blacklist snd_bcm2835 In die ~/.asoundrc eintragen: pcm.!default { type hw card 0 } ctl.!default { type hw card 0 } #In /usr/share/alsa/alsa.conf die Null in den Zeilen durch eine Eins ersetzen: # defaults.ctl.card 1 # defaults.pcm.card 1 Neustarten. Testen: speaker-test -c2 speaker-test -c2 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav 3) Bluetooth deaktivieren Für schnelleres Booten. Quelle: https://di-marco.net/blog/it/2020-04-18-tips-disabling_bluetooth_on_raspberry_pi/ In /boot/config.txt hinzufügen: dtoverlay=disable-bt sudo systemctl disable hciuart.service sudo systemctl disable bluealsa.service sudo systemctl disable bluetooth.service 4) Swap deaktivieren Schnelleres Booten und verhindern, dass die SD-Karte korrumpiert. sudo dphys-swapfile swapoff sudo dphys-swapfile uninstall sudo systemctl disable dphys-swapfile sudo apt-get purge dphys-swapfile 5) IP-Einstellungen Schnelleres Booten. In /etc/dhcpcd.conf hinzufügen: interface wlan0 noarp ipv4only noipv6 Keine statische IP festlegen. Man kann über hostename.local (=phoniebox.local) auf die Phoniebox zugreifen. 6) Boot weiter beschleunigen Quellen: - https://koboldimkopf.wordpress.com/2020/01/10/tutorial-phoniebox/ - https://splittscheid.de/faqs-zu-meiner-phoniebox/#bootspeedup # In a headless environment you don't need the keyboard setup. sudo systemctl disable keyboard-setup.service # Unless you have an external joystick or something that uses `/dev/input/` sudo systemctl disable triggerhappy.service # You might to re-enable this service when making changes using `sudo raspi-config` sudo systemctl disable raspi-config.service sudo systemctl disable exim4.service sudo systemctl disable wifi-country.service In der Datei /etc/sysctl.conf das IPV6 deaktivieren: net.ipv6.conf.all.disable_ipv6 = 1 In /boot/config.txt: # Boot Delay Time boot_delay=0 # the rainbow splash screen will not be shown on boot disable_splash=1 # use full speed of the sdcard (fast card needed for this) dtoverlay=sdtweak,overclock_50=100 In /boot/cmdline.txt: Folgende Optionen hinzufügen: - noatime - nodiratime - fastboot - loglevel=1 - quiet - logo.nologo console=serial0,115200 console=tty1 root=PARTUUID=8d14ad7d-02 rootfstype=ext4 elevator=deadline noatime nodiratime fastboot fsck.repair=yes rootwait quiet logo.nologo$ 7) SSH-Login per Pubkey Text aus ~/.ssh/id_rsa.pub kopieren. Einfügen in leere Datei auf Raspi in ~/.ssh/authorized_keys In /etc/ssh/sshd_config die Passwortanmeldung deaktivieren: PasswordAuthentication no sudo systemctl restart ssh 8) Jukebox4Kids installieren Mopidi authentifizieren unter https://mopidy.com/ext/spotify/#authentication Config /etc/mopidy/mopidi.conf für sp0tifant: [spotify] client_id = 10829d7a-455c-42d9-b5c9-432925b3b260 client_secret = 1Td8rUoyG-toWpT6ecIcpTPo6AqxW4S0pKGlsma3Yxc= Config /etc/mopidy/mopidi.conf für loehna: [spotify] enabled = true username = loehna password = asP963j8Fvs client_id = bdd3314d-d81e-45f3-ace7-09cae2f850f8 client_secret = 2Cri275HYMVIKs3VzfTP-_ri02QoPe7_Hz0E89rDj9k= Man muss den Spotify-Benutzer mit eintragen. Die Datei function_calls.py verwendet noch "lsof". Das wird nicht automatisch mitinstalliert. Daher nachinstallieren (sudo apt-get install lsof). 9) RFID-Reader Alternative wiring aus https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Wiring_for_RC522_card_reader Software wie beschrieben in https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/11#issuecomment-456071515 SPI aktivieren über raspi-config sudo pip3 install spidev sudo pip3 install pi-rc522 cp /home/pi/RPi-Jukebox-RFID/scripts/Reader.py /home/pi/RPi-Jukebox-RFID/scripts/Reader.py.old cp /home/pi/RPi-Jukebox-RFID/scripts/Reader.py.experimental /home/pi/RPi-Jukebox-RFID/scripts/Reader.py python /home/pi/RPi-Jukebox-RFID/scripts/RegisterDevice.py -> MFRC522 auswählen RFID in WebGUI aktivieren 10) GPIOs konfigurieren Es ist das "flexible Pinout" voreingestellt. Das ist abzuändern in: ~/RPi-Jukebox-RFID/settings/gpio_settings.ini Dort lässt sich auch das Mute-Signal für den Verstärker nach dem Start deaktivieren. Dazu wird einfach der device_type "LED" von der Bibliothek gpio_control verwendet (https://github.com/MiczFlor/RPi-Jukebox-RFID/tree/master/components/gpio_control). Anwenden mit: sudo systemctl restart phoniebox-gpio-control 11) Samba Passwort setzen: sudo smbpasswd -a pi Passwort: pauliberry Zugriff von Windows: Öffne „Start“ und suche nach „Systemsteuerung“ -> „Programme“ -> „Windows Features aktivieren oder deaktivieren“ und aktiviere hier „SMB 1.0/CIFS File Sharing Support“. Danach muss der PC neugestartet werden. 12) Debian-Updates Bei einem Update via apt-get wurde mopidy aktualisiert aber nicht mehr automatisch beim Systemstart gestartet. Das lässt sich mittels systemctl enable mopidy wieder beheben. 13) OnOff Shim Den Dienst installieren mit sudo curl https://get.pimoroni.com/onoffshim | bash In der Datei /etc/cleanshutd.conf die Haltezeit für den Button auf 2 s einstellen. In der Datei /usr/bin/cleanshutd den Shutdown-Befehl für die Phoniebox eintragen (bei if shutdown_trigger; then), statt des normalen shutdown: /home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=shutdown Die Datei /lib/systemd/system-shutdown/gpio-poweroff wird dazu benutzt, beim Herunterfahren GPIO4 auf low zu ziehen. Dieser ist mit dem OnOff Shim verbunden und trennt den Strom nach 0,5 s Verzögerung. 14) Weitere WLAN-Netzwerke Einträge in /etc/wpa_supplicant/wpa_supplicant.conf hinzufügen. Diese lassen sich mittels wpa_passphrase erzeugen. Siehe https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md