MP3 player su esp8266 (Tasmota) - come integrarlo in Home Assistant

MP3 player su esp8266 (Tasmota) - come integrarlo in Home Assistant

di Luigi Duchi

08 Dicembre 2021

Domotica

Luigi Duchi

 Ogni volta che mi capita tra le mani un esp8266 immagino sempre un nuovo progetto. Un chip veramente versatile, solo di recente sostituito con il più performante chip ESP32.

Abbiamo visto in passato molti progetti sul nostro Blog che facevano proprio uso dell'esp8266.

Ne indico alcuni qui sotto tra i più interessanti:

Home Assistant e climatizzatori - D1 Mini per clonare la centralina di un Mitsubishi

Costruiamo un anemometro con un D1 mini e integriamolo in Home Assistant

Come rendere Smart le Strip Led digitali grazie al firmware WLED

 Nel progetto di oggi vedremo come trasformare un ESP8266 in un vero mp3 player grazie al firmware tasmota e come poterlo integrare in Home Assistant.

DFPlayer

Il progetto si basa su un dispositivo molto interessante da accoppiare al nodeMCU.

DFRobot DFPlayer Mini MP3 Player

Questo piccolo chip munito di lettore di schede microSD, permette, una volta opportunamente connesso ad un nodeMCU (o ad un d1 mini), di riprodurre file musicali, grazie anche all'uscita speaker alla quale si potranno collegare 2 piccole casse direttamente amplificate dal df player.  In alternativa sarà possibile usare un'uscita dac alla quale poter connettere delle casse pre-amplificate.

Vi starete chiedendo a cosa possa servire questa soluzione, apparentemente banale, e che qualsiasi smartphone fa decisamente meglio!

Più in la nell'articolo mostreremo come, tramite protocollo MQTT, sarà possibile far dialogare questo semplicissimo sistema con Home Assistant.

 

Immaginare dunque per esempio di far partire frasi pre-campionate personalizzate per la vostra domotica. Il risultato vi assicuro che non è affatto male!

 Prima di andare avanti nella guida guardiamo cosa serve per realizzare il progetto. 

La maggior parte di voi (se vi piace smanettare con queste cose) avrà già a casa parte del materiale, ma per agevolare chi si avvicina per la prima volta a progetti del genere inserisco tutto il materiale necessario.

 

LISTA DELLA SPESA:

1 NodeMCU che potrete acquistare QUI (in realtà è il kit da 3 ma è molto conveniente).

1 DFPlayer mini, vi consiglio di acquistare questo QUI in quanto include i due piccoli speaker.

2 resistenze d 1kohm ma, perchè no, acquistate un set completo, fanno sempre comodo per vari progetti. Disponibili QUI

Se vorrete provare il vostro progetto prima di saldarlo su una basetta mille fori, l'accessorio che non deve mancare mai nella casa del perfetto smanettone è la breadbord con i rispettivi jumper. Vi consiglio questo kit QUI

Eventualmente se non vorrete usare le casse incluse (non vi aspettate miracoli da quelle) potrete usare un uscita jack a 3 pin acquistabile QUI

Partiamo con il progetto:

La prima cosa che dovrete fare è andare alla pagni di tasmota che riguarda il DFPlayer: la troverete QUI

pagina tasmota dfplayer

 

Vi accorgerete che per questo dispositivo servirà la versione sensor di tasmota, la potrete scaricare dalla pagina ufficiale QUI

tasmota-sensor.bin

 

Una volta scaricata dovrete procurarvi un programma per flashare il nodeMCU. 

 

Ce ne sono tantissimi, io utilizzo spesso ESPHome-Flasher, lo potrete reperire gratuitamente dalla pagina ufficiale github che trovate QUI

 

Collegate il vostro nodeMCU tramite usb al computer (se è la prima volta che lo fate dovrete reperire i driver gratuitamente sul web)

 

Aprite il programma ESPHome-Flasher.

Esphome flasher

Alla voce serial port dovrete selezionare la usb alla quale è collegato il vostro nodeMCU.

 

Mentre cliccando su Browse andrete a cercare il vostro file tasmota-sensor.bin

 

Una volta effettuato queste operazioni cliccate su Flash ESP

Attendete la fine della procedura e vi ritroverete tasmota sul dispositivo.

 

Adesso aprite le impostazioni wifi del vostro smartphone e cercate una rete wifi chiamata tasmota.

 

Connettetevi a quella rete che, per ovvie ragioni, non avrà connessione internet. Vi dovrebbe portare ad una pagina sulla quale potrete selezionare la vostra rete wifi con la vostra password. Se cosi non fosse andate sul browser e digitate l'indirizzo 192.168.4.1

 

login tasmota

 

Una volta inseriti i vostri dati attendete che il nodeMCU si connetta alla vostra rete e attendete che vi mostri quale indirizzo ip il vostro router gli abbia assegnato.

 

indirizzo ip assegnato

 

nel mio caso 192.168.1.111

 

Recatevi a quell'indirizzo dal vostro browser (ovviamente dovrete essere connessi alla stessa rete wifi alla quale avete collegato il nodeMCU).

 

Questa sarà la pagina che vi si presenterà:

 

tasmota primo accesso

 

Cliccate su configuration e successivamente configure module 

 

Dal menù a tendina selezionate generic (18), in genere è l'ultimo della lista.

 

Cliccate su save e attendete che il nodeMCUsi riavvii.

 

Vi ritroverete a questa schermata.

 

tasmota generic selezionato

 

Tornate nuovamente su configuration e successivamente configure module

 

Questa volta però troverete questa schermata.

 

configurazione generica vuota

 

Dovrete modificare come unico parametro quello che vedete nella foto sottostante e cliccare su save.

 

configurazione generica compilata

 

Adesso dovrete configurare MQTT. Per farlo cliccate nuovamente su configuration e successivamente configure mqtt

compilazione parametri mqtt

Alla voce host dovrete inserire l'indirizzo ip del vostro broker MQTT.

(se lo avete installato su Home Assistant, è il suo ip)

Alle voci user e password dovrete inserire le credenziali utilizzate in fase di configurazione del broker ed infine, se volete, potrete personalizzare il topic.

Io lo ho chiamato mp3.

 

Cliccate su save e, una volta riavviato, sarete pronti per i cablaggi.

 

Quindi sconnettete il nodeMCU dal vostro PC e andate a seguire uno dei seguenti schemi.

 

gpio dfplayer

 

schema ad 1 speaker

 

Questo è lo schema più classico una sola cassa senza uscita aux. Da notare le due resistenze da 1kohm molto utili per ridurre il "rumore" degli speaker.

 

schema a 2 speaker

 

Questo è lo schema che ho seguito per la guida odierna doppio speaker senza uscita aux.

 

Ed infine c'è lo schema con l'uscita aux. In questo schema c'è un d1 mini al posto del nodeMCU, ma di fatto non cambia nulla. Eventualmente su tasmota dovrete cambiare la gpio alla quale assegnare la funzione mp3.

 

uscita aux

 

In questo caso potrete rimuovere anche lo speaker e lasciare la sola uscita aux.

 

Una volta completato il cablaggio, indipendentemente dallo schema che avete scelto, dovrete preparare la scheda microSD.

 

Il DFPlayer accetta i formati fat16 e fat32 come formattazione della sd e la stessa non dovrà superare i 32GB di memoria.

 

Quindi, una volta formattata la sd(vi consiglio in fat32), potrete iniziare a metterci dentro i file musicali.

Ogni file dovrà essere in formato mp3 e dovrà essere rinominato in ordine crescente 001.mp3, 002.mp3, ecc... 

 

È molto importante anche l'ordine con il quale li inserirete nella sd, fatelo in ordine numerico.

 

 Alimentate il circuito mediante la usb del nodeMCU e recatevi, per testarlo, sulla pagina del vostro dispositivo all'indirizzo che gli era stato assegnato accedendo alla console di tasmota. 

 

comandi dfplayer da tasmota

 

Qui potrete testare tutti i comandi sopraelencati che svolgeranno le varie funzioni.

Ad esempio se digiterete Mp3Play partirà a riprodurre tutti i file musicali in ordine numerico.

 

Oppure potrete settare una determinata traccia con il comando Mp3Track x, dove x sarà il numero della traccia, oppure ancora settare il volume con il comando Mp3Volume x dove x sarà un numero tra 0 e 100.

 

 Sfruttando questi comandi ho creato uno switch di prova su Home Assistant utilizzando il protocollo MQTT.

 

Ovviamente potrete riportare tutti i parametri presenti su Home Assistant, ma non vi voglio levare tutto il divertimento cosi vi do solo un piccolo spunto da cui poter iniziare.

 

switch:
  - platform: template
    switches:
      mp3_player:
        turn_on:
          service: mqtt.publish
          data:
            topic: "cmnd/mp3/MP3Play"
            payload: ""
        turn_off:
          service: mqtt.publish
          data:
            topic: "cmnd/mp3/MP3Stop"
            payload: ""

 

Questo vi creerà uno switch che all'attivazione vi farà partire la riproduzione sul dfplayer e allo spegnimento la stopperà.

 

Questo dispositivo vi permetterà, una volta inserito in Home Assistant, di fare tantissime automazioni come una sveglia oppure usarlo per notifiche vocali per chi non volesse utilizzare assistenti domestici come quelli di Google o di Amazon.

Vi lascio al video di fine articolo.

 

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.

Disqus loading...