DFPlayer mit ESP8266 V3 ansteuern MP3-Player

Also ich habe nun wirklich alles durch probiert...
Ich habe komplett Arduino IDE neu installiert und jegliche Bibliothek ausprobiert.
Die Lib mit der es bei dir @HotSystems funktioniert gibt mir immer nur den oben genannten Fehler aus und ich habe keine Ahnung weshalb, ob ich eine fehlerhafte Datei von Git habe oder einen Versionsfehler oder was es ist... du kannst mir nicht deine Lib schicken welche du verwendest oder?
Es kann doch nicht sein dass es bei dir funktioniert und hier einfach nach 5 Tagen immer noch nicht....

Die hast du bestimmt auch drauf.

Öffne mal die Datei "SoftwareSerial.h" und da wird dieser Text im Kopf stehen:

/*
SoftwareSerial.h (formerly NewSoftSerial.h) - 
Multi-instance software serial library for Arduino/Wiring
-- Interrupt-driven receive and other improvements by ladyada
   (http://ladyada.net)
-- Tuning, circular buffer, derivation from class Print/Stream,
   multi-instance support, porting to 8MHz processors,
   various optimizations, PROGMEM delay tables, inverse logic and 
   direct port writing by Mikal Hart (http://www.arduiniana.org)
-- Pin change interrupt macros by Paul Stoffregen (http://www.pjrc.com)
-- 20MHz processor support by Garrett Mace (http://www.macetech.com)
-- ATmega1280/2560 support by Brett Hagman (http://www.roguerobotics.com/)

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

The latest version of this library can always be found at
http://arduiniana.org.
*/

Ok ich gebe auf :smiley:
Wenn ich die DFPlayer_Mini_Mp3 Lib verwende bekomme ich nur immer die selbe Fehlermeldung: exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous ...usw.

Ich bin am Ende mit meinem Latein.

Hast du denn mal den Inhalt der Datei (mein Post) verglichen ?

Hast bestimmt ein USB Stick wen ja dann installiere auf dem Portable IDE dadurch komt dir nix in die Quere kannst Lib löschen bleibt nix hÀngen ist weg.

Warum sollte man fĂŒr eine portable IDE einen USB-Stick benötigen?

Gruß Tommy

FĂŒr zugemĂŒllte, "hoch optimierte" Rechner?
Nach Seiten wie Computer Bild und Co?

GrĂŒĂŸe Bernhard

Was hat diese sinnlose Antwort mit meinem Posting zu tun?
Was hat die portable IDE mit Computer Bild zu tun?

Du darfst nicht von Dir auf Andere schließen.

Gruß Tommy

Bitte ihr beiden...
Nicht streiten.

Ich hab grade was ganz fantastisches...
Nach mehr als einstelligen neuen lib- und boardsverwaltungs dingens geht im Editor das Monospace seit 4 Tagen nicht mehr.
Unter Ubuntu ganz genial, das die angeblich portable neben der installierten auf das .Arduinio15 zurĂŒck greift. - da liegt u.a. die preferences... - aber das löschen des .arduino15 hilft nicht.

Da hier Ende des Monats sowieso was anderes kommt, wurde auf newCourier ausgewichen - aber das ist nicht das Selbe.

Ich verstehe die Itension von @fony; es sollte davon auszugehen sein, das bei einer vollstĂ€ndig externen, mit austauschbarem DatentrĂ€ger, durchgefĂŒhrten portable Installation was vernĂŒnftiges raus kommt.
Ob dazu ggfls. noch andere Faktoren als Ausgangslage notwendig sind, las ich aussen vor - ich habe die Tage nur einen Rechner und kann nur lokal testen.. ;(
Somit ist eine reine USB-Installation vielleicht gar keine so schlechte Idee um eine Trennung zu bekommen...

Wir streiten nicht, bin weit weg davon.
Mus aber ehrlich sagen @Tommy56 hat zum teil recht, könnte das anders formulieren.

Ja habe ich ist die selbe.

Ich hatte in meinen Spitzenzeiten 15 portable IDE gleichzeitig auf dem Rechner - ohne USB-Stick. Die haben sich nicht gegenseitig beeinflusst. Da liefen verschiedene Core-StÀnde und auch verschiedene IDE-StÀnde drauf.

Da nur noch IDE-Versionen ab 1.8.19 nicht anfĂ€llig fĂŒr die log4j-LĂŒcke sind, habe ich diese archiviert und nutze nur noch 2 Mal 1.8.19 mit ESP8266 2.7.4 und eine mit 3.0.2

Wenn man von einer Sache keine Ahnung hat (wie augenscheinlich Fony), sollte man dafĂŒr anderen keine Vorschriften machen wollen und dann auch noch unsachlich reagieren (Bild Zeitung), wenn man korrigiert wird.

Die portablen IDE sind wirklich eine feine Sache, besonders wenn man mit verschiedenen VersionsstÀnden testen will.

Gruß Tommy

Ok, dann habe ich keine weitere Idee dazu. Bei mir lÀuft beides schon lÀnger in einem MP3/WebRadio-Wecker zusammen. Zwar noch in einer Testphase, aber problemlos mit den genannten Libraries.

Siehe da ich habe es zum laufen gebracht aber fragt mich nicht wie... Ich habe schlussendlich doch die DFRobotDFPlayerMini.h Lib verwendet und einen Italienischen Beispiel Sketch gefunden der funktioniert hat. Mit den Beispielen von DFRobotDFPlayerMini.h funktioniert das ganze nicht. Wenn es nicht so spĂ€t wĂ€re wĂŒrde ich das ganze noch analysieren, aber ich bin einfach nur froh dass es lĂ€uft.

Anbei noch den Code, falls jemand mal wieder das Problem hat. Hierbei ist direkt MQTT eingebunden:

#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// WiFi
const char *ssid = ""; // Enter your WiFi name
const char *password = "";  // Enter WiFi password


// MQTT Broker
const char *mqtt_broker = ""; // Enter your WiFi or Ethernet IP
const char *topic = "";
const int mqtt_port = ;
const char *mqtt_username = "";
const char *mqtt_password = "";

WiFiClient espClient;
PubSubClient client(espClient);

//Auswahl der Seriellen Pins 12,13
SoftwareSerial mySoftwareSerial(12, 13); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
char command;
int pausa = 0;

void setup()
{
//Comunicacao serial com o modulo
mySoftwareSerial.begin(9600);
//Inicializa a serial do Arduino
Serial.begin(115200);


// connecting to a WiFi network
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.println("Connecting to WiFi..");
 }
 
  Serial.println("Connected to the WiFi network");
 
  //connecting to a mqtt broker
  client.setServer(mqtt_broker, mqtt_port);
  client.setCallback(callback);
 
  while (!client.connected()) {
  String client_id = "esp8266-client-";
  client_id += String(WiFi.macAddress());
 
  Serial.printf("The client %s connects to mosquitto mqtt broker\n", client_id.c_str());
 
  if (client.connect(client_id.c_str(),mqtt_username,mqtt_password)) {
    Serial.println("Broker connected");
  } else {
  Serial.print("failed with state ");
  Serial.print(client.state());
  delay(2000);
 }
}

  Serial.print(client.state());

  // publish and subscribe
 client.publish(topic,"Kirsty has joined the game! :D");
 client.subscribe(topic);

 
//Verifica se o modulo esta respondendo e se o
//cartao SD foi encontrado
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini"));
Serial.println(F("Initializing DFPlayer module ... Wait!"));

if (!myDFPlayer.begin(mySoftwareSerial))
{
Serial.println(F("Not initialized:"));
Serial.println(F("1. Check the DFPlayer Mini connections"));
Serial.println(F("2. Insert an SD card"));
while (true);
}

Serial.println();
Serial.println(F("DFPlayer Mini module initialized!"));

//Definicoes iniciais
myDFPlayer.setTimeOut(500); //Timeout serial 500ms
myDFPlayer.volume(5); //Volume 5
myDFPlayer.EQ(0); //Equalizacao normal
menu_opcoes();
}

void callback(char *topic, byte *payload, unsigned int length) {
 Serial.print("Message arrived in topic: ");
 Serial.println(topic);
 Serial.print("Message:");

 String message;
 
 for (int i = 0; i < length; i++) {
  message = message + (char) payload[i];
 }
 
 Serial.println();
 Serial.println(message);



  if(message == "play"){
   myDFPlayer.start();
   menu_opcoes();
   }

  if (message == "pause"){
    myDFPlayer.pause();
    Serial.println("Music Stopped!");
    menu_opcoes();
    }

    if(message == "back"){
    myDFPlayer.previous();
    Serial.println("Previous:");
    Serial.print("Current track:");
    Serial.println(myDFPlayer.readCurrentFileNumber()-1);
    menu_opcoes();
   }

  if(message == "-"){
    myDFPlayer.volumeDown();
    Serial.print("Current Volume:");
    Serial.println(myDFPlayer.readVolume());
    menu_opcoes();
  }
  if(message == "next"){
      myDFPlayer.next();
      Serial.println("next:");
      Serial.print("Current track:");
      Serial.println(myDFPlayer.readCurrentFileNumber()+1);
      menu_opcoes();
    }
    
  if(message == "+"){
    myDFPlayer.volumeUp();
    Serial.print("Current volume:");
    Serial.println(myDFPlayer.readVolume());
    menu_opcoes();
  }
}



void loop()
{
client.loop();
}

void menu_opcoes()
{
Serial.println();
Serial.println(F("=================================================================================================================================="));
Serial.println(F("Commands:"));
Serial.println(F(" [1-3] To select the MP3 file"));
Serial.println(F(" [s] stopping reproduction"));
Serial.println(F(" [p] pause/continue music"));
Serial.println(F(" [+ or -] increases or decreases the volume"));
Serial.println(F(" [< or >] forwards or backwards the track"));
Serial.println();
Serial.println(F("================================================================================================================================="));
}
1 Like

Prima, dass es jetzt funktioniert, ich werde es auch mal damit testen.
Danke fĂŒr die RĂŒckmeldung.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.