Themabewertung:
  • 3 Bewertung(en) - 3.67 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ein minimales Internetradio für alte und neue Raspberrys
Hallo,

wegen Nachfrage wurde jetzt noch eine Art Mediaplayerfunktion zum iRadio hinzugefügt.

   




Man konnte ja schon über eine playlist.m3u mit fixen Dateinnamen eine solche Mediaplayerfunktion in Ansätzen realisieren, aber dadurch wurde die Senderliste mit Radio/Fernsehstationen überschrieben bzw. musste danach neu eingespielt werden. Mit dem mediaplayerd ist das jetzt anders. Er schaut zyklisch nach ob ein USB-Stick gesteckt wurde und ob darauf Mediendateien (Suche nach frei wählbaren Dateiendungen) abgespeichert sind. Trifft er auf solche, pausiert er das Internetradio/Internetfernsehen und spielt mit vlc die Dateien auf dem Stick ab. Zieht man den Stick während der Wiedergabe wieder raus, geht das iRadio automatisch wieder in den Internetradio/Internetfernseh-Betrieb über. Ein umständliches Schreiben einer playlist.m3u oder das Wiedereinspielen einer solchen Datei fällt also weg.

Somit wird eine Cassetten- oder Videorekordersimulation mit dem iRadio noch realistischer. Auch eine iTV-Settopbox wird somit schnell zu einem Medienplayer gemacht.
Eine Aufnahmefunktion für Radio/TV wäre nun noch ein logischer Schritt? Na mal sehen. Big Grin

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
(25.10.2018, 13:28)Bernhard45 schrieb: Hallo, 

ich habe jetzt mal ein Installationspaket zusammengestellt das uns von den "Lasten" des Pimoroni-Installers befreit und auch auf neuen Kerneln und Raspbian-Versionen performanter laufen sollte. Dies war notwendig, da sich sehr alte Raspberrys an den Python-Sachen und dem VU-Meterplugin von Pimoroni "verschlucken".

Das Installationsarchiv habe ich angeheftet:    Update 26.10.2018: normale Konsole wieder erreichbar

Es enthält den Ordner "iRadio" der bitte bei allen Versionen nach der Extraktion im Homeverzeichnis des Default-Nutzers "pi", also unter /home/pi zu liegen kommt. Das Projektverzeichnis ist also /home/pi/iRadio

Folgende Sachen sind in iRadio vorhanden:



- der Ordner bcm2835-xxx : dieser Ordner erhält eine Bibliothek mit der wir die Anschlüsse des Raspberrys abfragen können 
- default.m3u : eine Standardplaylist für vlc
- gpiod : einen kleinen Daemon den ich für die Abfrage von Tastern und zur Ansteuerung des vlc-Prozesses geschrieben habe
- gpiod.c : der C-Quellcode für den gpiod-Daemonen. Hier kann der Nutzer selbst die Pins für Taster hinzufuegen oder eine Drehencoderabfrage realisieren
- install.sh : Das komplette Installerscript für ein minimales Internetradio auf vlc-Basis
- rc.local : Mit dieser Datei werden alle nötigen Prozesse beim Systemstart gestartet
- vlcd : das Script das dafür sorgt, das vlc als Deamon im Hintergrund läuft, was nach neuen WiFi-Zugangsdaten oder Senderlisten auf /boot schaut 


INSTALLATION:
1. Wir kopieren ein nacktes Raspbian-Image auf SD-Karte
2. Wir booten den Pi mit dieser SD-Karte und legen mit raspi-config fest wo der Sound ausgegeben werden soll (hdmi/3.5 Klinke), gleichzeitig aktivieren
wir mit dem raspi-config Tool einen SSH-Zugang damit wir keinen Monitor/Tastatur an den Pi hängen müssen
3. Wir laden uns oben die zip-Datei runter und kopieren des so auf den Pi, das das Verzeichnis iRadio unter /home/pi zu liegen kommt. 
4. Nach dem das Projekt also unter /home/pi/iRadio zuliegen kommt, öffnen wir eine Konsole und wechseln in das Verzeichnis "iRadio"
5. Wir rufen den Installer mit: sudo ./install.sh auf
6. Nachdem der Installer durchgelaufen ist, starten wir den Pi mit sudo reboot neu.

Das minimale Internetradio ist damit installiert, auf /boot können wie bei Pimoroni Wifi-Daten und eine Playlist abgelegt werden. Das Radio lauscht auf den in gpiod.c festgelegten Pins auf Tasteneingaben. Wird eine solche Tasteneingabe (Taster gegen Masse wie auf dem Pimoronibausatz) entdeckt, dann schaltet das Programm vlc per nc (Netcat) über das Netzwerkinterface um.

Code:
// gpiod.c
//
// Beispielprogramm fuer bcm2835 lib
// Schaltet per GPIO-Taster nach Masse einen laufenden VLC-Prozess (next, prev, ...)
//
// After installing bcm2835, you can build this
// with something like:
// gcc  gpiod.c -o gpiod -lbcm2835
// sudo ./gpiod
//
// Author: Bernhard45 (mbernhard1945@gmail.com)

#include <bcm2835.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

//#define DEBUG

// Tasteranschluesse
#define PIN_PRG_HOCH RPI_GPIO_P1_11
#define PIN_PRG_RUNTER RPI_GPIO_P1_12
#define PIN_PRG_HALT RPI_GPIO_P1_08
#define PIN_PRG_WEITER RPI_GPIO_P1_10

int main(int argc, char **argv)
{
   if (!bcm2835_init())
return 1;

   // Pin als Eingang setzen , mit Pull-Up
   bcm2835_gpio_fsel(PIN_PRG_HOCH, BCM2835_GPIO_FSEL_INPT);
   bcm2835_gpio_set_pud(PIN_PRG_HOCH,BCM2835_GPIO_PUD_UP);

   bcm2835_gpio_fsel(PIN_PRG_RUNTER, BCM2835_GPIO_FSEL_INPT);
   bcm2835_gpio_set_pud(PIN_PRG_RUNTER,BCM2835_GPIO_PUD_UP);

   bcm2835_gpio_fsel(PIN_PRG_HALT, BCM2835_GPIO_FSEL_INPT);
   bcm2835_gpio_set_pud(PIN_PRG_HALT,BCM2835_GPIO_PUD_UP);

   bcm2835_gpio_fsel(PIN_PRG_WEITER, BCM2835_GPIO_FSEL_INPT);
   bcm2835_gpio_set_pud(PIN_PRG_WEITER,BCM2835_GPIO_PUD_UP);

   // Endlosschleife, da Daemonbetrieb
   while (1)
   {
// Zustand am Pin einlesen
uint8_t val_prg_hoch   = bcm2835_gpio_lev(PIN_PRG_HOCH);
uint8_t val_prg_runter = bcm2835_gpio_lev(PIN_PRG_RUNTER);
       uint8_t val_prg_halt   = bcm2835_gpio_lev(PIN_PRG_HALT);
       uint8_t val_prg_weiter = bcm2835_gpio_lev(PIN_PRG_WEITER);

#ifdef DEBUG
printf("Tastenwert PIN_HOCH: %d\n", val_prg_hoch);
printf("Tastenwert PIN_RUNTER: %d\n", val_prg_runter);
printf("Tastenwert PIN_HALT: %d\n", val_prg_halt);
printf("Tastenwert PIN_WEITER: %d\n", val_prg_weiter);
#endif

if (val_prg_hoch == 0)
  system("echo \"next\" | nc 127.0.0.1 9294 -N");

       if (val_prg_runter == 0)
               system("echo \"prev\" | nc 127.0.0.1 9294 -N");

       if (val_prg_halt == 0)
               system("echo \"stop\" | nc 127.0.0.1 9294 -N");

       if (val_prg_weiter == 0)
               system("echo \"play\" | nc 127.0.0.1 9294 -N");

delay(500);
   }

   return 0;
}


Dadurch das wir hier C und kein Python benutzen, das VU-Meterplugin von Pimoroni nicht läuft und auch das Logging von vlc deaktiviert ist, haben wir im Spielbetrieb nur noch eine relativ geringe Systemauslastung.



Viel Spaß beim Bauen von Internetradios
Bernhard
Salue, nur eine kurze Frage: Ihr nehmt das Rspian Lite?
Zitieren
Hallo,

ACHTUNG: Dein zitierter Post ist von 2018, auch das darin verlinkte iRadio-Paket! Das ist längst nicht mehr der aktuelle Stand, dennoch sehe ich das da immer noch Downloads von gemacht werden. Das aktuelle iRadio gibt es nur hier: https://github.com/BM45/iRadio

Zum Raspbian Lite oder Raspberry Pi OS Lite: Wenn das geplante Radio keine Skalensimulation oder GUI benötigt, sondern nur ein LCD-Display, OLED, ... dann ist das genau die richtige Wahl. Das Radio bootet auch schneller wenn nicht erst die grafische Umgebung gestartet werden muss! Natürlich kann man die fetteren "with desktop" und "with desktop and recommended software" Versionen nehmen, sollte dann aber dringend das grafische System abschalten bzw. auf boot into console umschalten.

Also kurzum, meine Empfehlung: Lite für Radios ohne Skalensimulation, die größeren OSes nur wenn man Skalensimulation oder GUI benötigt.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo zusammen,


heute hat eine weitere kleine (gewünschte) neue Funktion den Weg ins iRadio gefunden.

   

Die Sprachausgabe kann auch dynamisch mit verschiedenen Sprach(dialekten) genutzt werden.


Fragen hierzu oder generell können im FAQ vom iRadio https://radio-bastler.de/forum/showthread.php?tid=12049 gestellt werden.


Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hier gleich die Antwort für Alle auf eine Frage zum letzten Update: https://radio-bastler.de/forum/showthrea...#pid210335

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Unser iRadio-Projekt auf Eis gelegt!

Nein wir läuten nicht das Ende vom iRadio ein (so hoffe ich), hier geht es um den Erhalt von Softwareprojekten für die Nachwelt. 
Unser iRadio-Projekt (bzw. dessen Repository) wurde von github 2020 als Kopie regelrecht auf Eis gelegt, hier lest Ihr mehr davon:

https://archiveprogram.github.com/
https://archiveprogram.github.com/arctic-vault/



Auch wie das technisch erfolgte und wie man in 1000 Jahren wieder an die Daten kommen könnte wird hier beschrieben:

https://github.com/github/archive-progra...UIDE_de.md


Mal sehen ob sich in 10 bis 15 Generationen noch jemand um unsere Radiobasteleien kümmern wird. Wink
Wahrscheinlich dürfte der Code dann nur in einer virtuellen Umgebung lauffähig sein oder man wird sich wundern mit was für einen rückständigen Mist wir heute und hier unsere Zeit verschwendet haben.  ...


Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo an alle und besonders natürlich an Bernhard, der diese wundervolle Software erschaffen hat. Vielen Dank dafür!!!
Mir ist der recht gut erhaltene Derby Commander meiner verstorbenen Schwiegereltern in die Hände gefallen und ich dachte, es würde meiner Frau gefallen, ihn weiter zu benutzen. Vorausgesetzt er würde heutigen Ansprüchen genügen. Dadurch bin ich auf diesen Thread gestoßen und bin sehr begeistert über die Möglichkeiten, die sich mir auftun.
Das Derbygehäuse ist neu lackiert, die Chromknöpfe poliert, eine neue Antenne liegt auf dem Tisch und ein alter Raspberry Zero lag auch noch rum.
Ein erster Test mit dem verfügbaren iRadio Image ließ den Zero recht behäbig werden. Mit dem aktuellen Buster Lite läuft meine Playlist aber recht flott. Ich bin soweit zufrieden.
Um den Lautsprecher des Derby ansteuern zu können, habe ich einen Pimoroni 3W Amp angeschafft. Das sollte ausreichend sein. Nun besitzt dieses recht preisgünstige Teil sogar noch ein Farb-LCD onboard, welches ich auch gerne nutzen würde. Ich habe den Start dieses Threads so verstanden, dass die wohl  vorher benutzte Software von Pimoroni zu viele Ressourcen  benötigen würde und habe nun Skrupel, diese (https://github.com/pimoroni/pirate-audio) für mein Board zu benutzten. Das Display benötigt einen ST7789 Treiber, der im iRadio (noch) nicht vorhanden ist.
Jetzt meine Fragen:
Benutzt vielleicht jemand schon diesen Pimoroni mit aktivem LCD?
Kann ich die Treiber von Pimoroni einfach installieren und läuft dann iRadio damit?

Vielen Dank schon mal,
Kaloschke
Zitieren
Hallo Kalosche, willkommen im Forum,

der Thread hier ist eigentlich für die Ankündigungen von "Neuerungen" im iRadio.
Technische Fragen, Probleme oder gemeinsame Programmierlösungen (wie für dein Radio) behandeln wir im FAQ für iRadio-Thread, also hier: https://radio-bastler.de/forum/showthrea...#pid213988

Klicke auf den Link, da schreibe ich gleich etwas zu deinem Post.

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo,

als allgemeiner Hinweis für die Leute, die ein iRadio mit einem 04/2022 - Release von Raspberry Pi OS aufbauen wollen:

https://downloads.raspberrypi.org/raspio..._notes.txt


Zitat:2022-04-04:
  * Default "pi" user has been removed; the first-boot wizard enforces the creation of a new user account
...


Legt also vor dem Auschecken des iRadios bitte einen Nutzer "pi" an!
Legacy- und Nutzer älterer Releases brauchen das natürlich nicht, denn dort gibt es den Nutzer ja weiterhin standardmäßig.

Danke und Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Danke, Bernhard!
Gruß,
Ivan
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Neue Erfahrungen mit FL2K und AM Stereo/Mono Semir 2 257 20.03.2024, 22:40
Letzter Beitrag: Semir
  Huth E72 Internetradio mit ESP32 saarfranzose 10 1.785 12.05.2023, 14:49
Letzter Beitrag: saarfranzose
  Ein Internetradio Bausatz von PIMORONI Bernhard45 200 81.564 06.06.2022, 19:17
Letzter Beitrag: Reparateur
  Stereo Decoder fuer alte Radios- Export radio-volker 4 1.396 08.03.2022, 19:30
Letzter Beitrag: radio-volker
  Dementia III ESP32 Internetradio mit Simulation saarfranzose 9 2.806 21.01.2022, 23:14
Letzter Beitrag: saarfranzose

Gehe zu: