In
questa pagina si trovano due programmi piuttosto
interessanti: il primo permette il controllo dello stato di
una porta (o di una finestra) su Telegram; il secondo che ne
è un'evoluzione, e permette di controllare
contemporaneamente e in modo indipendente lo stato di due
accessi. Il progetto originale usa uno (o due) sensori
magnetici, ma possono essere sostituiti da qualsiasi switch
digitale,come interruttori, sensori magnetici, di
prossimità, a bolla di mercurio, sensori di movimento,
temperatura, tilt, radar o laser... ovvero tutti i sensori
con un livello di soglia digitale. Quindi possono essere utili sia come antifurto, ma anche per segnalare malfunzionamenti, o allarmi di vario tipo. Dipende semplicemente dalla nostra fantasia. Perché usare Telegram? Telegram permette, oltre agli scambi di messaggi tra persone, anche di inviare delle segnalazioni automatiche a un account stabilito. E noi useremo proprio questa opportunità. |
Il primo progetto |
Il
nostro primo progetto invierà un messaggio al nostro account
quando si verificherà un evento, per esempio quando si apre
o si chiude una porta. Questa semplice segnalazione può
diventare la base di un piccolo allarme autocostruito.
Poichè nel progetto originale si legge il cambio di stato di
un sensore magnetico, che a tutti gli effetti si comporta
come un semplice interruttore, al suo posto potremo
sostituire qualsiasi sensore che invii un segnale digitale
pari a "1" o "0". Il nostro programma lo intercetterà e ci
invierà un messaggio di segnalazione. Il secondo progetto è molto simile al precedente, l'unica differenza è che gestisce due sensori, invece che uno, aumentando le possibilità di controllo. |
Un sensore magnetico |
Lo schema elettrico |
Questo è lo schema elettrico per il collegamento diretto tra ESP01 e il sensore magnetico, che si comporta come un interruttore, ed è piuttosto semplice. In alcuni progetti i due cavi di uscita sono collegati, in modo un po' semplicistico, il primo allla porta digitale dell'ESP01 e il secondo al positivo (o al negativo, a seconda delo sketch). Ho preferito un collegamento "canonico", inserendo una resistenza che lo rende adatto a tutti i casi, anche quando si usino altri tipi di sensori, come per esempio il pulsante KY-004. |
Questo
invece è lo stesso schema di collegamento, però
adattato per la nostra basetta sperimentale.
Come si vede, il cavo di segnale, contrassegnato con "S",
andrà collegato alla porta di ingresso di ESP01 nominata
"GPIO2".
|
Il collegamento del sensore alla scheda |
La configurazione di Telegram |
Naturalmente, prima di tutto, è necessario avere installato Telegram, operazione che diamo per scontata. Aprire Telegram e inserisci nello spazio di ricerca "BotFather". Si aprirà una finestra simile a questa: Nello spazio inferiore, quello dedicato ai messaggi, digitare: "/newbot". Verrà chiesto il nome. In questo test., l'ho chiamato "door_control" Ora dobbiamo inserire il nome per l'utente che utilizzerà questo bot. E' necessario che il nome sia formalmente esatto e libero. A volte sarà neceasario qualche tentativo. Ho usato "RicDoorbot". Abbiamo trovato un nome formalmente corretto e disponibile e il bot è stato creato. Salvare con cura il token API evidenziato nel riquadro rosso. Dovrà essere inserito nel programma per poter accedere al proprio bot. |
L'icona di "BotFather" Le informazioni di base IL nome del nostro bot Ecco il nome dell'utente per questo bot. |
Come inviare un messaggio al proprio Bot |
Il
prossimo passaggio è molto importante, non tralasciarlo!
Altrimenti il progetto non funzionerà! E' necessario inviare un messaggio al tuo Bot dal tuo account Telegram, prima che esso possa inviare a te i messaggi automatici. Tornare alla schermata iniziale di telegram, e nel campo di ricerca, inserire il nome del proprio utente per il bot appena creato, dare invio e premere il tasto START. |
Inserire il nome del proprio utente per il bot |
Come ottenere il proprio "user ID" |
Per inviare del messaggi automatici al proprio account Telegram, è necessario conoscere il proprio "user ID". Nel proprio account Telegram, inserire "myidbot" nel campo di ricerca di Telegram. Selezionare l'icona corrispondente a "IDBot". Nella nuova finestra che si apre, digitare "/getid". Salvare il proprio userId, servirà nella compilazione del programma. |
Digitare "myidbot" Salvare il proprio "user ID" |
Il programma |
Come
prima cosa, è necessario verificare se si sono
installate tutte le librerie necessarie. Verificando o
lanciando la compilazione del programma, verranno
visualizzate quelle eventualmente mancanti. In questo
caso, provare prima di tutto a scaricarle attraverso la
Ide di Arduino. Nel caso non si trovassero tutte,
scaricarle dalla finestra che appare sulla destra. Nel caso di dubbio, controllare la pagina relativa alla gestione delle librerie |
ESP8266WiFi.h UniversalTelegramBot.h ArduinoJson.h |
I dati da inserire nel programma. |
Nel
programma è necessario inserire alcune informazioni:le prime
sono comuni ai programmi presentati in queste pagine: ovvero
il nome della rete WiFi e la password relativa. Ma sono necessarie anche altre due informazioni, che abbiamo salvato nella configurazione di Telegram, ovvero il tochen API (riquadro verde) e lo userID (riquadro blu). |
Per
rilevare l'apertura di una porta, collegheremo il sensore
alla porta digitale GPIO2 di ESP01. Dopo aver caricato il programma,in pochi secondi ESP01 si connetterà alla nostra rete WiFi. In questo caso, non è necessario di registrare l'indirizzo IP. |
La porta di connessione del sensore ESP01 si è connesso alla rete |
Il test del programma su Telegram |
Dopo aver connesso il nostro a ESP01al sensore e all'alimentazione, nuovamente il modulo si collegherà alla rete WiFi e quindi anche a Internet. Se si apre la app di Telegram e si avvia premendo "Start" sul nome del bot (in questo caso) door_control, apparirà questo messaggio, indicando che si è stabilito il contatto: | Si è stabilito il contatto con ESP01 |
Ed ecco finalmente la segnalazione della porta aperta (riquadro rosso ) e della porta richiusa (riquadro verde). Viene indicata anche l'ora in cui l'evento si è manifestato. E questo in ogni parte del mondo, con un ritardo di pochi secondi, in modo del tutto gratuito! | Ecco i segnali del cambio di stato del sensore. |
Clicca qui per visualizzare il programma. Clicca qui per scaricare il programma in formato ".zip" |
Il secondo progetto |
Il
secondo progetto è del tutto simmetrico al primo;
semplicemente è stato aggiornato in modo di poter gestire
due sensori invece che uno, dando la possibilità di
espandere il controllo, per esempio gestendo una porta e una
finestra, o due finestre, ecc. |
Lo schema elettrico |
Ecco lo schema elettrico generale per il collegamento di due sensori a un ESP01. Il secondo sensore verrà collegato alla porta digitale GPIO0, utilizzando sempre una resistenza di pull up da 10 KOhm. |
Lo schema elettrico del collegamento dei due sensori sulla basetta sperimentale. Il collegamento del secondo sensore è del tutto simmetrico al primo e si collega su DG2. | Lo schema di collegamento con due sensori |
La basetta sperimentale con i due sensori. |
Ed
infine la foto del collegamento di un secondo pulsante
KY-004 sulla basetta sperimentale. Al momento non
dispongo dei sensori magnetici usati nel progetto. Tuttavia
i due pulsanti, al fine del test del programma, sono del
tutto equivalenti ai sensori magnetici. |
La configurazione di Telegram |
La
configurazione di Telegram è esattamente identica a quella
con un solo sensore. E' consigliabile aprire un nuovo bot,
in modo tale che i due progetti siano del tutto
indipendenti. Se si crea un nuovo bot, è necessario salvare il token API, mandare un messaggio e recuperare lo "userID". Per tutte queste operazioni, vedere quanto illustrato diffusamente per il programma con un singolo sensore. |
Il programma con due sensori |
Anche
per quel che riguarda il programma, è del tutto simile al
precedente, naturalmente sono state aggiunte delle routine
per gestire i due sensori magnetiche ed effettuato qualche
piccola variazione. Sarà necessario inserire idati relativi alla rete e al nuovo bot. |
Il test
del programma con due sensori |
Ed ecco il test del programma: come si vede al cambiamento dello stato della porta (door) e della finestra (window), il programma invia in pochi secondi un messaggio di aletr al nostro account di Telegram |
Clicca qui per vedere il programma. Clicca qui per scaricare il programma in formato ".zip" |
Puoi trovare il progetto originale a questo link (esterno al sito di EthicalDiy), a cui ancora una volta va la mia gratitudine: https://randomnerdtutorials.com/esp8266-nodemcu-door-status-telegram/ |