ESP32 (16) – IFTTT

luca 07/05/2017 0

Dopo aver pubblicato il tutorial relativo all’invio di SMS con il chip ESP32, ho ricevuto diversi commenti tramite il sito web da parte di utenti che chiedevano un modo di inviare notifiche gratuite. Oggi vi mosterò una possibile soluzione; sarà anche l’occasione per parlarvi di IFTTT e dello sviluppo di componenti custom per il framework esp-idf.

IFTTT

IFTTT (IF This Then That – Se questo allora quello) è un servizio web che consente di realizzare applets collegando in modo semplice dei servizi secondo la logica di se accade questo, allora esegui quello.

ifttt-12

Per capire meglio di cosa si tratta, citiamo alcune applets già pronte:

  • inviami una mail se per domani è prevista pioggia
  • condividi automaticamente su Facebook le foto che posto su Instagram
  • attiva la modalità silenziosa del telefono quando arrivo al lavoro

Il vantaggio di IFTTT è proprio la grande disponibilità di servizi già pronti: da quelli che interrogano siti di previsioni meteo, a quelli che si interfacciano con i social networks più famosi, fino a servizi per dialogare con dispositivi hardware come braccialetti FitBit o i termostati Nest.

Oltre al sito web, IFTTT è disponibile via app Android e iOS: per questo tutorial andremo infatti ad utilizzare una funzionalità delle app, le notifiche.

Maker Webhooks

Tra i tanti servizi che IFTTT mette a disposizione, uno è particolarmente comodo per integrazioni con dispositivi IoT: il servizio Maker Webhooks. Come indica anche il suo nome, tale servizio consente di dialogare con le applet via web. Se aggiunto come This (trigger, ovvero fonte dell’evento che attiva l’applet), il servizio consente di inviare alla applet un evento tramite chiamata web (GET o POST), mentre se aggiunto come That (action, ovvero azione che compie l’applet), il servizio consente alla applet di effettuare una chiamata web:

ifttt-13

Il servizio Maker Webhooks sarà il primo “mattone” della nostra applet: grazie ad esso potremo attivare l’applet con una chiamata web effettuata dal chip ESP32, passando anche dei parametri opzionali.

Notifications

Il secondo servizio che ci servirà si chiama Notifications: tramite tale servizio la applet potrà inviare notifiche al nostro cellulare. Unico requisito è che sul cellulare sia installata l’app di IFTTT e sia stato effettuato il login con lo stesso account IFTTT che crea l’applet.

Applet

Vediamo come costruire l’applet. Dopo aver effettuato la registrazione al sito, clicchiamo su New Applet.

Clicchiamo su this:

ifttt-01

Inseriamo qualche lettera del nome “Maker Webhooks” per cercare il servizio, quindi clicchiamo sulla sua icona:

ifttt-02

Selezioniamo l’unico trigger che il servizio mette a disposizione:

ifttt-03

Inseriamo il nome dell’evento che attiverà l’applet. Possiamo scegliere un nome a piacere che dovremo utilizzare in seguito per effettuare la chiamata web:

ifttt-04

Clicchiamo ora su that:

ifttt-05

Cerchiamo e selezioniamo il servizio Notifications:

ifttt-06

Clicchiamo ora sull’unica action che il servizio mette a disposizione:

ifttt-07

Personalizziamo il messaggio visualizzato come notifica. Possiamo inserire anche dei parametri che saranno ricevuti, insieme al nome dell’evento, tramite la chiamata web:

ifttt-08

Terminiamo la creazione dell’applet con Finish:

ifttt-09

Chiave personale

Per poter effettuare una chiamata al servizio Maker Webhooks, dobbiamo conoscere la nostra chiave personale. Colleghiamoci alla pagina del servizio e clicchiamo su Settings:

ifttt-10

Prendiamo nota della chiave che si trova dopo /use/ nella URL del servizio:

ifttt-11

esp32_ifttt_maker component

Per semplificare l’interazione con il servizio Maker Webhooks, ho preparato un componente pronto per l’utilizzo con il framework esp-idf. Possiamo paragonare i componentilibrerie, elementi di codice riutilizzabili nei propri programmi. Sarà sufficiente infatti copiare la cartella che contiene il componente nella sottocartella components del nostro progetto per averlo a disposizione:

ifttt-14

Il componente esp32_ifttt_maker è disponibile in un repository Github e il suo utilizzo è spiegato per esteso in una pagina dedicata del mio sito.

Demo

Ho preparato un programma di esempio che invia alcune notifiche tramite applets IFTTT; il sorgente si trova su Github.

Ecco un filmato che lo mostra all’opera (disponibili i sottotitoli in italiano):

Leave A Response »

Questo sito usa i cookie per poterti offrire una migliore esperienza di navigazione maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi