Hallo Forum,
ich habe ZWEI ESP32 DEV Boards (von 2 verschiedenen Herstellern) und DREI DFPlayer Mini (zwei davon vom selben und das andere von eine anderen Hersteller) versucht zusammen zu betreiben.
Aus dem angeschlossenen Minilautsprecher kommt nur ein regelmäßiges knattern. Es kommt gar nicht erst zur seriellen Kommunikation.
Ich habe vieles ausprobiert. Meine Vorlage ist dieses Beispiel hier:
Git-ESP32_DFPlayer_full.
Allem voran habe ich das ganze auf einem Arduino Nano ohne Probleme zum Laufen gebracht (allerdings durch Softwareserial, nicht möglich mit dem ESP). Das bedeutet, dass sich das Problem auf den ESP32 eingrenzen lässt.
Ich verwende außerdem Visual Studio Code und darin PlatformIO. Habe die beiden Bibliotheken "DFRobotDFPlayerMini by DFRobot" und "DFPlayer Mini Mp3 by Makuna by Michael C. Miller". ausprobiert. Beides mit demselben Ergebnis. Die serielle Kommunikation kommt nicht zustande.
Das ist der Code, auch aus der Bibliothek auf GitHub - zumindest der Anfang. Fehlerfrei kompiliert. Nach dem Upload auf das Dev Board geht es nicht weiter, als bis in die Schleife mit den Ausgaben "unable to begin:"...
RX-TX und TX-RX samt Widerstand hab ich hundertfach überprüft. Auch eine separate Spannungsversorgung mit 3,3 bzw. 5V habe ich dem DFPlayer zeitweise mal gegönnt. Hat das Problem nicht gelöst.
#include <Arduino.h>
#include "DFRobotDFPlayerMini.h"
HardwareSerial HwSerial(1);
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
void setup()
{
HwSerial.begin(9600, SERIAL_8N1, 16, 17); // speed, type, RX, TX
Serial.begin(115200);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(HwSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(myDFPlayer.readType(),HEX);
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while(true);
}...
Kennt jemand das bzw. ein Problem mit der UART-Schnittstelle und der seriellen Kommunikation?
[EDIT] Habe die overrides in der Header-Datei der Bibliothek auskommentiert. Führt zu neuem Fehler: A fatal error occurred: MD5 of file does not match data in flash!
ICh möchte weiterhin die HW-Serial-Schnittstelle verwenden. Wozu sollte sie sonst da sein?
Grüße
René