Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fragen und Antworten zum Nachbau - ESP8266/ESP32 Webradio
Hallo Bernd (klammi),

wie per PN besprochen hier die Erweiterung deines Arduinoprogramms für den ESP32. Damit werden jetzt auch Programme mit abweichender Portnummer empfangen. Ggf. sind die I2C Adressen des Displays wieder anzupassen bzw. dein RTC-Code ist noch zu mergen.


.zip   ESP32_Webradio.zip (Größe: 2,99 KB / Downloads: 112)


Die eigentliche Entwicklung läuft zwar immer noch mit dem gcc-Compiler, aber unter der Eclipse-IDE weiter. Den alten Rattenschwanz, die Arduino-IDE, hatte ich seit einiger Zeit abgeschnitten. Sie bietet für größere Projekte einfach nicht die passenden Werkzeuge. Allerdings ist für "ahnungslose" Nachbauer die Einstiegshürde mit der Arduino-IDE um ein Vielfaches geringer. Auf der anderen Seite, betrachte ich die Downloadzahlen von weiter oben - 3, einmal davon ein Test meinerseits - ist ein paralleles Arduino-Projekt zur Hauptfirmware einfach nicht gerechtfertigt, deshalb belasse ich es hier bei dem kleinen Testprogramm. Es steht Dir Bernd, aber auch allen anderen Nutzern frei, das Testprogramm nach eigenen Bedürfnissen zu einer kompletten Firmware für ein Internetradio auszubauen. Die eigentliche Entwicklung der doch schon komplexen Firmware geht nach wie vor in Eclipse weiter.
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
(26.09.2017, 11:22)Bernhard45 schrieb: Die eigentliche Entwicklung läuft zwar immer noch mit dem gcc-Compiler, aber unter der Eclipse-IDE weiter. Den alten Rattenschwanz, die Arduino-IDE, hatte ich seit einiger Zeit abgeschnitten. Sie bietet für größere Projekte einfach nicht die passenden Werkzeuge. Allerdings ist für "ahnungslose" Nachbauer die Einstiegshürde mit der Arduino-IDE um ein Vielfaches geringer. Auf der anderen Seite, betrachte ich die Downloadzahlen von weiter oben - 3, einmal davon ein Test meinerseits - ist ein paralleles Arduino-Projekt zur Hauptfirmware einfach nicht gerechtfertigt, deshalb belasse ich es hier bei dem kleinen Testprogramm.

Da sich das Entwicklerteam jetzt erneut vergrößert hat, können wir mit Hilfe von unserer Johanna aus dem RBF und Ed eine erweiterte Firmware für ein Webradio anbieten, das rein auf einem Arduino-Sketch arbeitet und somit anfängerfreundlich ist. Als Grundlage dient die Portierung für den ESP8266 von Ed Smallenburg.
 
Wie immer ist die Sache Pinkompatibel zu unserer Eclipse-Entwicklung, einen ersten Test der "Arduino IDE"-Firmware habe ich gerade gemacht. Läuft super:


.jpg   01.jpg (Größe: 113,09 KB / Downloads: 757)

Die Firmware nutzt den VS1053 als Hardware-Codec (jetzt auch ohne Lötbrücke - siehe Problem weiter oben) und bietet eine Steuerung wahlweise per Drucktaster, eines Drehencoders oder per Webinterface als Fernbedienung an (z.Bsp. auf dem Smartphone). Neue Sender können über das radioeigene Webinterface hinzugefügt werden! Frontier Silicon ->schneidet Euch mal eine Scheibe ab, Ihr .... Tongue


.jpg   Webinterface2.jpg (Größe: 66,6 KB / Downloads: 757)

Playlistformate werden ebenso unterstützt wie auch eine Wiedergabe von NAS-Systemen. Neben dem Sendernamen wird auch der aktuell gespielte Titel angezeigt. Als Displays können TFT_ILI9163C-kompatible TFTs und jetzt auch SSD1306-OLEDs genutzt werden.

Wurde die Firmware erstmalig per USB-Kabel in den ESP8266 geflashed, können weitere Updates nun direkt per WiFi aus der Arduino IDE heraus, also ohne USB-Kabel erfolgen (ist noch Experimentell, läuft aber bei mir tadellos). Das laufende Webradio wird von der Arduino IDE erkannt und dort als Port angezeigt. Ein Klick auf <Hochladen> aktualisiert die Firmware dann per Luftschnittstelle. Natürlich nur aus dem eigenen WLAN heraus! Smiley53


.jpg   OTA_Update.jpg (Größe: 60,6 KB / Downloads: 759)

Mal sehen wie ich die Projektsourcen hier ins Forum hieven kann ohne das sich die Forensoftware "verschluckt".

Eine Erweiterung dieses Sketchs auf den ESP32 ist auch geplant.


Viele Grüße
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
Brauchst du nicht Bernhard. Wenn wir in der Beta sind schiebe ich das komplette Projekt zu github. Ich rufe dich vorher noch an.

LG
Zitieren
Danke Johanna. Ich denke das läuft alles sehr stabil. Auch die Android-App (https://play.google.com/store/apps/detai....ESP_Radio) von Sander Jochems läuft auf allen meinen Tablets und Smartphones fehlerfrei mit der Firmware. Das können wir dann so auch für die Eclipse-Linie der Firmware übernehmen.

   

Ich habe den SSD1306-Treiber noch etwas optimiert und eine optionale Anzeige für Feldstärke, Pufferfüllstand und Lautstärke hinzugefügt. Ich bin auch der Meinung das längere Sendernamen und Musiktitel die über den "Displayrahmen" hinausgehen nicht abgeschnitten, sondern als Laufschrift von rechts nach links durch das Display wandern sollen.  Der 10Hz - Systemticker könnte dazu nocheinmal runtergeteilt werden falls die Laufschrift sich zu schnell bewegt.



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 Johanna,

ich habe jetzt die HD44780-Unterstützung für 16x2 und 20x4- LCDs aus dem Eclipse-Projekt in den Arduino-Fork von Ed eingefügt.

   

Auch die Multiroomunterstützung und Intercom-Funktion mit dem VS1053 habe ich "zurück-portiert" und in den Arduino-Zweig eingefügt. Die Quellen liegen auf meinem CVS. Kannst Du sie bitte zu Github schieben? Vielen Dank.

Ich habe es auch endlich geschaft meinen alten Plotter über einen ESP8266 an die "Neuzeit" anzuschließen. Damit kann ich jetzt bequem mit Eagle eine Platine im Arbeitszimmer designen und über WiFi an den Plotter in der Werkstatt schicken, der 286er Steuerrechner des Plotters hat damit nach fast 30 Jahren ausgedient. RIP, adieu DOS.
Eine kleines WiFi-Radiochen mit Fernbedienung über eine Android-App war das erste Testprojekt. Da ich heute auch einen Stapel von DAB+ Tunern in der Post hatte, kann ich jetzt eine komplette WiFi-/DAB-Nachrüstplatine für alte Radios designen. Ein kompletter Neubau eines DAB/WiFi-Radios steht auch schon an.

   

Viele Bastlergrüße an Dich (und natürlich an die Mitleser).
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
Ist erledigt. Für eine DAB Nachrüstung gibt es das GVM140H01-Modul von http://www.strey.biz/de/produkte/gvm140x/

Kostet so ungefähr 20-25 Euro pro Stück.

Dort gibt es auch einen kompletten Umrüstsatz für Röhrenradios. http://www.strey.biz/de/blog/20151207-da...ruestsatz/

LG Johanna
Zitieren
Ja das sind ungefähr die Preise die ich für meine DAB-Module auch zahle. Den Umrüstsatz kenne ich, der hat aber einen Schönheitsfehler. Wenn man aktuell in München wohnt oder auch bei mir, bekommt man ich mit normaler Antenne fast 60 Sender rein, mit einer Hochantenne können es auch schon einmal über 100 werden. Bald werden es mit dem 2. Bundesmux noch mehr sein. Wohnt man in Grenzregionen sind es noch mehr Sender. Die alle auf ein Mittelwellenband zu quetschen macht kein Spaß. Auch eine Verteilung auf ein 20 MHz breites UKW-Band ist eher suboptimal. Man sollte hier über einen Webbrowser eine Favoritenliste definieren und ausgesuchte Sender gezielt auf bestimmte Frequenzen setzen können. Software- und Hardwaretechnisch ist das kein Hexenwerk, habe ich schon gemacht.
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
(05.08.2017, 21:14)Bernhard45 schrieb: Hallo Bernd, 

wenn es das Amazon-Board von oben ist, dann ist wie gesagt noch eine Lötbrücke zwischen GPIO0 und GPIO1 (Pin33 und 34) des VS1053 zu setzen. Für den ersten Test reicht es auch aus ein Stück Draht zwischen die Beinchen zu klemmen oder beide Pins mit einer Tastspitze zu brücken  und ein Neustart vorzunehmen. Ich hatte dazu hier schon etwas geschrieben, siehe Beitrag Nummer 2: http://www.radio-bastler.de/forum/showth...p?tid=8803

Der VS1053 sieht dann mit Lötbrücke so aus:



Ohne Lötbrücke startet der VS1053 im Midi-Modus, wir brauchen aber den Codec-Modus des Chips. Aber auch im Midi-Modus zeigt das Testprogramm an das der DSP erkannt wurde unter der Voraussetzung das die Verkabelung stimmt.
Hier die Routine um den VS1053 in den MP3 Modus zu schalten


void initMP3Decoder()
{
  player.begin();
  player.switchToMp3Mode(); // optional, some boards require this
  player.setVolume(VOLUME);
}

Die Routine kann dann bliebig aufgerufen werden:

void setup ()
{
  Serial.begin(9600);
  Serial2.begin(9600); //Initialize Nextion serial port
  delay(700);
  SPI.begin();

  initMP3Decoder();
  String command = "p1.picc=1";
  myNextion.sendCommand(command.c_str()); //Connecting...
  connectToWIFI();

}

Gruss
Gopher
Zitieren
Hallo und herzliche Grüße von mir,

ich hoffe ich bin hier nicht total falsch und hier liest noch jemand mit, auch weil der letzte Beitrag schon ca. 7 Monate her ist.
Ich beschäftige mich schon einige Jahre mit Arduino und den ESP8266 bzw. ESP32. Also kein Neuland für mich.

Ich habe mein derzeitiges Projekt (testweise auf einem Steckbrett) mit dem ESP32, dem VS1053 und einem 2zeiligem I2C-LCD aufgebaut.
Später wird es ein Umbau eines Radioweckers der aktuell mit einem Atmega328 Standalone läuft.

Mein aktuelles Problem bezieht sich auf die "Radio-Adressen" die ich nicht zum Laufen bekomme.
Würde mich freuen, wenn jemand einen nachvollziehbaren Tipp hat.

Ich verwende den Testsketch von Bernhard45 mit aktuell einer Webadresse, was auch mit wenigen Adressen funktioniert.
Z.B. funktioniert diese:

Code:
const char *hostrechner = "mp3.planetradio.de";
const char *pfad = "/plrchannels/hqitunes.mp3";
int httpPort = 80;

diese aber nicht:

Code:
char* hostrechner = "st01.dlf.de";
char* pfad = "/dlf/01/56/ogg/stream.ogg";
int httpPort = 80;

const char* hostrechner = "st01.dlf.de";
const char* pfad = "/dlf/01/128/mp3/stream.mp3";
int httpPort = 80;

Das macht mich leider ziemlich ratlos. Huh
Ich habe noch weitere Adressen getestet, und die funktionieren (fast) alle nicht.

Freue mich auf eure Antworten.

Gruß
Dieter
Zitieren
Hallo Dieter,

kann es daran liegen, dass die Hostadresse direkt weitergeleitet wird? Wenn es als einen String eingegeben wird funktioniert es.
Grüße

Andy

Was wir wissen, ist ein Tropfen, was wir nicht wissen, ein Ozean.

Zitat von Sir Isaac Newton
Zitieren
Hallo Andy,

Danke für Deine Antwort. 
Wo muss der komplette String eingegeben werden ?
In Hostrechner oder Pfad ?

Ich werde es aber mal probieren.

Gruß 
Dieter
Zitieren
Wenn ich mich richtig erinnere, dann muss man die direkt URL (ohne Umleitung) eingeben.
In deinem Fall wäre das http://dradio-edge-1093-dus-dtag-cdn.cas...stream.mp3
also
const char *hostrechner = "dradio-edge-1093-dus-dtag-cdn.cast.addradio.de";
const char *pfad = "/dradio/dlf/live/mp3/128/stream.mp3";
int httpPort = 80;
Grüße aus Wassenberg,
Norbert.
Zitieren
Hallo Norbert,

das klingt logisch...leider bekomme ich es nicht hin.
Dein Beispiel funktioniert allerdings. Allerdings unsauber, irgendwie abgehackt..

Dann mal die Frage: Wo hast du die komplette URL her ? Evtl. ist das mein Problem.
Zitieren
für Deutschlandradio sind etwas andere Streaming-Adressen angegeben:

Unsere Streaming-Adressen im Einzelnen
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Vielen Dank,
Werde ich später noch testen.

Gruß
Dieter
Zitieren
Hallo,

der oben in meinem alten Testprogramm angegeben Link zum DLF funktioniert ja schon seit längerem nicht mehr in dieser Konfiguration! Von einem Tag auf den anderen war es aus mit diesem Link. Das ist bekannt und darüber wurde auch hier schon im Forum geschrieben...

Warum ist das so? Gibt man die alte oben angegebene Adresse http://st01.dlf.de/dlf/01/128/mp3/stream.mp3 zum Beispiel in VLC oder noch einfacher in die Adresszeile eines Webbrowsers ein, hört man den DLF immer noch, aber man erkennt das da eine URL-Umleitung erfolgt nach
http://dradio-edge-3093-dus-ts-cdn.cast....4yMTEuMjEw........................................ und noch viel länger.

Hinter dem ? wird also ein Parameter, wahrscheinlich eine Session oder Nutzer-ID angehängt um den Hörer wohl besser .... naja ihr wisst schon. Das und auch die Länge dieses Parameters scheint ein Problem für die WiFiClient-Klasse zu sein. Ruft man dagegen den DLF direkt mit http://dradio-edge-3093-dus-ts-cdn.cast....stream.mp3 auf und lässt den Parameter weg, wird auch keine weitere ID vom Server des DLFs angehangen und es geht. Einige Radiosender machen mittlerweile solche Sachen und da scheint die WiFiClient-Klasse wohl stellenweise allergisch zu reagieren, sprich der Stream wird gar nicht abgeholt.

Auch bei URLs mit HTTPS ist Vorsicht geboten, das wird wohl mit Problemen verbunden sein, wenn man in die Doku dieser Klasse schaut. Für solche HTTPS Requests gibt es eine eigene Klasse.

Was zum Ruckeln, unsauber, abgehackt (wie man das auch nennen will). Bitte mal in deine (Ring)-Pufferimplementierung schauen! Wird er schnell genug gefüllt? Läuft er leer? ....

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,

vielen Dank für eure Antworten.

Leider gibt es immer noch Probleme und ich komme da nicht richtig weiter.

Diese Adresse funktioniert:
http://edge03.streamonkey.net/rhh-1036/stream/mp3

Diese funktionieren nicht:
https://www.ndr.de/resources/metadaten/a...rd_nor.m3u
https://www.ndr.de/resources/metadaten/a...dr2_hh.m3u
http://streams.rsh.de/rsh-live/mp3-192/mediaplayer

Der Punkt mit "HTTPS" scheint tatsächlich hier das Problem sein und wohl nicht einfach lösbar.

Evtl. hat ja noch einer einen Tipp für mich, würde mich sehr freuen.
Zitieren
Hallo,

m3u und pls - Adressen, sind Playlisten (also reine Textdateien) und keine direkten Audiostreams! Der VS1053b kann mit solchen Textdateien nichts anfangen wenn der ESP32 diese im Testscript rüberschiebt. Um diese Radiostationen Wiederzugeben musst Du die Streamadressen aus den Playlisten erstmal extrahieren! Entweder die Datei händisch am PC runterladen, öffnen und dann nachschauen welche URLs drin sind, oder Du schreibst einen Playlistenparser für den ESP32 der das automatisch macht.
Das ESP Audio Development Framework für ESP Audio Boards bietet da schon eine Unterstützung für Playlisten an: https://docs.espressif.com/_/downloads/e.../v2.0/pdf/
Wenn Du das alles auf Basis des kleinen Testprogramms von oben selbst durch codieren willst, was man durchaus auch mal machen sollte und Du gar keinen eigenen Lösungsansatz findest, kannst Du auch einmal auf andere Umsetzungen schielen. Hier wäre der Einstiegspunkt (Line 2065) für eine M3U-Unterstützung im ESP-Radio32 https://github.com/Edzelf/ESP32-Radio/bl....cpp#L2065 zu sehen und dann weiter durchsteppen.

Bei der letzten Adresse mit RSH, sehe ich, wenn ich den Stream aufrufe, ähnliche Probleme durch eine URL-Umleitung mit zig Parametern, wie bei der oben genannten URL für den DLF. Schmeiße ich die ganzen durch die Umleitung hinzugefügten URL-Parameter raus, so daß nur noch das übrig bleibt rsh.hoerradar.de/rsh-live-mp3-hq gehts.

HTTPS ->WifiClientSecure wäre ein Ansatz.

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 Bernhard,

vielen Dank für deine ausführliche Beschreibung.

Ich werde mich dann da mal durchhangeln und berichten.
Danke nochmals an alle für die Antworten.

Gruß
Dieter
Zitieren
Hallo zusammen,

ich habe mein Projekt jetzt umgebaut und musste mich vom Testsketch von Bernhard45 verabschieden.
Ich konnte leider meine Lieblingssender (überwiegend Hamburger) nicht funktionsfähig einbinden.

Aktuell verwende ich einen eigenen Sketch der auf die Library vs1053_ext aufbaut.
Den Originalsketch wollte ich nicht verwenden, da dieser nicht in mein Konzept passt.
Hierzu gibt es auch eine umfangreiche Adressenliste, aus der ich einige meiner gewünschten Sendern entnehmen konnte.

Das Projekt ist noch im Testmodus, läuft aber schon sehr stabil und wird jetzt nach und nach vervollständigt.
Aktuell z.B. mit einem Nextion-Display.

Nochmals danke für eure Tipps.

Gruß
Dieter
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Gartenradio mit ESP32 fx2radio 9 3.110 15.06.2022, 10:23
Letzter Beitrag: fx2radio
  Webradio mit ESP32 Neuling 173 67.453 01.04.2022, 16:31
Letzter Beitrag: saarfranzose
  Packard Bell Easynote SJ82 -Fragen snzgl 1 1.125 13.06.2021, 12:44
Letzter Beitrag: pintel
  Wolle's Webradio mit dem ESP32 Tubefan 7 7.531 20.04.2021, 20:22
Letzter Beitrag: saarfranzose
  Webradio mit ESP8266 / ESP32 Bernhard45 54 24.292 01.02.2021, 12:21
Letzter Beitrag: saarfranzose

Gehe zu: