Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Das einfachste Internetradio mit dem neuen ESP32 Audio
#41
(26.11.2022, 14:11)saarfranzose schrieb: zu dem Thema mit der Umbenennung will ich noch etwas sagen wenn ich gesicherte Erkenntnisse habe. Ist noch etwas Arbeit bis dahin.

Ich glaube nicht, dass der Dateiname Einfluss auf die Funktion hat. Meine Gesamtdatei https://pintel.de/esp32_audio_komplett.bin habe ich mit einem HEX Editor erstellt, da gab es keinerlei Dateinamen im inneren der Datei. Das war vermutlich nur Zufall. Ich lasse mich aber gern eines Besseren belehren.

Der ESP32 Audio ist jetzt als Version 1.1 in Produktion gegangen. Elektronisch gab es keine Veränderungen.
Einzige erwähnenswerte Änderungen sind abgerundete Ecken. Außerdem sind an den Ecken jetzt - wie beim ESP32 von Espressif - Löcher.

   
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#42
Kein Platz mehr für Stereo gewesen?

- Joe
Zitieren
#43
(26.11.2022, 20:10)JoeXXL schrieb: Kein Platz mehr für Stereo gewesen?

- Joe

Nein und auch nicht gewollt. Es gibt Bedenken mit der Wärmeentwicklung und der Stromaufnahme bei 2 Endstufen. Außerdem sollte es so kompatibel wie möglich zum Original sein. Dann würden noch mehr GPIO's für die zweite Endstufe wegfallen.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#44
Zitat:...
Edzelf V1 und Edison kommen nicht in Frage weil sie nur den VS1053-Codec unterstützen.
...


Bei mir läuft Edzelf.
Ed unterstützt in der Version 2 auch I2S.

-Joe
Zitieren
#45
(27.11.2022, 11:06)JoeXXL schrieb: Bei mir läuft Edzelf.
Ed unterstützt in der Version 2 auch I2S.

-Joe

Bei mir läuft es auch. Es gab aber einige, wo es Aussetzer hatte, weil der Buffer zu klein ist. Darum habe ich eine Alternative gesucht.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#46
ich hab nichts anderes gesagt. Siehe meinen weiteren Text bzgl. Edzelf V2 in post#8:

Zitat:...das Radio spielte jetzt klar und mit großer Lautstärke. Ich war positiv überrascht dass Edzelf endlich die Lautstärke-Einstellung im Griff hat. Der Wert 4 von maximal 100 genügt für eine angenehme Lautstärke auf dem Schreibtisch. Der Pegel insgesamt muss also noch entsprechend der Pintel-Vorgabe abgesenkt werden...

welche Umgebung benutzt ihr? IDE oder PlatformIO?
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#47
Ich nutze IDE 2.0
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#48
Sorry Jupp, hätte ich deinen Post nur zu Ende lesen müssen :-)

Ich nutze Visual Studio Code/PlatformIo
aber auch Android IDE in der neusten Version 2.02 (sieht viel besser)

-Joe
Zitieren
#49
Big Grin Link korrigiert

Habe einmal einen einfach URL-Player mit der Bibliothek arduino-audio-tools von P.Schatzmann auf den ESP geflascht.
Funktioniert auch ...

-Joe

Code:
/**
* @file player-url-i2s.ino
* @brief see https://github.com/pschatzmann/arduino-audio-tools/blob/main/examples/examples-player/player-url-i2s/README.md
*
* @author Phil Schatzmann
* @copyright GPLv3
*/


#include "AudioTools.h"
#include "AudioCodecs/CodecMP3Helix.h"

const char *urls[] = {
  "https://icecast.radiobremen.de/rb/bremeneins/live/mp3/128/stream.mp3",
  "http://strm112.1.fm/reggae_mobile_mp3",
  "http://stream.antenne.de/top-40",
  "http://stream.srg-ssr.ch/m/rsj/mp3_128",
  "http://stream.srg-ssr.ch/m/drs3/mp3_128",
  "http://stream.srg-ssr.ch/m/rr/mp3_128",
  "http://sunshineradio.ice.infomaniak.ch/sunshineradio-128.mp3",
  "http://streaming.swisstxt.ch/m/drsvirus/mp3_128"
};
const char *wifi = "SSID";
const char *password = "PASSWORT";

URLStream urlStream(wifi, password);
AudioSourceUrl source(urlStream, urls, "audio/mp3");
I2SStream i2s;
MP3DecoderHelix decoder;
AudioPlayer player(source, i2s, decoder);

// additional controls
const int volumePin = A0;
Debouncer nextButtonDebouncer(2000);
const int nextButtonPin = 13;



// ***************************************************************************
// setup()
// ***************************************************************************
void setup()
{
  Serial.begin(115200);
  AudioLogger::instance().begin(Serial, AudioLogger::Info);

  // setup output
  auto cfg = i2s.defaultConfig(TX_MODE);
  cfg.pin_bck = 27;
  cfg.pin_ws = 26;
  cfg.pin_data = 25;
  cfg.buffer_size = 1024; // default 1024;
  i2s.begin(cfg);

  // setup player
  player.begin();
  player.setVolume(0.6);
}

// ***************************************************************************
// loop()
// ***************************************************************************
void loop()
{
  updateVolume(); // remove comments to activate volume control
  updatePosition();  // remove comments to activate position control
  player.copy();
}

// ---------------------------------------------------------------------------
// updateVolume()
// Sets the volume control from a linear potentiometer input
// ---------------------------------------------------------------------------
void updateVolume()
{
  // Reading potentiometer value (range is 0 - 4095)
  float vol = static_cast<float>(analogRead(volumePin));
  // min in 0 - max is 1.0
  player.setVolume(vol/4095.0);
}


// ---------------------------------------------------------------------------
// updatePosition()
// Moves to the next url when we touch the pin to +3.3V
// ---------------------------------------------------------------------------
void updatePosition()
{
   if (digitalRead(nextButtonPin)) {
      Serial.println("Moving to next url");
      if (nextButtonDebouncer.debounce())
      {
        player.next();
      }
  }
}
Zitieren
#50
(02.12.2022, 15:37)JoeXXL schrieb: Habe einmal einen einfach URL-Player mit der Bibliothek arduino-audio-tools von P.Schatzmann auf den ESP geflascht.
Funktioniert auch ...

-Joe

Vielen Dank für die Info. Dein Link führt ins Leere, hier ist der Richtige.
Das muss ich heute Abend mal probieren, denn da lässt sich auch die Buffergröße verändern. Das ist bei schlechter Internetverbindung immer sehr hilfreich.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#51
Analoges Poti für die Lautstärke und Taster für Stationsweiterschaltung .. das gefällt mir!

Ich hänge aber an den compiler-Fehlern fest

Zitat:In file included from f:\Users\Jupp\Documents\Arduino\libraries\arduino-audio-tools-main\src/AudioFilter/Equilizer.h:3:0,
from f:\Users\Jupp\Documents\Arduino\libraries\arduino-audio-tools-main\src/AudioTools.h:16,
from F:\ESP32\ESP32Audio-Pintel\arduino-audio-tools-main\examples\examples-player\player-url-i2s\player-url-i2s.ino:10:
f:\Users\Jupp\Documents\Arduino\libraries\arduino-audio-tools-main\src/AudioTools/AudioPrint.h:35:14: error: 'void audio_tools::AudioPrint::flush()' marked 'override', but does not override
void flush() override {
^
F:\ESP32\ESP32Audio-Pintel\arduino-audio-tools-main\examples\examples-player\player-url-i2s\player-url-i2s.ino:27:1: error: 'AudioSourceUrl' does not name a type
AudioSourceUrl source(urlStream, urls, "audio/mp3");
^
F:\ESP32\ESP32Audio-Pintel\arduino-audio-tools-main\examples\examples-player\player-url-i2s\player-url-i2s.ino:30:20: error: 'source' was not declared in this scope
AudioPlayer player(source, i2s, decoder);
^

exit status 1

Compilation error: 'AudioSourceUrl' does not name a type
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#52
Zitat:Ich hänge aber an den compiler-Fehlern fest

Du benutzt sicherlich noch eine alte ESP32 Core Version.
Benötigt wird die aktuelle 2.05

-Joe
Zitieren
#53
PSchatzmann spielt bei mir jetzt auch. Die IDE Version war schon korrekt, eine frische 2.0.2. Vermutlich ist beim copy/paste aus dem RBF wieder irgendein ASCII ersetzt worden. Ich hab dann den code aus dem src Ordner genommen, die Radio Bremen url, wifi, pin-Konfiguration und buffer-size nachgetragen. Dann hat es losgebrüllt. Noch in voller Lautstärke.
Als nächstes kümmere ich mich um die controls.

PS: Oder meintest du mit core die Additional Boardmanager-URL? Ich hatte zuerst:

https://dl.espressif.com/dl/package_esp32_index.json

und dann geändert auf:

https://raw.githubusercontent.com/espres...index.json

Muss mich in die IDE V2 noch einarbeiten. Die Bibliotheken liegen jetzt in einem Ordner "libraries" unterhalb des Pfades der für das Sketch Book eingetragen ist. Als board habe ich "ESP32 Dev Module" ausgewählt, ohne zu wissen woher die Definition kommt und welche Version sie hat.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#54
Als zusätzliche Bordverwalter URL's habe ich

https://raw.githubusercontent.com/espres...index.json

und als Bord

ESP32-WROMM-DA-Module

Keine Ahnung ob das besser/schlechter ist.

-Joe
Zitieren
#55
die controls sind jetzt drin. Analoges Poti für Lautstärke und ein Taster für next_url. Der Taster muss gegen Plus schalten. Das ist etwas ungewöhnlich. Normal hat man einen internen oder externen pullup und schaltet gegen Masse. Ich schalte hier über einen 10K Schutzwiderstand gegen Plus.

Der serielle Monitor überschlägt sich mit Ausgaben. Das meiste sind streamcopy Meldungen. Aber auch das Poti verursacht traffic. Es liegt ja nicht an einer Referenzspannung und bei einer Auflösung von 4095 Schritten gibt es keinen konstanten Wert.

Aber es läuft gut, und ich habe auch schon eine Idee wo ich PSchatzmann einsetze.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#56
Man kann im Setup die serielle Ausgabe steuern:

AudioLogger::instance().begin(Serial, AudioLogger::Info);

Statt Info geht;  Debug, Info, Warning,  Error

oder die ganze Zeile auskommentieren.

-Joe
Zitieren
#57
Hallo RBFer, melde mich nach längerer Zeit hier zurück und habe gleich ein paar Fragen zu diesem spannenden Thema.

Auch auf die Gefahr hin, dass einige Infos schon veröffentlicht wurden, möchte ich euch mein Anliegen darstellen.
Also: Ich suche ein "Internetradio" vielleicht auf der Basis des hier beschriebenen "ESP32 Audio", das alle für mich interessanten features auf einer Platine vereint.
Schön finde ich die Möglichkeit, das Radio ausgehend von einem offenen WLAN in das Heimnetz einzubinden und dann mittels webinterface (Browser) darauf zuzugreifen (wie bereits beschrieben). Hier die erste Frage: Welche Einstellmöglichkeiten gibt es: Laustärke, programmierte Senderauswahl, EQ?
Desweiteren benötige ich NICHT den integrierten class-D Verstärker, der, obwohl mit hohem Wirkungsgrad, für mich akustisch zu schlecht ist. Stattdessen suche ich ein Modul, welches den DA-Wandler direkt onboard hat und die 3,5 mm Klinkenbuchse auch. Günstig wäre zugleich, wenn das Stereosignal via Sketch auf Mono geschaltet werden könnte. Gibt es eine Möglichkeit das analoge Ausgangssignal via sketch auf 0 dBu (0,775 V) zu setzen?

Grund meiner Anfragen ist die Idee, ein peripherieloses Modul (also ohne Taster u.a. Bedienelemente) in ein hochwertiges Röhrenradio (z.B. 30er Jahre) zu integrieren und nach erfolgter Programmierung das "Internetradio" über den Browser zu steuern.
Bzgl. der Einbindung andere Quellen (FM-Tuner, DAB+) in Röhrensysteme verfüge ich über hinreichend Erfahrung und die Arduino_IDE ist mir auch nicht ganz unvertraut. Dank der vielen sehr interssanten posts und links, insbesondere von Jupp und Jens, bin ich ziemlich angefixt und hoffe auf Unterstützung.

Viele Grüße, Stephan
Zitieren
#58
Hallo Stephan,

schön mal wieder von dir zu lesen und ich hoffe es geht dir entsprechend gut. Es geht hier eigentlich um das "Pintel-Board" und die Möglichkeiten die man damit hat. Ich will aber trotzdem kurz antworten.

Zur Hardware, die du dir vorstellst, passt dieses Board eher nicht. Schau dir doch mal AI-Thinker oder LyraT Boards an. Oder bestücke dir eine Platine mit ESP32/VS1053. Da kann ich dir welche abgeben.
Der Rest ist Sache der verwendeten Software.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#59
(05.12.2022, 13:58)dudilak schrieb: Hallo RBFer, melde mich nach längerer Zeit hier zurück und habe gleich ein paar Fragen zu diesem spannenden Thema.

Auch auf die Gefahr hin, dass einige Infos schon veröffentlicht wurden, möchte ich euch mein Anliegen darstellen.
Also: Ich suche ein "Internetradio" vielleicht auf der Basis des hier beschriebenen "ESP32 Audio", das alle für mich interessanten features auf einer Platine vereint.
Schön finde ich die Möglichkeit, das Radio ausgehend von einem offenen WLAN in das Heimnetz einzubinden und dann mittels webinterface (Browser) darauf zuzugreifen (wie bereits beschrieben). Hier die erste Frage: Welche Einstellmöglichkeiten gibt es: Laustärke, programmierte Senderauswahl, EQ?
Desweiteren benötige ich NICHT den integrierten class-D Verstärker, der, obwohl mit hohem Wirkungsgrad, für mich akustisch zu schlecht ist. Stattdessen suche ich ein Modul, welches den DA-Wandler direkt onboard hat und die 3,5 mm Klinkenbuchse auch. Günstig wäre zugleich, wenn das Stereosignal via Sketch auf Mono geschaltet werden könnte. Gibt es eine Möglichkeit das analoge Ausgangssignal via sketch auf 0 dBu (0,775 V) zu setzen?

Grund meiner Anfragen ist die Idee, ein peripherieloses Modul (also ohne Taster u.a. Bedienelemente) in ein hochwertiges Röhrenradio (z.B. 30er Jahre) zu integrieren und nach erfolgter Programmierung das "Internetradio" über den Browser zu steuern.
Bzgl. der Einbindung andere Quellen (FM-Tuner, DAB+) in Röhrensysteme verfüge ich über hinreichend Erfahrung und die Arduino_IDE ist mir auch nicht ganz unvertraut. Dank der vielen sehr interssanten posts und links, insbesondere von Jupp und Jens, bin ich ziemlich angefixt und hoffe auf Unterstützung.

Viele Grüße, Stephan

Hallo Stephan,

von diesen Platinen habe ich noch welche, Stückpreis 1,50 Euro + Versand. Sie sind sehr klein, haben durch den VS1053B einen Klinkenausgang (Stereo) und man kann direkt einen Kopfhörer anschließen. Außerdem kann man unten Kabel für Taster, Display u.s.w. anlöten, muss es aber nicht. Je nach verwendeter Software kann man auch alles über einen Browser oder eine Handy APP steuern. Wenn man eine Endstufe dahinter hängt, sollte diese eine eigene Stromversorgung haben. Die Masse des Digitalteils darf nicht mit der Masse vom Analogteil verbunden werden. Jupp hat, wie er geschrieben hat, auch noch andere Platinen.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#60
(04.12.2022, 16:17)saarfranzose schrieb: ..Aber auch das Poti verursacht traffic. Es liegt ja nicht an einer Referenzspannung und bei einer Auflösung von 4095 Schritten gibt es keinen konstanten Wert..

ich habe die Lautstärkeeinstellung mit einem 47uF am Schleifer des Poti etwas träger gemacht. Das war nötig weil die Lautstärke mit peaks behaftet war. Ich beobachte noch, aber die Maßnahme scheint sehr wirkungsvoll zu sein. Richtigerweise sollte ein RC-Integrierglied zwischen Poti und Analogeingang geschaltet werden.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  yoradio mit ESP32 Juppy 2 80 Vor weniger als 1 Minute
Letzter Beitrag: Juppy
  ESP32 Internetradio yoRadio Problembesprechung Klaus99 99 7.432 08.03.2024, 08:35
Letzter Beitrag: Rene66
  KaRadio ESP32 Wlan Problem thomas.linz 9 408 08.03.2024, 00:01
Letzter Beitrag: Siegfried55
  Das (aller-) einfachste InternetRadio mit WT32-SC01 DrNeurosurg 19 1.834 06.03.2024, 18:56
Letzter Beitrag: DrNeurosurg
  ESP32-Internetradio yoRadio /Problem reimundko reimundko 6 475 06.03.2024, 16:33
Letzter Beitrag: saarfranzose

Gehe zu: