Inhaltsverzeichnis:

PAB: eine persönliche Audiobox - Gunook
PAB: eine persönliche Audiobox - Gunook

Video: PAB: eine persönliche Audiobox - Gunook

Video: PAB: eine persönliche Audiobox - Gunook
Video: ПЛЮСЫ ЖИЗНИ В ЯПОНИИ спустя 12 лет жизни тут! 2024, Juli
Anonim
PAB: eine persönliche Audiobox
PAB: eine persönliche Audiobox

Die Idee zu diesem Projekt entstand aus der Notwendigkeit, die drei großen Komponenten der HiFi-Anlage, die nun das Ende ihrer Lebensdauer erreicht hatte, abzukratzen. Außerdem brauchte ich mehr Platz im Regal für andere Gegenstände, also nutzte ich die Gelegenheit, um an einer Personal Audio Box zu studieren, um alle Funktionen der drei Vintage-"Riesen" zu ersetzen.

Ein Raspberry Pi3B+ schien aus diesen Gründen die beste Wahl zu sein:

  • Kleiner Formfaktor und geringer Stromverbrauch;
  • Ein Audio-PCM-Ausgang mit akzeptabler Qualität;
  • Verfügbarkeit von mopidy, einem erweiterbaren Musikserver, der das mpd-Protokoll implementiert;
  • Hohe Integration von Quellen: lokale Musik, CDROM, Radiostreams, Spotify, Tunein usw.

Durch die Integration mit wenigen anderen Komponenten konnte ich ein komplettes und kopfloses System erstellen, das Musik von CDs, lokalen Dateien, Online-Radio, Spotify-Wiedergabelisten und Podcasts abspielen kann. Und durch die Verwendung eines Frontends kann ich jetzt den gesamten Betrieb von jedem mit dem LAN verbundenen Gerät (Smartphone, Computer, Tablet) verwalten.

Lieferungen

  • Himbeer PI3B+
  • Eine alte DVD-Hülle
  • CDROM-Lesegerät
  • 5V-5A Netzteil
  • Superkondensatoren
  • Diverse Komponenten (Transistoren, LED, Relais, Op-Amp): siehe Projektdetails

Schritt 1: Gehäuse und Anordnung der Komponenten

Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten
Gehäuse und Anordnung der Komponenten

Das erste Problem, mit dem ich konfrontiert war, war die Auswahl und das Finden eines geeigneten Gehäuses. Da ich zu Hause nichts fand, fand ich diesen billigen DVD-Player bei Amazon für ein paar Dollar, aber alles ähnliche wird gut genug sein. Das Gehäuse hat diese Maße: 27cm x 20cm x 3,5cm.

Ich habe den gesamten Inhalt vollständig entfernt und nur die kleine Platine behalten, um die Front-LED, den Netzschalter und den USB-Eingang zu verwalten. Dann habe ich das interne Layout für die neuen Komponenten geplant (siehe Bild).

Schritt 2: Der Audio-Stereo-Sensorschalter

Der Audio-Stereo-Sensorschalter
Der Audio-Stereo-Sensorschalter
Der Audio-Stereo-Sensorschalter
Der Audio-Stereo-Sensorschalter
Der Audio-Stereo-Sensorschalter
Der Audio-Stereo-Sensorschalter

Warum eine automatische Audioumschaltung? Die Notwendigkeit ergibt sich aus der Tatsache, dass ich oft über den HiFi-Verstärker Fernsehen höre, aber nicht jedes Mal den Quellenschalter am Verstärker auswählen wollte. Bei dieser Schaltung ist der Verstärkereingang immer gleich und die Quelle wird automatisch vom Audio Stereo Sensing Switch ausgewählt.

Der Schaltplan ist geradlinig. Wenn die PAB nicht spielt, kommt die Audioquelle für die HiFi-Anlage vom Fernseher. Wenn der PAB spielt, wählt das Relais Audio von Raspberry aus.

Schritt 3: Die Superkondensatorenbox

Die Superkondensatoren Box
Die Superkondensatoren Box
Die Superkondensatoren Box
Die Superkondensatoren Box

Wie bekannt, führt eine plötzliche Unterbrechung der Stromversorgung des Raspberry zum sofortigen Abschalten ohne die Ausführung des Shutdown-Vorgangs, wodurch das Betriebssystem und damit seine gesamte Funktionalität gefährdet werden könnten. Ein Superkondensator unterscheidet sich von einem herkömmlichen Kondensator in zwei wesentlichen Merkmalen: Seine Platten haben tatsächlich eine größere Fläche und der Abstand zwischen ihnen ist viel kleiner, da der zwischengeschaltete Isolator anders funktioniert als ein herkömmliches Dielektrikum. Mit diesen Techniken können Kondensatoren mit sehr hoher Kapazität (in der Größenordnung von mehreren zehn Farad) hergestellt werden, während kleine Abmessungen beibehalten werden. Die Idee ist daher, über Superkondensatoren einen 5V "Puffer" zu erzeugen und bei Erkennen des Fehlens der Versorgungsspannung die Abschaltung zu aktivieren. Auf diese Weise müssen Sie nicht mehr manuell eingreifen, um die Abschaltung zu starten, sondern einfach den Stecker ziehen (oder einen Schalter betätigen), um eine sichere Abschaltung zu gewährleisten.

Gemäß dem Schaltplan wird das Netzteil an den linken Anschluss angelegt und die Schottky-Diode verhindert eine Stromrückführung zum Netzteil. Die beiden parallel geschalteten 1,2Ω 5W Leistungswiderstände begrenzen den Ladestrom der Superkondensatoren, um das Netzteil zu schützen. Ohne diese Widerstände könnte der von den beiden entladenen Superkondensatoren benötigte Spitzenstrom mit ziemlicher Sicherheit die Stromversorgung beschädigen. Die Leistungsdiode muss unbedingt vom Schottky-Typ sein, um einen minimalen Spannungsabfall in Reihe mit der 5-V-Schiene einzufügen.

Die beiden Superkondensatoren sind in Reihe geschaltet, um an ihren Enden eine maximale Spannung von 5,4 Volt zu gewährleisten (jeder Superkondensator hat 10F, 2,7V) und die beiden Widerstände parallel zu den Kapazitäten gleichen die Ladeströme aus und garantieren eine langsame Entladung, wenn der Raspberry gedreht wird aus. Die beiden 1KΩ-Widerstände parallel zum Eingang teilen die 5V des Netzteils in zwei Hälften, um das notwendige Signal zur Erkennung eines Stromausfalls (verbunden mit Raspberry GPIO 7) aufzunehmen. Im Gegensatz zu modernen Lithiumzellen garantieren Superkondensatoren eine nahezu unendliche Anzahl von Lade- und Entladezyklen, ohne an Eigenschaften zu verlieren.

Die Schaltung wird daher in der Lage sein, den Raspberry für die Zeit, die für ein regelmäßiges Herunterfahren erforderlich ist, mit Strom zu versorgen und zu funktionieren. Der Start des Shutdown-Prozesses wird von einem auf dem Raspberry laufenden Programm erkannt, das den Status des GPIO 7 überwacht, an dem die Leistungsstufe angeschlossen ist. Wenn die Stromversorgung unterbrochen wird, geht der GPIO-Pin 7 auf Low-Pegel durch und löst das Herunterfahren aus. Dies ist der Code:

#!/usr/bin/env python

RPi. GPIO als GPIO importieren Subprozess importieren GPIO.setmode(GPIO. BCM) # GPIO-Nummerierung verwenden GPIO.setwarnings(False) INT = 7 # Pin 26 überwacht Stromversorgung # ein schwaches pull_up verwenden, um ein hohes GPIO.setup(INT, GPIO. IN, pull_up_down=GPIO. PUD_UP) def main(): while True: # setze einen Interrupt bei einer fallenden Flanke und warte, bis es passiert GPIO.wait_for_edge(INT, GPIO. FALLING) # check den Pin-Pegel erneut, wenn GPIO.input(INT) == 0: # noch niedrig, Pi herunterfahren subprocess.call(['poweroff'], shell=True, / stdout=subprocess. PIPE, stderr=subprocess. PIPE) if _name_ == '_main_': hauptsächlich()

Das Programm muss in /usr/local/bin/.py gespeichert und so konfiguriert sein, dass es beim Start des Raspberry ausgeführt wird. Aus durchgeführten Tests haben sich die Kapazitäten der beiden Superkondensatoren als ausreichend erwiesen, um die Shutdown-Zeit des Raspberry zu gewährleisten. Wenn mehr Zeit benötigt wird, reicht es aus, zwei weitere Superkondensatoren parallel zu den bestehenden einzuführen oder durch zwei mit größerer Kapazität zu ersetzen.

Schritt 4: Zusammenbau und Verwendung von USB-Anschlüssen

Montage und Verwendung von USB-Ports
Montage und Verwendung von USB-Ports

Der Blockschaltplan zeigt, wie die verschiedenen Geräte für PAB an den Hauptbus 3 (+5V, USB und Audio-Stereo) angeschlossen werden.

Beachten Sie, dass das Netzteil des CD-Lesers über ein "Y" -Kabel direkt mit dem Hauptnetzteil verbunden wurde, während der Audioeingang zum Raspberry geht. Die vier USB-Raspberry-Ports wurden verwendet für:

  • CD-Lesegerät;
  • ein 250-GB-Stick zum Speichern lokaler Musikdateien (mp3, m4a, wma, flac usw.);
  • eine 16-GB-Micro-SD-Karte (mit USB-Adapter) zum Speichern des vollständigen Backups der Haupt-Raspi-SD (siehe unten);
  • eine Verbindung zum externen USB-Port am Gehäuse.

Über den externen USB-Anschluss können Sie externe Musik abspielen oder externe Geräte mit Strom versorgen. In meinem Fall betreibe ich einen externen Bluetooth-Sender, da ich den internen des Raspi aufgrund geringer Reichweite und Instabilität verworfen habe. Mit dem externen Bluetooth betreibe ich zu Hause 2 verschiedene Stereolautsprecher.

Die 16-GB-Micro-SD-Karte (mit USB-Adapter) enthält ein vollständiges Raspberry-Backup. Ich verwende rpi-clone, was sich als sehr gutes Projekt erwiesen hat, das es ermöglicht, ein voll funktionsfähiges Backup des Raspberry zu erstellen, ohne die interne SD entfernen zu müssen. Ich habe diese SD oft gegen die interne ausgetauscht, ohne Probleme. Also habe ich einen Cronjob für Root-Benutzer eingerichtet:

#Backup auf sda - jeden Mittwochabend

15 2 * * 3 /usr/sbin/rpi-clone sda -u | mail -s "PAB-Backup auf SD - fertig"

Ich habe dann den ursprünglichen Netzschalter am Gehäuse wiederverwendet, um den Raspberry herunterzufahren und neu zu starten, indem ich dieser Anleitung gefolgt bin:

Schritt 5: Software und Betriebssystem

Software und Betriebssystem
Software und Betriebssystem
Software und Betriebssystem
Software und Betriebssystem
Software und Betriebssystem
Software und Betriebssystem

Das Hauptbetriebssystem von PAB ist ein einfaches Raspbian Minimal (Debian Buster) mit mehreren spezifischen Ergänzungen:

  • rpi-klon für das Haupt-Backup;
  • ssmtp, ein einfacher MTA, um E-Mails vom System abzurufen;
  • udevil, um das automatische Einhängen von USB-Laufwerken zu ermöglichen;
  • abcde, um meine CD-Sammlung zu packen und in ein beliebiges Audioformat zu komprimieren;
  • mopidy, ein vollständiger Music Player Daemon mit einer Reihe von Plugins.

Ich habe dann eine vollständige PAB-Scheduler-Serveranwendung mit python3 und tornado geschrieben, deren Code nicht im Rahmen dieses Artikels liegt, aber ich kann auf Anfrage Anweisungen geben. Mit dem Scheduler können Sie Playlists für jede Tageszeit einrichten und Wochentage von Wochenenden unterscheiden.

Die Hauptsoftware, auf der PAB läuft, ist Mopidy. Für die Installation und Konfiguration von mopidy (ziemlich umfangreich) lesen Sie bitte die Dokumentation hier:

Dies sind die installierten Plugins:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchiv
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-CD
  • Mopidy-Iris
  • Mopidy-Lokale-Bilder
  • Mopidy-TuneIn

Um die volle Kontrolle über PAB zu bekommen, habe ich die Iris Frontend Extension gewählt (siehe Bilder). Dies ist eine sehr leistungsstarke Webanwendung mit folgenden Funktionen:

  • Vollständige webbasierte Schnittstellensteuerung für Mopidy
  • Verbesserte Unterstützung für lokale Bibliotheken (powered by Mopidy-Local-Sqlite)
  • Durchsuchen und verwalten Sie Wiedergabelisten und Titel
  • Entdecken Sie neue, beliebte und verwandte Musik (powered by Spotify)
  • Frei gehostet
  • Integration mit:

    • Spotify
    • Letztes FM
    • Genius
    • Snapcast
    • Icecast

Auf diese Weise kann ich meine Musik von fast überall (Computer, Tablet, Smartphone) aus steuern.

Empfohlen: