Inhaltsverzeichnis:

Raspberry Pi Audio Dac-Amp-Streamer - Gunook
Raspberry Pi Audio Dac-Amp-Streamer - Gunook

Video: Raspberry Pi Audio Dac-Amp-Streamer - Gunook

Video: Raspberry Pi Audio Dac-Amp-Streamer - Gunook
Video: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 2024, November
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Verwenden Sie einen veralteten Google AIY Voice-Hut als dediziertes Headless-Stereo-Audio-Streaming-Gerät.

Jetzt, da Google AIY Voice-Kits sich dem Alter von zwei Jahren nähern, haben Sie vielleicht festgestellt, dass die Neuheit ein wenig nachgelassen hat. Oder Sie fragen sich vielleicht, ob die Werbung Ihres Browsers für das nächste Renaissance-Festival etwas mit Ihrer Frage zu tun hat, wo Sie unter Rüstung Laufschuhe finden können.

Wenn Sie bereits einen besitzen, zeigt Ihnen dieses Projekt, wie Sie Ihr vorhandenes Google AIY-Voice-Kit als dedizierten Headless-Audiostreamer verwenden können. Wenn Sie noch kein Kit haben und in der Nähe eines Micro Centers wohnen; Sie haben Glück - es gibt immer noch viele, und ich bezweifle, dass sie billiger werden als der aktuelle Preis von 5 US-Dollar. (eigentlich kosten sie 3 US-Dollar ab Juli 2019).

Bei diesem Projekt dreht sich alles um Audio und nichts mit KI. Wir werden an einem völlig separaten Betriebssystem arbeiten, das auf einer separaten Micro-SD-Karte gespeichert ist, sodass Sie alle KI-Funktionen unberührt lassen können. Darüber hinaus werden wir die Benutzererfahrung verbessern, indem wir Stereo-Sound (für ein paar Dollar mehr) einführen, während wir ein skalierbares Audio-Streaming-Gerät bauen. Schließlich werden wir nach Abschluss dieses Projekts den Stimmhut in einem Zustand belassen, der für zukünftige Erweiterungen bereit ist. Die Grenzen der Expansion werden nur die unserer Kreativität sein.

Schritt 1: Beschaffung

Beschaffung
Beschaffung

Ich werde dieses instructable aus der Perspektive schreiben, dass Sie nicht bereits ein Google Voice-Kit in Ihrem Besitz haben. Sollten Sie bereits über das Voice-Kit-Setup verfügen, sind die zusätzlich benötigten Elemente unten mit einem * gekennzeichnet. Auch das neueste Raspberry Pi-Angebot (Pi 3 A+) ist aufgrund seines Formfaktors perfekt für dieses Projekt geeignet, und ich empfehle trotzdem dringend, einen zu kaufen. Jeder Pi sollte jedoch tun, solange er den Voice-Kit-Hut und die GPIOs aufnehmen kann.

Zutaten:

  • Raspberry Pi (empfohlen Pi 3 A +)
  • 5,25V 2,4 Ampere Micro-USB-Netzteil
  • Micro-SD-Karte (je nach Größe Ihrer Musiksammlung sollten 16 GB ausreichend sein)
  • Max98357A DAC und Verstärker (von Adafruit)*
  • Lautsprecher). Das Kit wird mit einem geliefert, aber um Stereo zu erhalten, benötigen wir einen zusätzlichen Lautsprecher. (auch Adafrucht)
  • Google AIY Voice-Kit
  • Kopfzeile – Einzelband*
  • Lautsprecherkabel*

Benötigtes Werkzeug: Lötkolben, Lötzinn, Kreuzschlitzschraubendreher Größe 00 oder 000. Abisolierzangen, Abdeck- oder Malerband, um die Stiftleiste während des Lötens vorübergehend zu sichern, USB-auf-Micro-SD-Adapter.

Schritt 2: Montieren Sie die Hardware

Montieren Sie die Hardware
Montieren Sie die Hardware

Out of the Box kommt der Voice Hat im Mono-Modus an. Glücklicherweise haben die Ingenieure von Google das Board so entworfen, dass ein Upgrade auf Stereo ermöglicht wird, indem einfach ein weiteres Max98357a-Board als weiterer Hut hinzugefügt wird. Sie haben uns sogar die Box skizziert.

Sie ahnen es: Wir bauen einen Hut auf einem Hut. Hardware oben auf Hardware bereits oben.

Unter Verwendung des vom Adafruit Max98357a-Chipsatz bereitgestellten Headers beginnen wir damit, den 7-Pin-Header direkt unter den Worten „AIY projects Voice Hat“an den Voice-Hat zu löten. Ein Stück Abdeckband, das an den längeren Stiften an der Vorderseite der Platine angebracht ist, kann nützlich sein, um zu verhindern, dass die Stiftleisten verrutschen, da wir während dieser Lötphase mit der Platine nach unten arbeiten.

Löten Sie auch zwei Stifte in der weiß umrandeten Box an den Stimmhut, wo die blaue max98357a-Platine sitzt.

LÖTEN SIE DEN LAUTSPRECHERANSCHLUSS NICHT AN DIE MAX98357a-PLATTE!

Verbinden Sie stattdessen die Lautsprecheranschlüsse mit dem Stimmhut, der direkt darunter ausgerichtet ist, wo die beiden Pole gerade gelötet wurden. Der linke Lautsprecheranschluss und der rechte Lautsprecheranschluss sollten nebeneinander in einer Reihe von vier Klemmen ausgerichtet werden.

Drehe das Brett mit der rechten Seite nach oben.

Löten Sie den Jumper mit der Aufschrift „JP4“geschlossen, indem Sie einen Tropfen Lot auf dem Jumper lassen. Vergiss diesen Teil nicht, sonst haben wir keine Stereoanlage!

Bringen Sie die blaue max98357a-Platine vorsichtig an den langen männlichen Stiften an, die aus dem Stimmhut herausragen. Dies war ein wenig schwierig, also versuchen Sie, die Pins so senkrecht wie möglich zur Platine zu löten. Mit einigem Gerangel der beiden Stiftleisten konnte ich dies mit nur geringem Aufwand erreichen.

Schließen Sie das Löten der männlichen Stifte an den blauen max98357a-Chip ab – sowohl der siebenpolige als auch der zweipolige Header sollten den max98357a fest in Position halten.

Fertig mit Löten!

Schritt 3: An das Pi anschließen und Ihre Lautsprecher anschließen

An das Pi anschließen und Ihre Lautsprecher anschließen
An das Pi anschließen und Ihre Lautsprecher anschließen

Verwenden Sie die beiden Nylon-Abstandshalter, die mit dem Kit geliefert werden, und fügen Sie das weibliche Voice-Kit vorsichtig auf die männlichen Header auf dem Himbeer-Pi. Die Nylon-Abstandshalter sollten einrasten und Ihnen einen sicheren Sitz an den gegenüberliegenden Ecken des Headers geben.

Lösen Sie mit einem kleinen Kreuzschlitzschraubendreher (000 oder 00) die Schrauben am Lautsprecheranschluss so weit, dass Ihr Lautsprecherkabel in die Kompressionsöffnungen passt. Sie sollten die Schrauben nicht entfernen müssen, sondern so weit öffnen, dass sie sich locker anfühlen.

Führen Sie Ihr kleines Lautsprecherkabel in die Öffnung ein und ziehen Sie die Schrauben fest, um das Lautsprecherkabel fest in Position zu halten.

Ich empfand diesen Schritt als die entmutigendste Herausforderung des gesamten Projekts – ich konnte keinen Schraubendreher finden, der klein genug war, oder mein dünnes Lautsprecherkabel war zu fein, um die Kompression der Schraube aufzunehmen und würde eher brechen als festhalten. Ich habe eine Modifikation vorgenommen, indem ich "Spitzen" oder kleinere Drähte gebaut habe, die fest genug waren, um der Kompression standzuhalten, und gerade lang genug, um an die blanken Enden des Lautsprecherkabels gelötet zu werden. Hässlich, ja – aber effektiv.

Fertig mit Hardware!

Schritt 4: Raspbian Lite herunterladen

Raspbian Lite herunterladen
Raspbian Lite herunterladen
Raspbian Lite herunterladen
Raspbian Lite herunterladen

Viele von Ihnen kennen den Vorgang des Herunterladens und Brennens von Bildern auf eine SD-Karte bereits sehr gut und die weiteren Schritte würden den Rahmen dieses Projekts etwas sprengen. Ich werde die folgenden Schritte nur für den Fall aufzählen, aber wenn Sie immer noch feststecken, gibt es jede Menge Ressourcen, die Sie unterstützen können.

Letzte Änderung: Juni 2020 für Buster Lite-Download.

· Etcher von Balena Software herunterladen und installieren

· Laden Sie das neueste Raspbian Lite OS von raspberrypi.org herunter

· Schreiben Sie das Raspbian-Image mit Etcher auf die SD-Karte

· Wenn Sie fertig sind, es sei denn, Sie verwenden einen Pi Zero w - übertragen Sie die neu abgebildete SD-Karte auf unseren Raspberry Pi. Wenn Sie ein pi zero w verwenden, müssen wir einige Änderungen an der Datei WPA_Supplicant.conf in der Bootpartition vornehmen, um Ihr WLAN einzurichten.

Schritt 5: Konfigurieren Sie das Pi

Konfigurieren Sie das Pi
Konfigurieren Sie das Pi

Mit unserem neu erstellten Bild schalten wir den Pi ein. Aber zuerst leihen wir uns einen Monitor und eine Tastatur aus, um bei der Konfiguration zu helfen. Legen Sie die Micro-SD-Karte ein und schließen Sie das Micro-USB-Ladekabel an. Mit etwas Glück blinkt die grüne LED während des Hochfahrens einige Male. Der erste Bootvorgang kann einige Minuten dauern, aber innerhalb von 5 Minuten sollten wir bereit sein, an unserer Konfiguration zu arbeiten. "Lite" Raspbian hat keinen Desktop.

Einmal an der Eingabeaufforderung: Melden Sie sich als pi an, Passwort „raspberry“.

· Greifen Sie auf das Konfigurationsfenster zu, indem Sie an der Eingabeaufforderung „sudo raspi-config“eingeben.

· Ändern Sie sofort Ihr Passwort.

· Richten Sie Ihr WLAN mit den Netzwerkoptionen im Konfigurationsfenster ein

· Ändern Sie Ihre Lokalisierungsoptionen und legen Sie Ihre Zeitzone fest

· Aktivieren Sie SSH mit der Option Interface Panel

· Führen Sie „sudo apt-get update“aus, um Ihre Software auf die neueste Version zu aktualisieren

Wir benötigen die IP-Adresse des Pi. Ich empfehle eine App namens "FING", die auf jedes Android-Gerät heruntergeladen werden kann und alle mit Ihrem Netzwerk verbundenen Geräte auflistet. Wir würden nach einem Gerät namens „raspberrypi“suchen. Schreiben Sie die IP-Adresse auf.

Ab diesem Zeitpunkt benötigen wir weder Monitor noch Tastatur mehr. Alle weiteren Konfigurationen werden über die Kommandozeilen über eine SSH-Sitzung durchgeführt.

Schritt 6: Verwenden Sie SSH, um eine Sitzung auf einem Remote-Computer zu öffnen

Die Verwendung von SSH ist ziemlich einfach. Öffnen Sie ein Terminalfenster von einem beliebigen Gerät in Ihrem Netzwerk und geben Sie den Befehl ein

ssh pi@myipaddress

Ersetzen Sie „myipaddress“durch die numerischen Werte, die Sie mit fing erhalten haben.

Zum ersten Mal werden Sie möglicherweise mit einer beängstigenden Warnung begrüßt, die darauf hinweist, dass Sie nicht auf der Liste der eingeladenen Personen stehen. Es gibt jedoch einen Satz, der lauten sollte „um dies zu entfernen…“. Kopieren Sie die lange Zeichenfolge und fügen Sie sie in den Befehl ein Eingabeaufforderung, drücken Sie die Eingabetaste. Wiederholen Sie dann mit der Pfeiltaste nach oben den Befehl ssh pi@myipaddress, wählen Sie yes und geben Sie nun Ihr Passwort ein. Herzlichen Glückwunsch!, Sie sind jetzt mit Ihrem Gerät verbunden, wenn Sie eine Eingabeaufforderung von "pi@raspberrypi: ~ $" sehen.

Schritt 7: Installieren Sie Mopidy

Installieren Sie Mopidy
Installieren Sie Mopidy

Wir werden Mopidy als unseren Musikserver installieren. Hier gibt es viele Optionen, aber ich zeige Ihnen, wie Sie eine Erweiterung namens "Music Box" installieren, mit der Sie Ihre Musik über eine Weboberfläche anstelle einer Eingabeaufforderung steuern können.

Was ist Mopidy? Laut der Website ist Mopidy eine Reihe großer Worte, die mich im Moment ziemlich minderwertig fühlen lassen, aber sagen wir einfach, Mopidy ist die Plattform, von der aus unsere Musik abgespielt wird. Es wird ein Musikserver, ein MPD (Music Player Daemon) und ein Webserver sein. Das PiMusic Box-Addon bietet die Website, von der aus wir zu Mopidy navigieren und sie steuern können. Ich dachte mir, dass es für dieses anweisbare geeignet wäre, da es mit einer Reihe beliebter Dienste wie Spotify oder Google Play Music gut spielt. Außerdem ist es so cool.

Nachfolgend finden Sie die Anweisungen, die schamlos von Mopidy kopiert wurden, um sie über die Befehlszeile zu installieren:

1. Fügen Sie den GPG-Schlüssel des Archivs hinzu:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key hinzufügen -

2. Fügen Sie das APT-Repository zu Ihren Paketquellen hinzu:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Zum Schluss mopidy installieren:

sudo apt-get update

sudo apt-get install mopidy

Beenden Sie schamlose Kopie.

Schritt 8: Verwenden Sie Python Pip, um andere… Installationen (Erweiterungen) zu installieren

Wir haben gerade Mopidy installiert, aber wir fangen gerade erst an. Erweiterungen werden unsere Bausteine sein, um unserem Plain Vanilla Mopidy Anpassungen hinzuzufügen. Da die meisten Erweiterungen, die wir an grundlegendem Mopidy anknüpfen werden, in Python geschrieben sind, verwenden wir ein pythonspezifisches Äquivalent von apt.

Bevor wir mit der Verwendung von pip beginnen, stellen wir zunächst sicher, dass wir alle gstreamer-Plugins mit apt haben:

sudo apt installieren

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-tools

Die Installation kann einige Minuten dauern. Ohne Gstreamer können Sie möglicherweise keine Musik streamen.

Und jetzt können wir Python Pip installieren:

sudo apt install build-essential python3-dev python3-pip

Jetzt können wir pip verwenden, um mehr Mopidy-Nuggets hinzuzufügen. Pip ist ein Python-Tool, ähnlich wie apt, aber ich finde, es funktioniert etwas schneller als apt. Etwas langsam außerhalb des Blocks, aber es tritt ziemlich schnell ein.

Nachfolgend sind vier für den Anfang aufgeführt:

Ein Web-Frontend. Lassen Sie uns Iris verwenden, aber wenn Sie möchten, können Sie stattdessen mopidy-musicbox-webclient ausprobieren:

sudo python3 -m pip install Mopidy-Iris

Ein Internetradiosender-Hub mit 30 Kanälen:

sudo python3 -m pip install mopidy-somafm

Ein weiterer Internetradio-Service-Hub mit noch mehr Kanälen:

sudo python3 -m pip install mopidy-TuneIn

Und ein weiteres Frontend für mobile Geräte. Radiosender und Iris spielen nicht gut zusammen, aber mobile hat alle Arten von Internet-Ration-Sendern zum Anhören:

sudo python3 -m pip install Mopidy-Mobile

Nach Abschluss sollten Sie in der Lage sein, auf Music Box zuzugreifen, indem Sie:

myipaddress:6680/iris/ -oder-

Wir werden immer noch nichts aus den Lautsprechern hören, wenn Sie versuchen, Musik abzuspielen.

Eine Liste weiterer Funktionen und Erweiterungen: Bedienen Sie sich selbst:

sudo pip suche mopidy

Von hier aus können Sie nach Belieben weitere Erweiterungen hinzufügen.

Ich habe eine Beispiel-Mopidy-Konfigurationsdatei angehängt. Fühlen Sie sich frei, die Inhalte in /etc/mopidy/mopidy.conf. zu verwenden

sudo nano /etc/mopidy/mopidy.conf

Schritt 9: Mopidy als Dienst einrichten

Mopidy als Service einrichten
Mopidy als Service einrichten

Da wir mopidy beim Start ausführen möchten, ermöglichen zwei Befehle die Ausführung von mopidy beim Booten:

sudo systemctl aktivieren mopidy

sudo dpkg-reconfigure mopidy

Neustart und dann ausführen

sudo systemctl status mopidy – l

um Ihren Status zu überprüfen. Sie sollten eine grüne Anzeige sehen. Mopidy hat eine sehr nützliche Support-Site, die Sie bei weiteren Konfigurationsoptionen unterstützt. Weitere Informationen finden Sie auf der Mopidy-Dokumentationsseite.

Schritt 10: Fügen Sie Ihre eigene Musik hinzu

Fügen Sie Ihre eigene Musik hinzu
Fügen Sie Ihre eigene Musik hinzu

Standardmäßig möchte mopidy lokale Musik in einem Ordner unter /var/lib/mopidy/media speichern. Kopieren Sie dort Ihre Musiksammlung. Ich finde es am einfachsten, einfach die SD-Karte vom Pi zu entfernen (nach dem sicheren Herunterfahren) und mit einem Micro-SD-auf-USB-Adapter den Adapter an Ihre Speichereinheit anzuschließen und dort zu kopieren / einzufügen. (Dies kann je nach Größe Ihrer Sammlung eine Weile dauern). Wenn Sie fertig sind, legen Sie die SD-Karte auf den Pi zurück, starten Sie sie, verbinden Sie sie erneut und geben Sie dann Folgendes ein:

sudo mopidyctl lokaler Scan

Dadurch wird Ihre Musik zur lokalen Medienbibliothek in Music Box hinzugefügt. Möglicherweise stellen Sie fest, dass.wma-Dateien nicht als Audio erkannt werden und.ogg-Dateien während des Scans anscheinend übersehen werden. MP3-Dateien sollten jedoch kein Problem sein.

Schritt 11: Konfigurationsdatei der Soundkarte - Asound.conf

Sie sollten noch nichts in /etc/asound.conf haben, aber wenn ja, ersetzen Sie den Inhalt durch den folgenden oder erstellen Sie einen mit:

sudo nano /etc/asound.conf

und fügen Sie ein:

Optionen snd_rpi_googlehat_soundcard index=0

pcm.softvol { type softvol slave.pcm dmix control { name Master card 0 } } pcm.!default { type asym play.pcm "plug:softvol" } ctl.!default { type hw card 0 }

ctrl-x und Y, um das obige als Ihre neue asound.conf-Datei zu speichern.

Schritt 12: Stellen Sie sicher, dass wir das richtige Overlay für Configure.txt in /boot verwenden

Typ

sudo nano /boot/config.txt

Die letzten paar Zeilen sollten ähnlich wie unten aussehen. Wir möchten sicherstellen, dass das Standardaudio zusammen mit allen vorherigen Überlagerungen wie meinem Hifiberry-DAC auskommentiert wird, während das Google Voice Hat-Overlay implementiert wird. Schließlich möchten wir den Pi anweisen, das i2s-Mapping zu verwenden. Der #-Indikator weist das System an, die Zeile zu ignorieren.

# Audio aktivieren (lädt snd_bcm2835)

#dtparam=audio=on #dtoverlay=hifiberry-dac dtoverlay=googlevoicehat-soundcard dtoverlay=i2s-mmap

Neustart, wenn alles ähnlich wie oben aussieht. Warten Sie ein paar Minuten, öffnen Sie einen Browser für die Musicbox-URL und spielen Sie Musik ab.

Schritt 13: Genießen Sie die Musik

Wenn Sie Stereo-Güte hören, ist Ihre Mission erfüllt!

Eines der schönen Dinge bei der Verwendung eines Raspberry Pi als Headless-Musikserver, der mit WLAN verbunden ist, ist, dass er läuft, ohne viele Ressourcen zu verbrauchen. Wir pumpen zwar nur 3 Watt pro Kanal, aber das reicht wahrscheinlich für das Hören aus nächster Nähe. Der Akku Ihres Telefons wird es Ihnen danken.

Es gibt auch einen sehr signifikanten grünen Faktor – wir schlürfen nur 5,25 Volt Energie. Und im Vergleich zu Bluetooth können wir den Radiostream einstellen und sind nicht an einer 30-Fuß-Bluetooth-Reichweite verankert. In Bezug auf unser Telefon können wir einen Anruf annehmen, ein Spiel spielen und uns etwas freier bewegen, ohne den Musikstrom zu unterbrechen. Wir haben nur an der Oberfläche gekratzt. Es gibt unzählige verfügbare mopidy-Erweiterungen, die es zu entdecken gilt, und mopidy hat eine wachsende Entwicklerbasis, da es Open Source ist. Ich lasse Sie die Funktionen, die Sie interessieren, auf eigene Faust erkunden.

Schritt 14: Fazit

Abschluss
Abschluss

Eines der herausragendsten Merkmale dieses Projekts ist, dass wir unseren Pi nicht einschränken, indem wir den Zugriff auf den GPIO sperren. Dadurch haben wir Zugriff auf viele weitere Optionen, da der Voice Hat so gut konzipiert wurde. Mein nächstes Projekt wird beispielsweise darin bestehen, einen momentanen Druckknopfschalter als Abschaltknopf hinzuzufügen. Es sollte einfach sein, und ich weiß bereits, wo die Pins landen müssen: Sie sind nicht behindert. Von dort? Nun, für dieses Projekt haben wir das Mikrofon komplett ignoriert – vielleicht ein Pi-Karaoke? Vielleicht eine LED-Lichtshow oder einen Motor für eine rollende Jukebox? Alle Pins sind noch verfügbar und zugänglich. Es stellt sich die Frage, warum nicht? Und nur für den Fall, dass Sie zur KI zurückkehren möchten, legen Sie einfach die alte SD-Karte ein und lassen Sie Google in Stereo antworten.

Empfohlen: