Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PIMORONI-Internetradio auf Raspberry Model A/B
#1
Jupp hatte im Nachbarthead mal einen erfolglosen Versuch unternommen, den Webinstaller des Pimoroni-Internetradiobausatzes
für einen alten Raspberry Model A bzw. B zu nutzen.

Hier nochmal der Post:

(21.09.2018, 11:51)saarfranzose schrieb: das Experiment mit dem Modell A verlief negativ. Das PhatBeat Modul hatte ich adaptiert. Der erste Teil der GPIO-Pins ist innerhalb der Modelle ja gleich. Die software lief hoch, im webbrowser sah alles normal aus. Die Aktualisierung der Sendernamen verlief aber sehr schleppend. Die Aussteuerungsanzeige des Modules flackerte manchmal auf, um dann wieder zu erlöschen. Als gäbe es ein Performance-Problem. Ein Ton war nicht zu hören.

   

Nun das konnte nicht gut gehen. Der PhatBEAT des Internetradiobausatzes ist nicht pinkompatibel und der Softwareinstaller richtet ALSA natürlich für den PhatBEAT ein.

Die Lösung: Wir nehmen das PhatBEAT-Modul vom Raspberry und nutzen den onBoard-DAC. Lassen wir ruhig den Softwareinstaller von Piromi alles installieren, wir bauen nachher die Lösung mit ein paar Zeilen um.

Nachdem also der Installer durchgelaufen ist, loggen wir uns mit dem Standardzugang (pi/raspberry) ein.

Danach geben wir in der Konsole folgende Zeilen ein:


Code:
sudo sed -i "/^#dtparam=audio=on$/ s|#||" /boot/config.txt
sudo reboot



Nach dem Neustart des Radios ist die alte Soundkarte für das System wieder erreichbar.
Über das Konfigurationstool "raspi-config" sagen wird dem Raspberry noch das er den 3.5mm Klinkenanschluß als Ausgang nutzen soll.
Wir geben also in die Konsole folgendes ein:

sudo raspi-config

wählen dann Menüpunkt "7.Advanced Options", "A4 Audio" und "1 Force 3.5mm ..." aus. Nach einem Neustart per "reboot" läuft das Radio dann ganz normal mit 3.5mm Klinke.  Hört man noch keinen Ton, dann ist eventuell die Lautstärke abgedreht. Die Lautstärke kann man mit dem Konsolentool "alsamixer" regeln. Vorher per F6-Taste die richtige Soundkarte auswählen und den PCM-Wert erhöhen. Normalerweise geht das über das PhatBEAT-Modul mit seinen Tasten, aber diese Tasten sind ja nun nicht vorhanden bzw. die Pins sind auf dem 26-Pin-Header nicht vorhanden auf dem der Phatbeat-Daemon lauscht. Man kann allerdings den Phatbeat-Daemon auch so modifizieren, das man mit normalen Tastern (gegen GND) an dem 26er Header die Programme umschalten und die Lausstärke verändern kann.

Dazu öffnet man folgende Dateien:

/usr/lib/python3/dist-packages/phatbeat/__init__.py
/usr/lib/python2.7/dist-packages/phatbeat/__init__.py



Dort gibt es eine Sektion die ungefähr so aussieht:

BTN_FASTFWD = ...
BTN_REWIND = ...
BTN_PLAYPAUSE  = ...
BTN_VOLUP = ...
BTN_VOLDN = ...
BTN_ONOFF = ...

Die Zahlen dahinter sind jeweils die GPIO-Nummern am Header an der der jeweilige Taster hängt. Einfach in beiden __init__.py stimmig abändern und nach einem Neustart des Radios (oder nur des PhatBEAT-Daemon "phatbeatd" aus /usr/bin/) reagiert dann das Radio auf die neue Tastaturbelegung direkt an den Pins des Raspberry.

Man könnte die Änderungen alle in ein Script schreiben und dann automatisiert laufen lassen, aber ich denke der Anfänger tut ganz gut daran sich mit der Software des Internetradios einmal direkt zu befassen und alle Änderungen händisch vorzunehmen. Das trainiert auch den Umgang mit Linux und seinen Werkzeugen. Wer will kann ja ein Shellscript dazu schreiben. Tongue


Ist nochetwas zu beachten? Naja, die alten ersten Raspberrys haben weniger Rechenleistung als der Zero und booten deshalb etwas langsamer (45-60 Sekunden aus dem Kaltstart heraus), aber man kann den Boot-Prozess noch etwas trimmen, den VU-Meterprozess killen (ein Phatbeat mit der Aussteueranzeige ist ja nicht gesteckt) und/oder den alten Pi mittels "raspi-config" etwas Overclocken - Medium ist zum Beispiel eine gute Einstellung. Insgesamt läuft der alte Pi aber immer noch ganz gut in dieser Aufgabe und die Tastaturreaktionen erfolgen bei der Lautstärke sofort. Die Programmumschaltung dauert 1-2 Sekunden.
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
#2
Hallo Bernhard,
ich hab auf dem A-Type alles nach Anleitung gemacht. Auch die sed-zeile ohne das Gleichheitszeichen. Ich kann den raspberry anpingen, der webserver über port 8080 ist aber nicht erreichbar. Ton ist keiner zu hören.
"bcm2835 ALSA" ist doch die richtige soundkartenauswahl?
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#3
die Ausgabe einer Testdatei nach dieser Anleitung funktioniert.


.jpg   test-sound.JPG (Größe: 20,42 KB / Downloads: 411)

also ist der Audiokanal okay.
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#4
Guten Abend Jupp. Wenn du die Testdatei abspielen kannst und der Ton der Testdatei über die Klinke kommt, dann ist in dem Bereich schon mal alles okay und wieder richtig umgestellt. Schaue mal mit dem Befehl htop nach ob ein Prozess wie vlc bzw. vlcd läuft. Das ist dann die Playersoftware die auch das Webinterface bietet.

Kille mal alle vlc Prozesse: sudo killall vlc
Danach vlc mal händisch starten: cvlc http://url_zu_einer_radiostation

Funktioniert das und es kommt Ton?

Wenn das nicht klappt, dann kann ich dir ein Image von meiner SD Karte zusenden.
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
#5
guten Morgen Bernhard,

die killall Anweisung hat gezeigt daß der VLC-Prozess gar nicht lief. Das händige Starten war erfolgreich, trotz der Fehlermeldungen.

   
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#6
der Effekt ist beim A+ und beim B+ der gleiche. Das händige Starten lässt zwar den Radiosender wiedergeben, aber das webinterface ist immer noch nicht erreichbar.
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#7
Hallo Jupp, 

für das Webinterface muss dem Befehl noch ein Argument übergeben werden (siehe mein Nachbarthread!), aber wir machen jetzt etwas anderes. Stoppe nochmal alle vlc Prozesse mit dem killall-Befehl und dann gehe nach /usr/bin und starte dort den vlc-Daemon von Pimoroni durch Eingabe von ./vlcd

Dieses Script soll bei Systemstart eigentlich ausgeführt werden, es sucht nach einer neuen Programmliste und startet vlc mit allen zusätzlichen Argumenten, damit auch der Fernzugriff über das Webinterface funktioniert. Intern sieht es so aus und ganz unten siehst Du welche zusätzliche Startargumente der vlc-Befehl hat.

Code:
#!/usr/bin/env bash

sudo mkdir -p /var/run/vlcd

if [ -n $(cat /etc/passwd | grep -w "pi:") ]; then
   sudo chown pi:pi /var/run/vlcd
   if [ -f /boot/playlist.m3u ]; then
       mkdir -p /home/pi/.config/vlc
       sudo mv -f /boot/playlist.m3u /home/pi/.config/vlc/
       sudo chmod -R pi:pi /home/pi/.config/vlc/
   fi
   if [ -f /home/pi/.config/vlc/playlist.m3u ]; then
       playlist="/home/pi/.config/vlc/playlist.m3u"
   else
       playlist="/etc/vlcd/default.m3u"
   fi
else
   playlist="/etc/vlcd/default.m3u"
fi

if [ -f /boot/wpa_supplicant.conf ]; then
  sudo mv -f /boot/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf
fi

volpref=$(grep "^alsa-gain" ~/.config/vlc/vlcrc)

if [ -z $volpref ]; then
   volpref="alsa-gain 0.065"
fi

/usr/bin/vlc \
--verbose 1 \
--file-logging \
--logfile /var/run/vlcd/vlcd.log \
--$volpref \
--audio-filter compressor,volnorm \
--norm-buff-size 10 \
--norm-max-level 80.0 \
--norm-max-level -3 \
--compressor-attack 50.0 \
--compressor-release 200.0 \
--compressor-ratio 20.0 \
--compressor-threshold 0.0 \
--compressor-rms-peak 0.0 \
--compressor-knee 1.0 \
--compressor-makeup-gain 0.0 \
--intf dummy \
--extraintf rc:http \
--rc-host 0.0.0.0:9294 --rc-fake-tty \
--http-host 0.0.0.0 --http-port 8080 --http-password raspberry \
--no-quiet \
--daemon \
--pidfile /var/run/vlcd/vlcd.pid \
$playlist
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
#8
da scheint was zu fehlen! Ich lasse grad die Pimoroni-Software neu drüberlaufen.


.jpg   IMG_7875.JPG (Größe: 60,87 KB / Downloads: 373)
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#9
Das scheint der Grund zu sein warum bei Dir kein vlcd direkt nach dem Systemstart läuft. Du musst dann aber auch nochmal alle Schritte oben durchlaufen, denn der Installer biegt deine Audioausgabe ja wieder auf den nicht vorhandenen PhatBEAT um.
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
#10
nach der Neuinstallation der pimoroni/vlc software und dem Aktivieren der Klinkenbuchse funktioniert es nun!
Evtl. hatte ich mir durch einen Syntaxfehler beim erstmaligen Umschalten mit der sed Anweisung irgendwas gelöscht oder verbogen (der Fehler mit dem Gleichheitszeichen). Ich hatte nach der recht komplizierten syntax gegoogelt und mit den parametern experimentiert.
Aktuell läuft jetzt der B+, jetzt werde ich noch auf den A+ wechseln.
Bernhard, du bist genial!
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#11
Raspberry A+ und B+ laufen beide gleich gut. Ich werde mich demnächst noch um die gpios kümmern, damit man direkt am Gerät bedienen kann.
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#12
Wunderbar Jupp. Im Prinzip kann man so wie oben beschrieben auch alle anderen Kleinrechner wie Banana Pi, alle anderen Raspberrys, Odroids usw. mit der Software von Pimoroni zum Internetradio umbauen. Eventuell werden hier und dort ein paar kleine Anpassungen nötig, aber grundsätzlich ist es kein Problem.

Ich empfehle übrigens dringend sich die Installerscripte für den Radiobausatz, den PhatBEAT und den PhatDAC, sowie die entsprechenden Github-Repositories mal auf
die Festplatte zu ziehen. Wer weis schon wie lange Pimoroni die Seiten am Leben hält oder das Projekt selbst besteht. So kann man später immer noch ein Radio einrichten oder die Software und Installer bequem daheim umbauen. Nur zur Sicherheit!
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
#13
das halte ich ebenso. Alles was ich an software, hardcopies und Anleitungen benötige sammle ich in einem Projektordner. Da pimoroni über einen weblink installiert wird weis ich in dem Fall allerdings nicht wie ich da speichern kann.
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#14
Hallo Jupp, hallo alle anderen.

Auf der Pimoroni-Seite steht ja folgender Befehl: curl https://get.pimoroni.com/vlcradio | bash

Das Kommandozeilentool curl lädt von der Adresse "https://get.pimoroni.com/vlcradio" ein Script und reicht es Mittels des Operators "|" an die Shell mit dem Namen "bash" weiter.

Ersetzen wir einfach den "|" Operator durch die Umleitung ">" und die Bash-Shell durch einen Dateinamen wie "installer_vlcradio.sh". Dadurch wird das Installerscript nicht ausgeführt sondern einfach in die Datei auf dem Dateisystem geschrieben.

curl https://get.pimoroni.com/vlcradio > installer_vlcradio.sh

Das Ganze würde ich dann auch mit dem Installer für den PhatBEAT machen.

curl -sS get.pimoroni.com/phatbeat > installer_phatbeat.sh

Sowie den PhatDAC wenn man hat (https://learn.pimoroni.com/tutorial/phat...ac-install), wobei hier ja nur die Treibereinstellung für den Hifi-Berry gesetzt werden (selbe Hardware).

Die Githubs findet man auf den Internetradios (nachdem der Installer durchgelaufen ist) selbst oder hier:

https://github.com/pimoroni/phat-beat
https://github.com/pimoroni/pivumeter
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
#15
den Anweisungen von Bernhard folgend hab ich nun die GPIO's auf den A+ angepasst. Alle 6 Steuerungspins lagen außerhalb der 26pol Steckerleiste des A+. Es waren aber nur noch 4 GPIOS frei. Deshalb lies ich PlayPause und OnOff unberücksichtigt. Statt Taster benutze ich meine attiny-Schaltung, als Wiedergabegerät das Ducretet C7 soundsystem per AUX-Eingang.


.jpg   umbelegung-gpios.JPG (Größe: 30,91 KB / Downloads: 328)

Zwei Varianten der Steuerung habe ich per Video dokumentiert.

Variante 1:
Lautstärkesteuerung mit Drehbewegung des Encoders, Vorwärtsschalten des Senders mit dem switch des Encoders



Variante 2:
Vorwärts/Rückwärtsschalten des Senders durch Drehbewegung des Encoders (keine Lautstärkeeinstellung)



Final werde ich eine dritte Variante einsetzen:
Vorwärts/Rückwärtsschalten des Senders durch Drehbewegung des Encoders, und statt der Lautstärkefunktion PLAYPAUSE und ONOFF auf die GPIO's legen, die dann über Taster bedienbar gemacht werden können. Die Lautstärkeeinstellung per hardware erachte ich als sinnlos weil sie sich über 100% einstellen läßt und dadurch die NF verzerrt.

Das wird dann so aussehen:


.jpg   umbelegung-gpios-2.JPG (Größe: 32,27 KB / Downloads: 330)

Für weitere Basteleien hab ich heute 2 Stück pHAT DAC bestellt.

PS: Upload der Videos läuft aktuell noch
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#16
Hallo Jupp,

ich habe heute mal testweise an einem vollständig installierten Raspi eine Aktivbox angeschlossen und über das Internet eine Radiostation gehört.

Allerdings hatte ich da so ein zwitschern mit drauf.

Kann man da was tun oder liegt das einfach an der Sounderzeugung des Raspi, so dass ich hier doch besser mit einem zusätzlichen D/A-Wandler bedient wäre?


Grüße

Martin
Zitieren
#17
Hallo Martin,

ich hab ein solches Zwitschern noch nicht vernommen. Möglich dass es mit deinem Netzteil zusammenhängt oder mit der Aktivbox. Manche Boxen haben miserable Class-D Verstärker.
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#18
(20.10.2018, 23:34)Radiobastler schrieb: Kann man da was tun oder liegt das einfach an der Sounderzeugung des Raspi, so dass ich hier doch besser mit einem zusätzlichen D/A-

Kann, muss aber nicht.  Bei der Onboard-"Karte" trickst der alte Pi, das fällt gerade bei größer eingestellten Lautstärken am Pi auf.
Abhilfe: Signalpegel am Pi mit zum Beispiel "alsamixer" runterdrehen und nach dem Ausgang stärker verstärken.

Eine deutlich bessere Soundausgabe liefert immer ein externer richtiger Digital-Analog-Wandler. Deshalb gibt es diese ja für die Raspberrys.

Auch möglich: Einstreuung durch einen externen Wifi-Dongle auf die Audioplatine. Nimm mal ein USB-Verlängerungskabel ( größer 50 cm ) und entferne den Dongle vom Rest der Schaltung.
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
#19
ich arbeite hier grad mit einem A-Modell. Sogar in Verbindung mit einer Class-D Endstufe. Das originale 2A Raspberry Netzteil versorgt das NF-Teil und hinter dem Poti-Schalter geht es über 2 Strippen zum Ladeelko des Raspberry. Der Ton ist glockensauber, obwohl die Konstruktion im Prinzip schon gewagt ist! Martin, die Störungen können nur von der Umgebung kommen.

   
Gruß,
Jupp
-----------------------------

Die Firnis der Zivilisation ist dünn. An manchen Tagen ist sie sogar durchsichtig und erlaubt einen Blick in die Unterwelt.
(Anpalagan)
Zitieren
#20
Hallo Jupp, Hallo Bernhard,

dann muss ich noch ein wenig probieren, ich hatte allerdings gestern nur sehr wenig Zeit.

Die Aktivboxen sind zwar 'Billigheimer', laufen aber an meinem Notebook (Kopfhöreranschluss) problemlos.


Grüße

Martin
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Ein minimales Internetradio für alte und neue (Android) Smartphones Bernhard45 15 3.498 24.05.2021, 19:58
Letzter Beitrag: reinersbg
  Ein minimales Internetradio für alte und neue Raspberrys Bernhard45 182 51.599 10.04.2021, 16:23
Letzter Beitrag: Bernhard45
  Adafruit Raspberry Pi Video Looper saarfranzose 10 1.129 08.03.2021, 15:27
Letzter Beitrag: pintel
  Meine Versuche mit Raspberry Pi zum Internetradio Georg_Weimar 10 3.330 23.12.2020, 16:34
Letzter Beitrag: Georg_Weimar
  JupI - Internetradio navi 8 1.628 26.07.2020, 21:49
Letzter Beitrag: navi

Gehe zu: