SkillAgentSearch skills...

IRadio

Ein Softwarebaukasten für den Aufbau/Umbau von Radios auf Raspberry Pi Basis

Install / Use

/learn @radiolab81/IRadio
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

iRadio

Ein Softwarebaukasten für den Aufbau neuer Radios oder dem Umbau alter Radios zu einem Digitalradio (Internet und/oder DAB+) auf Raspberry Pi Basis.

ITT Viola 350 wird zum Digialradio...

viola0 viola1 viola2

Ein Philips 634 "Digital" ...

oldie2 oldie2

Unterstützte Rechner:

Raspberry 1A(+), 1B(+), 2B, 3A+, 3B(+), 4 direkt mit Raspbian OS (https://downloads.raspberrypi.org/raspbian/images/). Das neue Raspberry Pi OS wird zur Zeit möglicherweise nicht vollständig out-of-box unterstützt. Das iRadio setzt eine funktionierende Audiokonfiguration auf dem Raspberry voraus!

Nachtrag 23.02.2023:

Das iRadio schlummert nun schon seit einigen Jahren auf dem Codestand des "Raspbian OS". Es gibt am Markt nach wie vor kaum Raspberrys zu kaufen (wenn dann Altware von Privat zu überteuerten Preisen, z.T. für 200+x Euro). Viele Softwareprojekte für den Pi, wie zum Beispiel wiringPi, sind mit Erscheinen des 4er Pi, der Chipkrise (und damit nicht lieferbaren Raspberrys) und den ständigen Änderungen am Raspbian-Nachfolger Raspberry Pi OS eingeschlafen oder die Weiterentwicklung läuft auf Sparflamme. All das ist keine gute Grundlage für unseren iRadio-Softwarebaukasten! Wir haben uns deshalb entschieden, in dieses Projekt keine weitere Arbeit hineinzustecken und uns anderen interessanteren Plattformen und Projekten zuzuwenden.
Es bleibt also (bis auf Weiteres, oder auch für immer) bei oben geschriebenen:

  • Wir unterstützen RPi 1,2,3,z.T. auch 4 auf der alten Raspbian OS Basis (https://downloads.raspberrypi.org/raspbian/images/)!

  • Alles was danach kommt, wird von uns nicht mehr getestet oder codeseitig voll unterstützt! Sie können zwar ein iRadio mit dem neuen Raspberry Pi OS aufbauen, aber bereits beim Installationsscript könnten Pakete wegen Namensänderung nicht gefunden werden. Das müssen Sie selbstständig erkennen und beheben! Sollte der Support der WiringPi oder BCM2835 nicht mehr vollständig gegeben sein, müssen Sie selbst in der Lage sein das zu erkennen und Code, der auf die GPIOs zugreift (gpiod, displayd, externe Tuner) modifizieren können! Sie müssen ggf. selbstständig Code von der einen Lib auf die andere umstellen können. Da wir im Beispielcode zeigen, wie die Nutzung beider Libs erfolgt, ist das für Sie möglich, Sie müssen nur (ohne unsere weitere Unterstützung) wollen! Und natürlich: Sie können jederzeit ein Internetradio mit dem alten Raspbian OS (zum Beispiel mit der iRL-Distribution) aufbauen, einem OS auf dem dieses iRadio gegründet und ausgiebig in allen Funktionen getestet wurde.

Wenn Sie ein Internetradio aufbauen wollen, aber gerade nicht an einen Raspberry Pi kommen, ist vielleicht unsere Alternative iRadioMini für den günstigen und jederzeit lieferbaren ESP32 eine Alternative: https://github.com/radiolab81/iRadioMini

Sie interessieren sich für Software-Defined-Radios? https://github.com/radiolab81/SDR_ESP32 Auch das kann der ESP32, bei Ihnen vielleicht sogar in Verbindung mit dem iRadioMini? ;-)

Das Team vom iRadio bedankt sich für die jahrelange Unterstützung bei unzähligen Testern und natürlich Anwendern! Ohne Euch wäre die Arbeit nicht zu stemmen gewesen und hätte auch keinen Spaß gemacht! Es sind bei Euch da draußen dermaßen "geile" Radios entstanden, das hätte die stocksteife Radioindustrie so nie hinbekommen! Immerhin hat sich dadurch dieses Projekt erfolgreich hierfür qualifiziert und wird als Zeitzeugnis uns lange überleben: https://archiveprogram.github.com/arctic-vault/

Und bevor wir unsere Arbeit hieran nun auch komplett aufs Eis legen, das Licht ausschalten und alle im Team wieder auseinandergehen, um in der Welt da draußen neue Projekte zu beginnen, nochmals ein DANKE - DANKE - DANKE !!!

Tschüss und Ciao, das iRadio-Team.


iRL - iRadio on Linux, eine Linuxdistribution mit vorinstallierten und vorkonfiguriertem iRadio. Als Image für eine SD-Karte hier downloadbar: https://github.com/radiolab81/iRL


Steuerung des iRadio durch:

Programmumschaltung / Lautstärkeänderung mit (Micro-)Taster, Inkrementaldrehgeber, Drehimpulsgeber, fernsteuerbar über HTML-Bedienoberfläche http://IP_des_Radios:8080 oder über TCP/IP Sockets.

Die Steuerung wird als Daemon/Prozess "gpiod" realisiert.

Unterstützte Displays für Nutzerschnittstelle:

direkt über Lowlevel-GPIO (eigener Displaydaemon "displayd"):

  • I²C LCD Module 16x2 und 20x4
  • SSD1306 OLEDs
  • ST7735 Displays
  • 8bit Parallel ILI9325
  • 8bit Parallel ILI9327
  • 8bit Parallel ILI9341
  • 8bit Parallel ILI9342
  • 8bit Parallel ILI9481
  • 8bit Parallel SPFD5408
  • 8bit Parallel S6D1121
  • 8bit Parallel R61505U
  • 16bit Parallel ILI9341
  • PWM-Servo getriebene Analogskale zum Beispiel für Programmplatz und Lautstärke
  • eInk-Displays verschiedener Größen (1.5inch - 7.5inch) in Monochrom oder Tri-Color

Highlevel über Framebuffer/X11 (Displaydaemon oder Skalensimulation)

  • alle HDMI Displays (auch LVDS über zusätzlichen HDMI-Controller)
  • Röhrenbildschirme über FBAS Ausgang des Raspberry (auch einige andere Kleinrechner mit FBAS Ausgang)
  • ST7735/7789
  • HX8340
  • HX8353
  • HX8347
  • MI0283QT
  • BD663474
  • ILI9320
  • ILI9325
  • ILI9340
  • ILI9341
  • ILI9481
  • ILI9486
  • SSD1306
  • AGM1264K
  • UC1701
  • RA8875
  • SSD1289
  • SSD1331
  • SSD1351
  • S6D1121
  • S6D02A1
  • PCD8544
  • TLS8204
  • UPD161704

ACHTUNG: fbtft (Linux Framebuffer drivers for small TFT LCD display modules) zur Zeit nur bis Kernelversion 5.3, siehe https://github.com/notro/fbtft/wiki , benötigen Sie diese Art der Displayansteuerung, nehmen Sie Rasbian Versionen vor 02/2020 als Betriebssystemgrundlage https://downloads.raspberrypi.org/raspbian/images/ oder Linuxdistributionen mit einem Kernel < V5.4.

Zusatzfunktion:

Bei Raspberrys mit integrierter Bluetooth-Konnektivität, kann das iRadio als Bluetooth-Funklautsprecher arbeiten. Medieninhalte können über Bluetooth direkt zum iRadio gestreamt werden. Die Wiedergabe des Internetradioprogramms wird bei Verbindungsaufnahme über Bluetooth automatisch pausiert.

Installation:

In /home/pi wird das Repository geklont.

cd /home/pi/

git clone https://github.com/radiolab81/iRadio

Wird das Repository als zip-Datei heruntergeladen, dann wird das heruntergeladene zip-Archiv mit unzip in /home/pi entpackt, so dass es in /home/pi/iRadio zu liegen kommt.

Die Basisinstallation des iRadios erfolgt durch Aufruf von install.sh mit Root-Rechten. Zur Basisinstallation wird eine Internetverbindung benötigt, da noch weitere Programmpakete installiert werden müssen.

cd /home/pi/iRadio

sudo ./install.sh

Nach dem Durchlauf des Installers und anschließendem Reboot des Raspberry, ist die Basisinstallation des Internetradios abgeschlossen. Zu diesem Zeitpunkt wird bereits die erste Internetradiostation der inkludierten Standardsenderliste abgespielt. Die Programmumschaltung kann durch Taster gegen Masse an den Pins 11 (GPIO17) und 12 (GPIO18) erfolgen.

Die Änderung der Pinbelegung oder Erweiterung der Tastensteuerung kann durch editieren von /home/pi/iRadio/gpiod.c erfolgen. Die Änderungen werden durch folgende Befehle übernommen.

cd /home/pi/iRadio

sudo ./install_Tastensteuerung.sh

sudo reboot

Anstelle von Tastern, kann auch ein Drehimpulsgeber zur Programmumschaltung genutzt werden.

rotary

Hierzu muss ein neuer Steuerdaemon (gpiod) gebaut werden. Dies geht automatisch durch folgende Befehle.

cd /home/pi/iRadio

sudo ./install_Drehencoder.sh

sudo reboot

Nach dem Reboot des Raspberry kann man die Internetradioprogramme durch einen Drehimpulsgeber an den Pins 11 (GPIO17) und 12 (GPIO18) umschalten.

Eine Änderung der Pinbelegung oder Erweiterung der Drehimpulsgebersteuerung (zum Beispiel für die Verstellung der Lautstärke über einen zweiten Drehimpulsgeber) kann durch editieren von /home/pi/iRadio/rotary.c erreicht werden. Die Änderungen werden durch folgende Befehle übernommen.

cd /home/pi/iRadio

sudo ./install_Drehencoder.sh

sudo reboot

An das iRadio kann man verschiedene Displays anschließen (siehe oben). Diese dienen u.a. zur Darstellung des Sendernamens der aktuell eingestellten Radiostation oder des aktuell gespielten Titels.

lcd

Die Ansteuerung des Displays übernimmt der Prozess displayd im iRadio. Um einen solchen displayd für ein LCD-Modul zu bauen, geben wir folgende Befehle ein.

cd /home/pi/iRadio

sudo ./install_I2CDisplay20x4.sh

sudo reboot

Ist nun ein LCD-Modul (mit Adresse 0x27) am I2C-Bus des Raspberry angeschlossen, sollte sich nach dem Neustart oben gezeigtes Szenario darstellen.

Sollte Ihr LCD-Modul eine andere I2C-Adresse besitzen oder ein anderes Format haben, so können Sie Anpassungen in der Datei /home/pi/iRadio/display/lcd/displayd.cpp vornehmen.

Nach einem erneuten Aufruf von sudo ./install_I2CDisplay20x4.sh und einem Neustart des Raspberry sind die Änderungen aktiv.

Weitere Displaytypen werden im iRadio direkt unterstützt, für Sie gibt es bereits unterschiedliche Installer in /home/pi/iRadio .

Hier ein SSD1306-OLED:

ssd1306

oder ein ST7335-TFT:

![st7735](https://github.com/radiolab81/

Related Skills

View on GitHub
GitHub Stars30
CategoryDevelopment
Updated1mo ago
Forks5

Languages

C++

Security Score

80/100

Audited on Feb 16, 2026

No findings