ESP8266 + IFTTT (WiFi Button) | Smart Project

In questo progetto costruiremo un pulsante Wi-Fi che una volta premuto invia una notifica sul nostro cellulare. Il pulsante Wi-Fi non è un’idea nuova e questo concetto è stato reso popolare da Amazon che ha creato il suo pulsante Dash per eseguire degli acquisti istantaneamente.

Invece di ordinare un prodotto possiamo far accendere una luce, inviare una notifica, una e-mail e tantissime altre cose come potremmo vedere successivamente.

Utilizzeremo le schede ESP8266 in quanto molto economiche e quindi ipoteticamente potremmo costruirne diversi e metterli in vari ambienti della casa. Quindi realizzeremo un oggetto simile al dashbutton ma gli faremo eseguire le azioni che piu riteniamo opportune.

Procuriamoci una scheda con chip ESP8266, nel mio caso utilizzo una Wemos D1 miniPro già equipaggiata con un pulsante, che come vedremo dovrà coincidere con il pulsante per il reset della scheda ed una piccola batteria a 5V per rendere il tutto indipendente e mobile:

Inoltre ci collegheremo ad un servizio gratuito chiamato IFTTT che ci permette di creare delle piccole applicazioni o applet per automatizzare alcune azioni.

Creazione Applet IFTTT

Questo acronimo sta per If This Than That, che potrebbe tradursi in “se succede questo, allora fai succedere quello“. Come dice la frase permette di automatizzare delle attivita connettendosi a diversi servizi online. Noi lo utilizzeremo per prendere la richiesta dalla scheda ESP ed inviare la notifica.

Digita nel tuo browser https://ifttt.com e fai clic sul pulsante ” Inizia ” al centro della pagina. Completa il modulo con i tuoi dati e crea il tuo account.

Creiamo la nostra prima applet, o meglio una mini sequenza di istruzioni, premendo il pulsante crea ” Nuova applet “.

Fare clic sulla parola ” this ” e cercare il servizio ” Webhook “, premiamo l’opzione ricevi una richiesta web. In questo modo possiamo eseguire una azione quando l’applet riceve una richiesta HTTP ad un URL specifico.

Digitiamo il nome dell’evento “button_pressed” e creiamo il trigger.

Ora premiamo “that” e crechiamo il servizio notifica cellulare tramite l’app che abbiamo installato su un nostro telefono. Qui possiamo cambiare il messaggio della notifica ed inoltre con il tag EventName inseriremo il nome dell’evento precedentemente creato.

Dovresti avere la tua applet creata dopo aver fatto clic su ” Fine “:

Ora testiamo la nostra applicazione e cerchamo il servizio “Webhooks” ed entriamo nella scheda “Documentation”

Qui puoi trovare la tua API KEY univoca che devi mantenere privata. Digita il nome dell’evento, button_pressed . URL finale dovrebbe apparire nella parte inferiore della pagina web. Copia quell’URL ci servira all’interno del codice che caricheremo nel nostro ESP.

Possiamo verificare anche il funzionamento dell’URL copianto e incollandolo nel nostro browser. Dovresti vedere questo messaggio che dice ” Congratulazioni! “.

Caricamento del codice​

Prima di copiare il codice andiamo ad impostare l’IDE di Arduino con l’uso della scheda ESP8266. Andiamo in File->Impostazioni e in URL aggiuntive per Gestore Schede copiamo il seguente link:

  • http://arduino.esp8266.com/stable/package_esp8266com_index.json

Selezioniamo in Strumenti->Schede->Gestore schede e cerchiamo ESP8266 ed installiamo.

Nuovamente in Strumenti->Schede e dall’elenco selezioniamo Generic ESP8266 Module.

Ora possiamo copiare e incollare il codice che bisogna caricare sulla scheda.

E’ necessario modificare tre variabili: SSID, password della vostra rete WIFI e in resource incollate URL precedentemente generato dallo “/trigger/…”

Come funziona il codice:

  1. Avvia la comunicazione seriale a una velocità di trasmissione di 115200;
  2. Esegue la funzione *initWifi* che stabilisce una connessione Wi-Fi tra l’ESP e il router;
  3. Quindi, esegue la funzione *makeIFTTTRequest* che farà una richiesta al servizio IFTTT e alla fine IFTTT invierà la notifica.
  4. Infine usiamo la funzione deep sleep, in modo che l’ESP cosumi pochissimo una volta inviata la richiesta. Infatti quando si preme il pulsante l’ESP si attiva, esegue un’azione e torna in modalità Deep Sleep.

Osserviamo che tutto il codice è messo nella funzione di setup in quanto il processo deve essere eseguito una sola volta. Il pulsante o meglio l’evento coincide con il reset del programma.

Numerose applicazioni

È possibile sostituire il pulsante con altri sensori. Ad esempio, se sostituisci il pulsante con un sensore di movimento PIR, possiamo essere avvisati quando qualcuno entra in una stanza della tua casa oppure puoi usarlo per rilevare il fumo in una stanza. 

La sostituzione del pulsante con un interruttore reed magnetico consente di rilevare se qualcuno ha aperto una porta o una finestra. Ad esempio possiamo collegarlo alla cassetta della posta e ricevere una notifica quando arriva il postino.

Le applicazioni in cui sfruttare questo progetto sono infinite.

Risultato Finale

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Ultimi Articoli