Hallo. Ich versuche mit einem ESP32 (WEMOS D1 mini) über Bluetooth Ton an Kopfhörer zu schicken. Verwenden möchte ich die Bibliothek von Phil Schatzmann (ESP32-A2DP). Ich konnte zwar das Beispiel bt_music_sender ausführen und höre auch was auf meinen Kopfhörern. Ich hatte aber eine konstante Sinusschwingung erwartet. Was ich höre ist allerdings eine Schwingung die in (ca) Sekundentakt unterbrochen wird (duty cycle etwa 50:50) Dazu kommt noch, dassnach einigen Minuten die Frequenz leicht reduziert wird. Kennt jemand das Beispiel und hat ggf. eine Lösung? LG Blacky
Aus dem Bauch heraus: Vielleicht ist die CPU zu langsam getaktet. Oder du hast ein Modell mit nur einem Kern, brauchst aber zwei.
Steve van de Grens schrieb: > Aus dem Bauch heraus: Vielleicht ist die CPU zu langsam getaktet. > Oder > du hast ein Modell mit nur einem Kern, brauchst aber zwei. Es sollten 2-Kerne verbaut sein. Laut Einstellungen laufen sie mit 240 MHz. Allerdings scheint nur Kern 1 benutzt zu werden, ich habe mir mit
1 | xPortGetCoreID() |
die Core IDs zeigen lassen. Ich versuche mal den Bluetooth teil auf core0 zu verschieben.
Alex W. schrieb: > Steve van de Grens schrieb: >> Aus dem Bauch heraus: Vielleicht ist die CPU zu langsam getaktet. >> Oder >> du hast ein Modell mit nur einem Kern, brauchst aber zwei. > > Es sollten 2-Kerne verbaut sein. Laut Einstellungen laufen sie mit 240 > MHz. Allerdings scheint nur Kern 1 benutzt zu werden, ich habe mir mit >
1 | xPortGetCoreID() |
die Core IDs zeigen lassen. Ich versuche mal den
> Bluetooth teil auf core0 zu verschieben.
Hmm, die Callback-Funktion läuft auf core 0. Ich habe Spasseshalber mal
die Berechnung der frames vorab durchgeführt, ändert nichts, auch wenn
die Funktion jetzt wesentlich schneller ist.
Interessant ist auch, dass das andere Beispiel (in dem ein PCM Sample
aus einem .h geladen wird) einwandfrei läuft. Da ist der Prozessor dann
also hinreichend schnell.
Bei den Empfänger Beispielen gab es mal ärger mit den puffergrösen. Vlt hast du grade einen IDF release erwischt bei dem es auch im Sender drinnen ist?
Ich habe es mit versucht mit ESP32 2.0.1: hier bricht die Wiedergabe nach ein paar Sekunden ganz ab ESP32 2.0.9: lief mit den besagten Aussetzern. ESP32 2.0.13: stürzt bei a2dp_source.start("get_sound_data"); ab ESP32 2.0.14: stürzt bei a2dp_source.start("get_sound_data"); ab ich werde jetzt noch 2.0.10...11...12 probieren.
Versionen > 2.0.9 stürzen alle bei .start ab... :(
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.