Tuto : Enfin un son remarquable pour la eedomus!!

Partagez ici vos guides et explications

Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 16 Mars 2018 13:29

Introduction

Je vous présente encore un montage simple à moins de 10€ qui permet de donner de la voix de qualité à la eedomus en jouant des MP3/WAW (alarmes, sirène, aboiements, musique, gongs d’horloge, consignes, …).

Ce montage amène un vrai plus pour la eedomus. Il lui donne la possibilité de produire des sons (voix ou autres) d’une qualité remarquable, et en plus, ce montage s’installe où vous le désirez, donc le son ne provient plus de la boite eedomus.

Cette solution se base sur le matériel suivant
•Un module « NodeMCU ESP8266 », acheté sur Wish pour 3€
•Un module « DFPlayer MP3 » acheté aussi sur Wish pour 2€
•Un module alimentation 5V, mais pouvez utiliser un chargeur USB
•Un haut-parleur (trouvé aux poubelles)
•Un module amplificateur, facultative, suivant la puissance que vous désirez. Ce module a coûté 2€

Prérequis: le circuit « NodeMCU ESP8266 » fonctionne par Wifi, et donc, une couverture Wifi est nécessaire là où vous placerez ce module.
Photo6-Terminé.jpg
Photo6-Terminé.jpg (365.2 Kio) Consulté 4730 fois




Le montage hardware

Pour mettre en route l’environnement de développement du NodeMCU ESP8266, je me suis basé sur les mini tutos que vous trouverez à cette adresse :
https://easycoding.tn/index.php/nodemcu/

La mise en œuvre de l’environnement de développement du NodeMCU est simple et rapide : en moins d’une heure, je pouvais déjà actionner la led interne du NodeMCU, et une heure plus tard, je pouvais faire la même chose, mais par Wifi. Bref, c’est un module assez impressionnant, qui vient avec toute une série de librairies.
PhotoTuto1.jpg.jpg
PhotoTuto1.jpg.jpg (691.63 Kio) Consulté 4730 fois


Voici le schéma, relativement simple, qui montre comment le module DFPlayer MP3 est connecté au NodeMCU :
PhotoTuto3.jpg
PhotoTuto3.jpg (108.02 Kio) Consulté 4730 fois


L’amplificateur 35W est facultatif. Dans mon cas, je voulais pouvoir faire hurler mon système, mais si un volume « ordinaire » vous convient, vous pouvez très bien connecter directement le haut-parleur sur la sortie du DFPlayer



Le boitier
Pour le boitier, j’ai « dégotté » un haut-parleur à la déchetterie de mon village, et j’ai fixé tout ce montage à l’intérieur.
PhotoTuto4.jpg
PhotoTuto4.jpg (198.11 Kio) Consulté 4730 fois



Memory Card
•La carte peut être de 2GB ou 4GB, formattée en FAT16 or FAT32
•Créer un répertoire "mp3" dans la racine de la carte et installer les fichiers MP3 ainsi:
o [3 digits][anything_else].mp3. e.g.:
o 001.mp3
o 002.morceau2.mp3
o etc
Surprenant, mais il faut formatter la carte à chaque changement, sinon le DFPlayer continue à voir les fichiers effacés et donc, et jouera d’autres morceaux que ceux désirés. Ce bug m’a « coûté » pas mal d’heures…


La librarie du DFPlayer
Library “DFRobotDFPlayerMini-1.0.2” sur le lien suivant
http://www.arduinolibraries.info/librar ... layer-mini
https://www.dfrobot.com/wiki/index.php/ ... KU:DFR0299


Le programme du NodeMCU

Il vous faudra modifier ce programme ainsi
•Fixer vos informations WiFi : adresse IP, gateway et subnet, SSID et mot de passe
•A regarder, j’ai mis des XXX là où il faut adapter

Quelques informations sur ce programme. Bien sûr, tout peut être modifié à votre guise
•On peut tester le module sans la boîte eedomus, il suffit d’entrer les commandes ci-dessus dans un Explorer
•Le module est programmé pour attendre les commandes suivantes : Song, SongLoop, Volume, Stop, Reset :
o http://192.168.0.41/Song=001..999 pour jouer les morceaux 000, 002, …
o http://192.168.0.41/SongLoop=001..999 pour jouer les morceaux 001, 002, … en boucle, utile pour les aboiements de chien, sirène, etc
o http://192.168.0.41/Volume=0..30 pour régler le volume, 30=max
o http://192.168.0.41/Stop pour stopper la lecture
o http://192.168.0.41/Reset pour resetter le DFPlayer
•On peut passer le volume en même temps que le morceau à jouer, par exemple http://192.168.0.41/Song=001&Volume = 15
•Attention, respecter les majuscules ou minuscules pour les commandes
•Une commande non connue affiche la liste des commandes disponibles

Code : Tout sélectionner
//Play the MP3 according to the commands received


//Required for WIFI
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

//Required for DFPlayer
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"


//////////////////////////////////////////////////////////////
//For debug purpose, compiler commands
#define DEBUG           //Comment this line to remove all debug lines
#ifdef DEBUG
#define DEBUG_PRINT(x)  Serial.print(x)
#define DEBUG_PRINTLN(x)  Serial.println(x)
#else
#define DEBUG_PRINT(x)
#define DEBUG_PRINTLN(x)
#endif


const char* ssid = "XXX";             //WiFi ID
const char* password = "XXX";  //WiFi PWD
String ParamS;                           //Contain the parameter of the command
int ParamI;                              //Contain the parameter, but translated inn Integer

//Static IP, Gateway and Subnet
IPAddress staticIP (XXX, XXX, XXX, XXX);
IPAddress gateway (XXX, XXX, XXX, XXX);
IPAddress subnet(XXX, XXX, XXX, XXX);

//Initialisation DFPlayer
SoftwareSerial mySoftwareSerial(5, 4); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

//Start server
WiFiServer server(80);



void setup() {
  Serial.begin(115200); delay(10);  //Debug serial line
  mySoftwareSerial.begin(9600);     //DFPlayer serial line, RX + TX

   // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to "); Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {delay(500); Serial.print("."); }
  Serial.println(" WiFi connected, "); Serial.println("IP address: "); Serial.println(WiFi.localIP());
 

  // Start the server
  server.begin();
  DEBUG_PRINTLN("Server started");
 
  // Start the DFPlayer
  DEBUG_PRINTLN(""); DEBUG_PRINTLN("Initializing DFPlayer ...");
  if (!myDFPlayer.begin(mySoftwareSerial)) DEBUG_PRINTLN("ERROR: Unable to initialize DFPlayer!");  //Use softwareSerial to communicate with mp3.
  DEBUG_PRINTLN("DFPlayer Ready");
}


void loop() {

  // Check if a client has connected
  WiFiClient client = server.available();

  //Client has connected. Treat request
  if (client) {
    DEBUG_PRINTLN("Command received...");

    // Read the first line of the request
    String request = client.readStringUntil('\r');
    DEBUG_PRINTLN(request); client.flush();
   
    //Initialize variables used for the parameter
    ParamS=""; ParamI=0;

    //Check the volume
    if (request.indexOf("Volume=") != -1) {
      ParamS=request.substring(request.indexOf("Volume=")+7,request.indexOf("Volume=")+9);
      ParamI=ParamS.toInt();
      DEBUG_PRINT("VolumeI=");DEBUG_PRINTLN(ParamI);
      if (ParamI >=0 && ParamI <=30)  myDFPlayer.volume(ParamI);  //Set volume value. From 0 to 30
    }

    //Then, check the other commands, could be Song, SongLoop, Stop, Reset
    if (request.indexOf("Song=") != -1)  {
      ParamS=request.substring(request.indexOf("Song=")+5,request.indexOf("Song=")+9);
      ParamI=ParamS.toInt();
      DEBUG_PRINT("Song number ");DEBUG_PRINTLN(ParamI);
      myDFPlayer.play(ParamI);

    } else if (request.indexOf("SongLoop=") != -1)  {
      ParamS=request.substring(request.indexOf("SongLoop=")+9,request.indexOf("SongLoop=")+13);
      ParamI=ParamS.toInt();
      DEBUG_PRINT("Songloop number ");DEBUG_PRINTLN(ParamI);
      myDFPlayer.loop(ParamI);
   
    } else if (request.indexOf("/Stop") != -1) {
      DEBUG_PRINTLN("Stop");
      myDFPlayer.stop();
   
    } else if (request.indexOf("/Reset") != -1) {
      DEBUG_PRINTLN("Reset");
      myDFPlayer.reset();
   
    } else {
      client.println("Use one of these commands:");
      client.print("http://"); client.print(WiFi.localIP()); client.print("/"); client.println("Song=001..999: Play Song 001 to 999");client.println();
      client.print("http://"); client.print(WiFi.localIP()); client.print("/"); client.println("SongLoop=001..999: Play in loop Song 001 to 999");client.println();
      client.print("http://"); client.print(WiFi.localIP()); client.print("/"); client.println("Stop: Pause device");client.println();
      client.print("http://"); client.print(WiFi.localIP()); client.print("/"); client.println("Volume=0..30: Set the volume, 0=min, 30=Max");client.println();
      client.print("http://"); client.print(WiFi.localIP()); client.print("/"); client.println("Reset: Reset the MP3 player (only the MP3, not the ESP)");client.println();
    }
    client.println("HTTP/1.1 200 OK"); //Acknowledge command. Without that, eedomus keep sending the command
    delay(100);
  } //if (client)
  delay(1); //Wait 1 before next loop
}





La configuration eedomus

Il suffit de créer un actionneur HTTP, comme cela
• Nom: ModuleMP3 Actionneur
• Pièce: Séjour
• Usage: Autre
• Avec les états suivants. Mettre évidemment votre adresse IP
o Morceau 1 : URL suivante: http://192.168.0.41/Song=001&Volume=10
o Morceau 2 : URL suivante: http://192.168.0.41/Song=002&Volume=15
o Morceau 3 : URL suivante: http://192.168.0.41/Song=003&Volume=20
o Morceau 4 : URL suivante: http://192.168.0.41/Song=004&Volume=5
o Morceau 5 : URL suivante: http://192.168.0.41/Song=005&Volume=6
o Morceau 1 : URL suivante: http://192.168.0.41/SongLoop=001&Volume=30
o Volume : URL suivante: http://192.168.0.41/Volume=20
o Stop : URL suivante: http://192.168.0.41/Stop
o Etc etc

Voici les copies d’écrans, la premier contient les informations pour la création de l’actionneur http, et le deuxième un exemple d’utilisation dans une règle. J’ai mis ma sonnette d’entrée comme exemple;
PhotoTuto5.jpg
Eedomus config
PhotoTuto5.jpg (105.16 Kio) Consulté 4730 fois

PhotoTuto6.jpg
Eedomus config2
PhotoTuto6.jpg (95.39 Kio) Consulté 4730 fois



Conclusions
Ce circuit NodeMCU ESP8266 est vraiment impressionnant. Il se programme comme un Arduino, offre des possibilités énormes, et cela pour quelques euros. En le connectant avec deux fils (RX/TX) au module DFPlayer MP3, on a presque immédiatement un module son pilotable par WIFI, et donc, depuis la boite eedomus. Il permet de donner un son de qualité à la eedomus, au lieu de ce son nasillard, et de le placer ailleurs que proche de la boite.
Chez moi, ce montage fait office d’alarme et me donne tous les sons que la eedomus jouait avant, mais donc, avec une super qualité et un volume très fort ! J’ai pu monter les circuits imprimés directement dans le haut-parleur, et donc, la solution est bien intégrée, il suffit de connecter le haut-parleur à une prise 220V !
A nouveau (voir mes autres tutos pour l’ouverture/fermeture du garage, gamelles, consommation de mazout, …), j’ai été agréablement surpris de pouvoir faire un montage en quelques heures de travail seulement!
Avez-vous d’autres idées ?
Dernière édition par Cen le 17 Mars 2018 07:51, édité 1 fois.
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Ronmoul » 16 Mars 2018 22:35

Bonsoir CEN,

Merci pour ce tuto super bien documenté. Pleins de bonnes idées, surtout dans l'utilisation du RFPlayer avec l'edomus.

Par contre petit détail, je présume que tu fais référence au 8266 quand tu parles du 8260 ;)

@+
Ronmoul
 
Messages : 21
Inscription : 02 Août 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Ronmoul » 16 Mars 2018 22:38

Re-bonsoir!

Je vais m'inspirer de ton travail, pour piloter, en plus du RFPlayer, un affichage à base de Max7219.

Encore merci

@+
Ronmoul
 
Messages : 21
Inscription : 02 Août 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 17 Mars 2018 07:53

Bonjour,
Merci pour vos commentaires. J'ai corrigé le texte
Ronmoul, je suis vivement intéressé à ton développement.

Encore merci
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Ronmoul » 17 Mars 2018 15:16

Hello!

J'ai l'air fin, je t'indique que tu cites le 8260 à la place du 8266, et moi dans mon commentaire je te parle de RFPlayer alors qu'il s'agit bien du DFPlayer :lol: :lol: Tu m'étonnes que j'ai des bugs dans mes programmes :lol:

Autrement pas de soucis pour te transmettre les éléments de mon projet quand j'aurais terminé.

Pour faire court, il s'agit d'envoyer un message écrit à partir de l'Eedomus sur un affichage bandeau lumineux très facile à utiliser (MagiDeal MAX7219 LED Dot Matrix Module d'Affichage Numérique 8 X 8 pour Arduino dispo chez Amazon). Il est piloté par un 8266, donc wifi et autonome.

Pour l'instant j'envoie les messages via une petite interface web fournie par le 8266, mon objectif c'est de le faire directement à partir de l'Eedomus avec une simple requête http et le "message" en paramètre, comme tu le fais dans le pilotage du DFPlayer.

@+
Ronmoul
 
Messages : 21
Inscription : 02 Août 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 17 Mars 2018 17:06

Hello Ronmoul,

Alors j'ai un projet similaire en tête :D
J'ai commandé la semaine dernière l'écran suivant: "3.75 Unit Board 64x16 Dot Matrix LED Display Screen F3.75 Module 304x76mm"
Donc si tu publies ton montage, je suis très très intéressé!

Merci d'avance
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 14 Oct 2018 18:21

Merci pour le retour et bien joué!!!
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar anne-marie » 14 Oct 2018 19:07

Bon travail!
Netatmo - Nabaztag2 - Karotz - Mirror - caméras IP - Zwave - RFXCOM - zigate - ecodevice - Enocean - orvibo - connexoon- google Home - Echo - yeelight etc....
anne-marie
 
Messages : 2344
Inscription : 19 Fév 2014
Localisation : 77

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Essam10 » 08 Juin 2019 21:56

Je suppose que si je prend n importe quelle enceinte wifi ca devrait marcher.
Tu confirmes?
Eedomus +
RFXcom (5 Volets Simu , 3 Chacon Dio, Pluviomètre PCR800,6TGHN132N, 1THGR122NX)
Zigate (7 xiaomi ouverture porte)
Capteur Garage Vision Zwave
2 Sonoff Basic
Essam10
 
Messages : 101
Inscription : 12 Jan 2018
Localisation : Leuze - Belgique

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 09 Juin 2019 13:28

Hello,
Je ne suis pas sûr de comprendre la question. En fait, il faut juste une bonne enceinte. Si tu as sous la main une enceinte WiFi, tu n'utiliseras que la partie "haut-parleur" de ton enceinte, car la partie WiFi est gérée par ce montage lui-même
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Essam10 » 09 Juin 2019 22:45

Cen a écrit:Hello,
Je ne suis pas sûr de comprendre la question. En fait, il faut juste une bonne enceinte. Si tu as sous la main une enceinte WiFi, tu n'utiliseras que la partie "haut-parleur" de ton enceinte, car la partie WiFi est gérée par ce montage lui-même


Bonjour
Désolé, je me suis très mal exprimé !

Je ne suis pas assez doué en informatique pour réaliser ton superbe montage.
Si j'achète une enceinte wifi pas trop cher, est ce que je saurai l'utiliser de la même façon que la tienne dans Eedomus?

Merci
Eedomus +
RFXcom (5 Volets Simu , 3 Chacon Dio, Pluviomètre PCR800,6TGHN132N, 1THGR122NX)
Zigate (7 xiaomi ouverture porte)
Capteur Garage Vision Zwave
2 Sonoff Basic
Essam10
 
Messages : 101
Inscription : 12 Jan 2018
Localisation : Leuze - Belgique

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 12 Juin 2019 15:53

Hello Essam10,

Non, ça ne marchera pas. Par contre, tu peux utiliser un GoogleHome:
1) Tu intègres ton GoogleHome dans ton eedomus, en suivant la documentation eedomus
2) Dans "Configuration du système/GoogleHome", tu vas dans l'onglet "Valeurs"
3) Et là, tu peux rentrer le text que tu veux faire annoncer par ton GoogleHome
Par exemple
URL: http://localhost/script/?exec=chromecast.php&ip_or_mac=[VAR1]&value=[RAW_VALUE]
TYPE: GET
PARAMETRES: &action=tts&lng=fr-FR&volume=80&text=Je fais un essai
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar clarinette49 » 12 Juin 2019 16:09

Et sur Sonos, on peut envoyer des messages depuis la box ?
clarinette49
 
Messages : 56
Inscription : 21 Mai 2019
Localisation : Angers

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 12 Juin 2019 16:48

Bonjour Clarinette,
Je n'ai pas d'expérience avec les Sonos, mais la documentation est claire: oui, et ça à l'air simple à paramétrer: https://doc.eedomus.com/view/Eedomus_et_Sonos
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar clarinette49 » 12 Juin 2019 17:14

merci
clarinette49
 
Messages : 56
Inscription : 21 Mai 2019
Localisation : Angers

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Essam10 » 19 Juin 2019 19:53

Voila j'ai commandé le GH
Eedomus +
RFXcom (5 Volets Simu , 3 Chacon Dio, Pluviomètre PCR800,6TGHN132N, 1THGR122NX)
Zigate (7 xiaomi ouverture porte)
Capteur Garage Vision Zwave
2 Sonoff Basic
Essam10
 
Messages : 101
Inscription : 12 Jan 2018
Localisation : Leuze - Belgique

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Essam10 » 02 Juil 2019 07:28

Cen a écrit:Hello Essam10,

Non, ça ne marchera pas. Par contre, tu peux utiliser un GoogleHome:
1) Tu intègres ton GoogleHome dans ton eedomus, en suivant la documentation eedomus
2) Dans "Configuration du système/GoogleHome", tu vas dans l'onglet "Valeurs"
3) Et là, tu peux rentrer le text que tu veux faire annoncer par ton GoogleHome
Par exemple
URL: http://localhost/script/?exec=chromecast.php&ip_or_mac=[VAR1]&value=[RAW_VALUE]
TYPE: GET
PARAMETRES: &action=tts&lng=fr-FR&volume=80&text=Je fais un essai


Donc tu crées bien un actionneur HTML ?
Eedomus +
RFXcom (5 Volets Simu , 3 Chacon Dio, Pluviomètre PCR800,6TGHN132N, 1THGR122NX)
Zigate (7 xiaomi ouverture porte)
Capteur Garage Vision Zwave
2 Sonoff Basic
Essam10
 
Messages : 101
Inscription : 12 Jan 2018
Localisation : Leuze - Belgique

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Cen » 02 Juil 2019 10:12

Bonjour Essam10,
Pour installer GoogleHome dans l'environnement, le plus simple est de suivre les indications données par eedomus: https://doc.eedomus.com/view/Eedomus_et_Google_Home

Bonne paramétrisation!!
CEN
Cen
 
Messages : 38
Inscription : 14 Oct 2015

Re: Tuto : Enfin un son remarquable pour la eedomus!!

Messagepar Essam10 » 02 Juil 2019 19:32

Cen a écrit:Bonjour Essam10,
Pour installer GoogleHome dans l'environnement, le plus simple est de suivre les indications données par eedomus: https://doc.eedomus.com/view/Eedomus_et_Google_Home

Bonne paramétrisation!!
CEN

Super , ca marche aussi!!
Merci
Eedomus +
RFXcom (5 Volets Simu , 3 Chacon Dio, Pluviomètre PCR800,6TGHN132N, 1THGR122NX)
Zigate (7 xiaomi ouverture porte)
Capteur Garage Vision Zwave
2 Sonoff Basic
Essam10
 
Messages : 101
Inscription : 12 Jan 2018
Localisation : Leuze - Belgique


Retour vers Tutoriels

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)