Software

Kommen wir zur Software. Ist etwas schwer zu beschreiben was alles gemacht wurde. Aber fangen wir erstmal mit der allgemeinen Bedienung an.

Grundsätzlich ist es so, dass nach dem Start des Raspberry Pi das Radio-Skript automatisch gestartet wird. Dabei wird zuerst eine Art Standby-Modus aktiviert, d.h. die rote LED leuchtet, WLAN, Display und Verstärker sind abgeschaltet. Wird die Ein/Aus-Taste gedrückt werden die LEDs getauscht, das Display eingeschaltet und das WLAN aktiviert. Danach wird ein Stream gestartet, der Verstärker eingeschaltet und die Lautstärke blendet langsam auf. Auf dem Display wird dann Sendername, Titel und Uhrzeit angezeigt. Über das Poti am Verstärker kann dann die endgültige Lautstärke eingestellt werden. Mit den Tasten für die Senderwechsel wird die Lautstärke auf 0 geblendet, dann wird der Stream gewechselt und die Lautstärke blendet wieder auf. Als letztes kann wieder die Ein/Aus-Taste gedrückt werden, die LEDs werden getauscht, Lautstärke wird auf 0 geblendet, Verstärker, WLAN und Display abgeschaltet. Standby ist wieder erreicht. All diese Aufgaben erfüllt ein Python-Skript.

Wie bereits beschrieben gibt es ein paar zusätzliche Bibliotheken, die für die Software verwendet wurden. Für das Display wurde die Adafruit_CharLCD verwendet. Diese musste noch etwas angepasst werden. Durch das ein- und ausschalten der Versorgungsspannung des LCD muss auch intern die Klasse komplett gelöscht bzw. neu initialisiert werden. Ohne Desktruktor hatten wir aber Probleme mit dem Display. Den haben wir in der Klasse ergänzt. Für die Ein- und Ausgängen am GPIO des Raspberry wurde die RPi.GPIO verwendet. Diese funktioniert wunderbar, hält auch ein paar schöne Spielereien wie PWM bereit, wird z.B. für einen einfachen Blinktakt verwendet. Das eigentliche Radio-Skript wurde anfänglich an das Skript von Daniel Schwarz (https://blackit.eu/) angelehnt. Aus diesem Skript entstanden mehrere Klassen, ergänzt durch die gewünschten Zusatzfunktionen wie auf- und abblenden der Lautstärke, die Displaysteuerung wurde erweitert, Verstärker und WLAN Steuerung eingebaut. Aber es funktioniert einwandfrei.

Eine Besonderheit ist noch die Senderliste. Überlegt haben wir uns eine Senderliste in einer einfachen csv-Datei. Damit diese einfach zu ändern ist habe ich auf dem Raspberry noch Apache und php installiert und eine einfache Oberfläche geschrieben um Sender hinzuzufügen und zu löschen. Die csv wird bei jedem Start des Radios neu eingelesen.

Radio Browser-150x150 in Software


Kommentar schreiben

Deine Email-Adresse wird nicht veröffentlicht

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du dich damit einverstanden. Desweiteren verwendet diese Website den Open Source Webanalysedienst Matomo. Die Datenerfassung kann über das Impressum unter dem Abschnitt Matomo deaktiviert werden.

Schließen