Inhaltsverzeichnis:

Raspberry Pi-betriebenes Internetradio - Gunook
Raspberry Pi-betriebenes Internetradio - Gunook

Video: Raspberry Pi-betriebenes Internetradio - Gunook

Video: Raspberry Pi-betriebenes Internetradio - Gunook
Video: Webinar November 2012: ARM Cortex M3 Update Deutsch 2024, November
Anonim
Image
Image
Raspberry Pi-betriebenes Internetradio
Raspberry Pi-betriebenes Internetradio
Raspberry Pi-betriebenes Internetradio
Raspberry Pi-betriebenes Internetradio

Das Drehen von Zifferblättern und das Drücken von Knöpfen, wie bei alten Radios, hat etwas Befriedigendes. Leider sind viele dieser Radios kaputt oder die Sender sind still geworden. Glücklicherweise ist es nicht allzu schwierig, ein Radio mit einem Raspberry Pi Zero W in ein Internetradio zu aktualisieren, und ich zeige Ihnen, wie!

Ein Teil der Arbeit hängt von dem Spenderradio ab, das Sie haben, aber ich werde erklären, was ich mit meinem gemacht habe, um Ihnen eine Vorstellung davon zu geben, wie es funktioniert.

Da der pi leicht zu befolgender Python-Code läuft, können Sie, sobald die Funksteuerungen verkabelt sind, problemlos andere Funktionen wie einen Wecker, Bluetooth-Lautsprecher, eine sprechende Uhr usw. hinzufügen, indem Sie einfach die Software über ssh ändern.

Dieses Projekt wurde vom Dansette Pi Internet Radio inspiriert, der Hauptunterschied besteht darin, dass hier die Zifferblätter das Radio durch Drehen steuern, nicht als Druckknöpfe.

Lieferungen

  • altes Transistorradio
  • Raspberry Pi Null W
  • Picaxe 20X2
  • Adafruit 3W Mono-Verstärker - MAX98357 I2S Amp Breakout
  • Fassanschluss für Netzteil
  • 5V DC Netzteil passend für Hohlstecker
  • verschiedene Widerstände
  • ein paar 100nF Kondensatoren
  • Stripboard
  • 20-polige IC-DIP-Buchse
  • Überbrückungsdrähte und Header-Pins
  • kleine Schrauben und Muttern

Schritt 1: Übersicht

Die Idee ist, den Raspberry Pi über das integrierte WLAN mit dem Internet zu verbinden und einen aus einer Liste vorkonfigurierter Internetradiosender zu streamen. Die originalen Radiobuttons und Drehregler (Potentiometer) werden mit einem Picaxe-Chip verbunden, der als Analog-Digital-Wandler dient. Der Pi liest kontinuierlich die Bedienelemente von der Picaxe und reagiert entsprechend, indem er entweder die Lautstärke oder den Sender ändert. Wenn der Sender geändert wird, spricht das Radio den Namen des neuen Senders. Schließlich wird das gestreamte Audio in einen Mono-Verstärker geleitet, der mit dem originalen Radiolautsprecher verbunden ist.

Das Tolle an der Verwendung eines Himbeer-Pi ist, dass die Funktionen des Radios nach dem Einrichten der Schaltung einfach geändert werden können, indem Sie nur ein paar Codezeilen auf dem Pi durch ssh ändern. Du könntest zum Beispiel einfach eine Verbindung zu einem Bluetooth-Lautsprecher herstellen oder einen Wecker stellen:)

Schritt 2: Das Radio

Das Radio
Das Radio
Das Radio
Das Radio
Das Radio
Das Radio

Der wichtigste Teil ist das Spenderradio. Es muss nicht funktionieren, aber es muss einen funktionierenden Lautsprecher haben (es sei denn, Sie möchten einen neuen installieren).

Mein Radio hat 4 Zifferblätter und 7 Drucktasten. Zwei der Drehregler werden zum Ändern der Lautstärke und des Senders verwendet. Die anderen beiden Drehregler und die Tasten tun nichts, aber ich werde sie trotzdem anschließen, falls ich sie später verwenden möchte.

Der erste Schritt besteht darin, das Radio vorsichtig zu zerlegen und die gesamte interne Elektronik zu entfernen, die wir außer dem Lautsprecher nicht benötigen.

Senderwechsel Wenn Sie bei meinem Radio den Sender wechseln, bewegt sich eine kleine rote Markierung über das Display, um anzuzeigen, welche Frequenz Sie gerade hören. Diese Funktion wollte ich unbedingt behalten! Der Stationswechselknopf dreht einen variablen Kondensator und betreibt ein Flaschenzugsystem mit einem Stück Schnur, das die rote Markierung hält.

Ich habe versucht, eine Schaltung zu bauen, um die Kapazität dieses variablen Kondensators zu messen, aber die Kapazität war so klein, dass die einfache Methode zum Timing der Ladung / Entladung nicht funktioniert. Es gibt andere Methoden, aber sie erschienen mir kompliziert und den Aufwand nicht wert…

Also, was ich hier gemacht habe, war eine Welle flach zu feilen, die aus der Unterseite des variablen Kondensators zeigte, damit diese Welle in die Nut eines modernen Potentiometers passen kann. Glücklicherweise konnte dieses Potentiometer durch Bohren eines Lochs in den originalen Batteriekasten montiert werden. Immerhin betätigt der Stellkondensator nun direkt ein Potentiometer, mit dem ich den Sender an meinem Digitalradio einstelle.

Drück Knöpfe

Es gab eine komplizierte Platine, auf der die Infrastruktur für die Taster untergebracht war. Nach dem Entfernen der angelöteten Bauteile und Drähte habe ich herausgearbeitet, welche Verbindungen beim Drücken oder Loslassen einer Taste hergestellt/getrennt werden. Einige der Knöpfe waren miteinander verbunden, so dass ich ein paar Kupferbahnen in der Platine brechen musste. Schließlich lötete ich einige Drähte an, die zur Picaxe gehen, um 6 Druckknöpfe zu ergeben, die isoliert arbeiten.

Suchen Sie sich auch einen gemütlichen Platz für Pi und Picaxe, idealerweise so weit wie möglich vom Lautsprecher entfernt, da das Magnetfeld des Lautsprechers Mikroprozessoren durcheinander bringen kann. Ich bohrte ein paar Löcher in den Metallrahmen des Radios, um das Pi zu montieren.

Schritt 3: Picaxe

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
Picaxe

Die Picaxe-Schaltung ist oben, mit nur zwei der Potentiometer und einer Taste, die der Übersichtlichkeit halber gezeigt sind. Die Schaltung ist ziemlich einfach, wobei der Schleifer jedes Potentiometers an einen ADC-Eingang angeschlossen ist. Bei den Tasten ist der Eingangspin mit Masse verbunden und die Taste liegt zwischen dem Eingang und +3,3 V. Diese Schaltung beinhaltet nicht die Download-Schaltung, da ich meine Picaxe auf einer separaten Platine programmiert habe.

Der Picaxe-Code ist ziemlich einfach. Die Picaxe liest die ADC-Werte der Potentiometer und die Zustände der Tasten ein und speichert sie dann im internen Speicher, den der Pi ausliest.

Sie können jeden X2-Picaxe-Chip verwenden. Nicht X2-Teile haben keinen I2C-Slave-Modus und funktionieren daher nicht mit diesen Anweisungen.

Wenn Sie einen Linux-Computer verwenden, um die Picaxe zu programmieren, müssen Sie die folgenden Befehle ausführen, damit das Download-Kabel AXE027 funktioniert:

sudo modprobe ftdi_sio

sudo chmod 777 /sys/bus/usb-serial/drivers/ftdi_sio/new_id sudo echo "0403 bd90" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Für den Fall, dass die Potentiometerwerte unregelmäßig springen, kann ein 100nF-Kondensator zwischen Masse und Schleifer des Potis geschaltet werden.

Schritt 4: Himbeer-Pi

Himbeer-Pi
Himbeer-Pi
Himbeer-Pi
Himbeer-Pi

Hier kommen die Gehirne der Operation. Einige Pakete müssen auf dem Pi mit installiert werden

sudo apt-get update

sudo apt-get install -y i2c-tools vlc espeak python-smbus python-pip sudo pip install python-vlc

Der Pi wird über I2C mit der Picaxe kommunizieren. Um I2C zu aktivieren, überprüfen Sie, ob die Datei /etc/modules die Zeile. enthält

i2c-dev

und dass /boot/config.txt hat

dtparam=i2c_arm=on

Um den Pi so einzurichten, dass er mit dem Verstärker funktioniert, folgen Sie hier der eigenen Anleitung von Adafruit oder führen Sie einfach aus

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash

und akzeptiere alles.

Der Python-Code ist recht einfach, nach einer anfänglichen Einrichtung lauscht eine endlose While-Schleife auf Änderungen der Potentiometerwerte und ob die Tasten gedrückt wurden.

n

Die Datei stations.txt enthält eine Liste der Stations-URLs und Stationsnamen, die beim Senderwechsel angesagt werden. Es hat das folgende Format

st1 =

n1 = irgendein Radio st2 = https://anotherstream n2 = ein anderer Sender

Diese Datei sollte keine Leerzeilen enthalten.

Um Sender-URLs zu finden, verwende ich www.fmstream.org.

Wenn Sie beabsichtigen, das Radio durch einfaches Ziehen des Stroms auszuschalten, ist es eine gute Idee, den Pi auf schreibgeschützt einzustellen, um eine Beschädigung der SD-Karte zu vermeiden. Das Skript read_only_setup.sh erledigt das für Sie und ermöglicht das Umschalten zwischen Read-Only und Read-Write durch Eingabe von "ro" und "rw" in einem Terminal.

Schritt 5: Alles zusammenfügen

Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen

Mit Stripboard habe ich einen kleinen Hut für die Picaxe und den Verstärker gemacht, um auf dem Pi zu sitzen.

Für die Stromversorgung habe ich eine der alten Anschlussbuchsen des Radios entfernt und eine neue DC-Barrel-Buchse eingebaut, an die ich ein Micro-USB-Kabel angelötet habe. Achten Sie darauf, die Polarität der Drähte sorgfältig zu überprüfen!

Schließen Sie schließlich alles an, versuchen Sie, die Kabel besser zu verlegen, schließen Sie den Deckel und genießen Sie Ihr Radio!

Empfohlen: