Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Das einfachste Internetradio mit dem neuen ESP32 Audio
so ganz plausibel ist das für mich noch nicht. Wenn du per ser. Monitor mit dem Baustein kommunizieren kannst funktioniert ja auch die USB Verbindung und dann muss das Download-Tool auch das Board melden.

Ansonsten, schön dass du weitergekommen bis und viel Spaß und Erfolg weiterhin!
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Die neue Version 1.4 ist da, hier der Prototyp.

   

Jetzt neu:
Echtes USB Power Power-Management, daher funktioniert er jetzt auch direkt an einem USB-C Ladegerät oder am USB-C des Computer.

Kleine Änderung auch am Gain Anschluss. Dieser ist jetzt ohne Beschaltung auf 3 dB gelegt. Das verhindert Lautstärkeschwankungen, wenn nichts angeschlossen ist.
Eine Umschaltung auf 6 db (Verbindung mit Vin) oder 12 dB (Verbindung mit GND) ist noch möglich.

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

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
(07.09.2023, 16:09)pintel schrieb: Jetzt neu:
Echtes USB Power Power-Management, daher funktioniert er jetzt auch direkt an einem USB-C Ladegerät oder am USB-C des Computer.

Hallo Jens,

die letzte Version hatte ja schon USB C, was genau kann ich denn jetzt mit der neuen Version machen oder was bedeutet Power Management?

An einem Ladegerät funktioniert ja im Prinzip  jeder ESP32 

Grüße 

Siegfried
Zitieren
(09.09.2023, 20:24)Siegfried55 schrieb: die letzte Version hatte ja schon USB C, was genau kann ich denn jetzt mit der neuen Version machen oder was bedeutet Power Management?

Ein USB-C Anschluss kann sowohl Eingang, als auch Ausgang sein. Nun könnte es sein, dass ich 2 Geräte verbinde, die beide Spannung ausgeben (zum Beispiel 2 Netzteile). Das ist nicht unbedingt die beste Idee.
Um schlimmeres zu verhindern, geben die USB-C Anschlüsse daher erstmal keine Spannung raus und verhandeln mit dem angeschlossenen Gerät, was es denn nun machen soll. Erst wenn das angeschlossene Gerät zum Netzteil sagt, ich brauche xx Volt und xx Ampere, liefert das Netzteil die nötige Spannung und den nötigen Strom. Das ist das Power-Management.
Die Vorgängerversion hatte das nicht und funktionierte nur über USB-A zu USB-C Kabel. Die neue Version kann direkt an USB-C Geräte angeschlossen werden.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
bei meinem ESP32S bzw ESP32-WROOM rauscht der Sound, habt ihr eine Ahnung was hier das Problem sein könnte?
Zitieren
Hallo ramix,

hast du gain beschaltet? Wenn nicht dann leg es mal auf GND oder 3V3. Welchen sketch hast du aufgespielt?
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

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

ich verwende den sketch von https://radio-bastler.de/forum/showthrea...#pid241811 zusätlich mit: out->SetPinout(27, 26, 25); dann sollte der Gain 27 sein was leider keine Verbesserung bringt,...

lg ramix
Zitieren
du verwendest doch ein Pintel-Board? Sonst hättest du ja hier bestimmt nicht geschrieben. Die I2S-Belegung ist bei diesem Board fest vorgegeben:

pin_i2s_bck = 27 # GPIO Pin number for I2S "BCK"
pin_i2s_din = 25 # GPIO Pin number for I2S "DIN"
pin_i2s_lck = 26 # GPIO Pin number for I2S "L®CK"

der gain hat damit nichts zu tun und ist auf einen extra Pin gelegt.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
oh, Danke für den Hinweis ich dachte ESP32-Wroom = ESP32 Wroom Audio
Zitieren
(19.09.2023, 09:44)saarfranzose schrieb: hast du gain beschaltet? Wenn nicht dann leg es mal auf GND oder 3V3.

Besser an die Vin legen. 3V3 ist beim MAX98357 kein definierter Zustand.

Allerdings versuchte er es mit einem normalen ESP32, nicht mit dem Audio.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
(30.06.2023, 20:54)pintel schrieb: Das Umwandeln ist ja eigentlich nur ein Doppelklick mit der Maus (jedenfalls bei Windows), dann wird die bin erstellt.

Hallo pintel,

ich habe es noch nicht verstanden.
Kannst du uns verraten wie einfach das geht?

python ist ja nur ne Sprache.

oder kann ich dir eine csv schicken und du wandelst sie mir in eine bin um? Angel 
Ich möchte 2 Encoder anschliessen.

in einem früheren Thread hieß es, man könne die HEX Werte in der bin einfach anpassen.
Das funktioniert leider nicht.


ansonsten funktionier dein board prima Thumbs_up

Gruß Maik
Zitieren
(23.11.2023, 17:19)TiPpFeHlEr schrieb:
(30.06.2023, 20:54)pintel schrieb: Das Umwandeln ist ja eigentlich nur ein Doppelklick mit der Maus (jedenfalls bei Windows), dann wird die bin erstellt.

oder kann ich dir eine csv schicken und du wandelst sie mir in eine bin um? Angel 
Ich möchte 2 Encoder anschliessen.

in einem früheren Thread hieß es, man könne die HEX Werte in der bin einfach anpassen.
Das funktioniert leider nicht.

Beim KaRadio sind die passenden Dateien zur Umwandlung mit dabei. Man muss natürlich Python installiert haben. Mit dem Hex Editor das habe ich selbst probiert. Es hat auch funktioniert.
Sonst kannst Du mir auch Deine Datei schicken, ich wandle sie um. Die Mailadresse kannst Du per PN anfragen.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
Hi,

habs nun doch hinbekommen die .bin selber zu erstellen.
Es lag an einer veralteten esp-idf.
Mit version 5.1.2 gings sofort. Cool

Das ändern der bin mit einem Hexeditor geht nicht so einfach.
Es reicht nicht nur den Wert (byte 18)  an sich zu ändern.
die bytes (04-07) scheinen eine Art checksum zu sein.
bytes 04-07 sind abhängig von den nachfolgenden bytes. Huh

Gruß Maik
Zitieren
(12.11.2022, 20:29)pintel schrieb: ……….
Ich hatte anfangs ständige Aussetzer bei etwas schlechterer Internetverbindung (habe sie absichtlich verschlechtert, um das zu testen). Das liegt aber nicht am ESP32 Audio, sondern am verwendeten Script. Dort sind die Buffer viel zu klein dimensioniert. Doch mit 8 statt üblichen 4 Mb müssen wir an dieser Stelle nicht sparen. Dafür müssen wir in der Datei Audio.h folgende Werte ändern:
m_buffSizeRAM      = 16000
m_resBuffSizeRAM  = 3200
m_maxBlockSize    = 3200
Zusätzlich fügen wir in den Sketch folgende Zeile ein:
audio.setConnectionTimeout(330,3200);

……. (Sender, Titel, Interpret...) abgreifen, um diese auf einem Display darzustellen.
Weitere Informationen gibt es hier:
https://github.com/schreibfaul1/ESP32-audioI2S/wiki
Heute wollte ich diese Zeile im YoRadio Sketch einfügen, aber da gab es die Fehlermeldung, dass er „audio“ nicht findet… 

Ist jetzt für mich doch etwas zu komplex ..  Undecided Huh Huh 


Gruß 
Siegfried
Zitieren
Guten Abend in die Runde,

ich bin neu hier, wohne in Dresden und habe nur wenig Ahnung... bemühe mich aber. Ein bissl (Micro)Python, ein bissl Arduino, viel ChatGPT :-D.

Damit und mit fleißig hier lesen und suchen habe ich es aber immerhin hinbekommen, mir ein kleines Einschlafradio mit dem frisch eingetroffenen ESP32 Audio von Pintel zu basteln. Sehr cooles Board! 
Display habe ich bewusst weggelassen, stattdessen nur 4 Knöpfe: Volume up/down, einer für den Stationswechsel durch eine Liste an fest eingestellten meist Wort- und Kultursendern und vor allem einer, der den fest voreingestellten Sleeptimer startet, welcher das Radio nach 15 min auf Volume 0 setzt, meist schlafe ich da schon. Ganz Ausschalten und auf Knopfdruck wieder einschalten habe ich dagegen (bis jetzt) nicht geschafft, dafür könnte irgendwann ein längerer Druck auf den Sleeptimer-Button herhalten. Nur wie...
Das war alles wunderbar einfach, nur zwei weitere Dinge sind mir noch nicht ganz klar: Wie setze ich die Stereo-Ausgänge auf Mono und normale InEar-Kopfhörer (hab immer nur einen im Ohr, auf dem ich nicht liege)? Und sollten die Buttons Widerstände vorgeschaltet bekommen?

Für einen kleinen Hinweis wäre ich da sehr dankbar, dann könnte ich bald mit dem Gehäuse anfangen. :-)

Wen es interessiert, hier mein Sketch:

Code:
#include "Arduino.h"
#include "WiFi.h"
#include "Audio.h"

Audio audio;
const char* ssid = "ssid";
const char* password = "password";

int volumeUpButtonPin = 15;
int volumeDownButtonPin = 2;
int stationChangeButtonPin = 4;
int sleepTimerButtonPin = 5;

bool volumeUpButtonPressed = false;
bool volumeDownButtonPressed = false;
bool stationChangeButtonPressed = false;
bool sleepTimerButtonPressed = false;

int currentStationIndex = 0;
const char* radioStations[] = {
    "https://avw.mdr.de/streams/284340-0_mp3_high.m3u",
    "https://st02.sslstream.dlf.de/dlf/02/128/mp3/stream.mp3",
    "https://st01.sslstream.dlf.de/dlf/01/128/mp3/stream.mp3",
    "https://avw.mdr.de/streams/284310-0_mp3_high.m3u",
    "https://wdr-wdr5-live.icecastssl.wdr.de/wdr/wdr5/live/mp3/128/stream.mp3",
    "http://www.radioeins.de/livemp3"
};
int numStations = sizeof(radioStations) / sizeof(radioStations[0]);

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
        delay(1500);
    }

    audio.setPinout(27, 26, 25);
    audio.setVolume(4); // Initial volume level (0 to 21)
    audio.connecttohost(radioStations[currentStationIndex]);

    // Configure the buttons as inputs with pull-up resistors
    pinMode(volumeUpButtonPin, INPUT_PULLUP);
    pinMode(volumeDownButtonPin, INPUT_PULLUP);
    pinMode(stationChangeButtonPin, INPUT_PULLUP);
    pinMode(sleepTimerButtonPin, INPUT_PULLUP);
}

void loop() {
    audio.loop();

    // Check if the volume up button is pressed
    if (digitalRead(volumeUpButtonPin) == LOW && !volumeUpButtonPressed) {
        audio.setVolume(audio.getVolume() + 1); // Increase the volume by 1
        volumeUpButtonPressed = true;
    } else if (digitalRead(volumeUpButtonPin) == HIGH) {
        volumeUpButtonPressed = false;
    }

    // Check if the volume down button is pressed
    if (digitalRead(volumeDownButtonPin) == LOW && !volumeDownButtonPressed) {
        audio.setVolume(audio.getVolume() - 1); // Decrease the volume by 1
        volumeDownButtonPressed = true;
    } else if (digitalRead(volumeDownButtonPin) == HIGH) {
        volumeDownButtonPressed = false;
    }

    // Check if the station change button is pressed
    if (digitalRead(stationChangeButtonPin) == LOW && !stationChangeButtonPressed) {
        // Cycle to the next station in the list
        currentStationIndex = (currentStationIndex + 1) % numStations;
        audio.connecttohost(radioStations[currentStationIndex]);
        stationChangeButtonPressed = true;
    } else if (digitalRead(stationChangeButtonPin) == HIGH) {
        stationChangeButtonPressed = false;
    }

    // Check if the sleep timer button is pressed
    if (digitalRead(sleepTimerButtonPin) == LOW && !sleepTimerButtonPressed) {
        // Start the sleep timer for 900000 seconds (900000 milliseconds)
        unsigned long sleepTimerEndTime = millis() + 900000; // 900 seconds
        while (millis() < sleepTimerEndTime) {
            // Wait for the timer to expire
            audio.loop(); // Continue checking audio
        }
        // After 900 seconds, set the volume to 0
        audio.setVolume(0);
        sleepTimerButtonPressed = true;
    } else if (digitalRead(sleepTimerButtonPin) == HIGH) {
        sleepTimerButtonPressed = false;
    }
}

void audio_info(const char *info){
    Serial.println(info);
}

Schönen Abend noch, ich muss Enkelin betreuen, das geht alles erst morgen oder übermorgen Abend weiter.
Zitieren
(26.01.2024, 23:14)minitux schrieb: Wie setze ich die Stereo-Ausgänge auf Mono und normale InEar-Kopfhörer (hab immer nur einen im Ohr, auf dem ich nicht liege)? Und sollten die Buttons Widerstände vorgeschaltet bekommen?

Mono:
void forceMono(true);
Stereo:
void forceMono(false);

Ich würde einen kleinen Vorwiderstand setzen (10 Ohm). Aber nur, weil man beim einstecken eines 3,5 Zoll Klinkenstecker kurzeitig einen Kurzschluss in der Buchse erzeugen kann. Elektronisch ist er nicht erforderlich.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
Dankeschön! Das probiere ich heute mal aus!
Zitieren
Wo kein Platz ist, wird Platz gemacht. Auf dem ESP32 Audio Stereo Pro ging es schon ziemlich eng zu. Nun kamen aber viele Wünsche nach einem PSRAM Speicher. Den gibt es zwar nicht im Wroom, er lässt sich aber nachrüsten. Und so bekommt das Modul jetzt diese Möglichkeit. Wenn man schon dabei ist, dann auch noch gleich ein I2C EEPROM dazu.
Dazu hat das Modul nun 2 Layer mehr und die Lötaugen auf der Rückseite. Kleiner Nebeneffekt, die Leiterbahnen konnten nun alle etwas breiter gemacht werden. Da gab es zwar nie Probleme, aber wenn die Möglichkeit da ist, dann sollte sie auch genutzt werden.
Für den EEPROM werden die Standartleitungen für I2C benutzt (GPIO21=SDA, GPIO22=SCL). Dort können auch weiterhin andere Geräte angeschlossen werden.
Für den PSRAM sind es die Anschlüsse GPIO 7,8,9 und 10 - welche (auch beim WROVER) eh nicht als I/O nutzbar sind. Verzichten muss man beim eingelöteten PSRAM lediglich auf GPIO 16 und 17. Auch das ist beim WROVER so.
Standartmäßig sind keine Speicher drauf, die muss man sich nach Bedarf selbst drauf löten.

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

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
Jens, das ist Klasse, dann muss ich sicher mein YoRadio wieder umbauen ?, nutzen würde es, wenn Du für die Nachrüstung einen funktionierenden Baustein (PSRAM) benennst, den man über einen Shop beziehen kann.

Grüße
Siegfried
Zitieren
Zum Beispiel einen APS6404L-3SQR.
https://de.aliexpress.com/item/100500330...pt=glo2deu oder https://www.ebay.de/itm/176140243126
Es gibt sicherlich auch noch andere Quellen, das dient nur als Beispiel.

Es gehen auch andere, sie müssen halt nur 3,3 Volt haben und ausreichend schnell sein. Meine Empfehlung ist der obige, da ich ihn selbst erfolgreich getestet habe.
Vorsicht, es gibt davon auch eine 1,8 Volt Version, diese nicht benutzen. Das erkennt man an der Bezeichnung. Nach APS6404L- muss eine 3 folgen (oben 3SQR).
Das ist dann voll kompatibel mit den WROVER.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  yoradio mit ESP32 Juppy 6 155 Gestern, 14:30
Letzter Beitrag: Juppy
  ESP32 Internetradio yoRadio Problembesprechung Klaus99 99 7.536 08.03.2024, 08:35
Letzter Beitrag: Rene66
  KaRadio ESP32 Wlan Problem thomas.linz 9 425 08.03.2024, 00:01
Letzter Beitrag: Siegfried55
  Das (aller-) einfachste InternetRadio mit WT32-SC01 DrNeurosurg 19 1.860 06.03.2024, 18:56
Letzter Beitrag: DrNeurosurg
  ESP32-Internetradio yoRadio /Problem reimundko reimundko 6 493 06.03.2024, 16:33
Letzter Beitrag: saarfranzose

Gehe zu: