Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Progetti hardware
Basetta sperimentale per ESP01

Dati costruttivi della basetta sperimentale

Download dei file necessari per la realizzazione della basetta sperimentale



Informazioni di base

Come installate la IDE di Arduino

Configurazione di ESP01

Caricamento dei programmi

Le librerie necessarie



Programmi vari

Creare un Web server

Temperatura e umidità con
DHT11/DHT/21/DHT22


Controllo di 1/2 relè via WiFi

DHT11/DHT21/DHT22 + 1 relè

Una stazione meteorologica con BMP280

Ricevere la data e l'ora esatta

Una stazione meteorologica con OpenWeatherMap

Monitorare la qualità dell'aria con BMP680



Programmi con Telegram

Verifica l'apertura di uno/due vani

Controllo di due relè



Programmi con ThingSpeak




 
Programmi con in Db Firebase




Programmi con Mosquitto (MQTT)



ESP01: controllare lo stato di una (o più ) porte su Telegram


telegram

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.


sensmagn
Un sensore magnetico





Lo schema elettrico



tel1

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".
Come si vede, una resistenza da 10 KOhm (10.000 Ohm) è stata inserita tra il cavo di segnale ("S") e il negativo ("-" o Gnd).  Nel caso si utilizzino altri sensori su scheda, come il pulsante KY-004, KY-031, KY-002, KY-010, KY-017, KY-035, KY-021, ecc., la resistenza è già stata inserita sulla scheda stessa.



ky004
KY-004



tele1
Il collegamento del sensore alla scheda




telepcb1
Il pulsante KY-004 è evidenziato nel riquadro colorato.





Ed infine, il collegamento sulla scheda sperimentale "reale". Non ho il sensore magnetico indicato nel progetto, per cui l'ho sostituito, per i test, con un pulsante KY-004. I collegamenti sono gli stessi, naturalmente è necessario fare attenzione al corretto posizionamento.





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.

bot1
L'icona di "BotFather"

bot2
Le informazioni di base


bot3
IL nome del nostro bot

bot4
Ecco il nome dell'utente per questo bot.


bot5


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.





bot6
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.


bot8a
Digitare "myidbot"


bot8
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




bot10

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.

bot11
La porta di connessione del sensore

bot12
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:
bot13
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 unritardo di pochi secondi, in modo del tutto gratuito!
bot14
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



tete2

Ecco lo schema elettrico generale per il collegamento di sue 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.
tele2
Lo schema di collegamento con due sensori



tele2pcb
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.

bot

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.

bot10



Il test del programma con due sensori



bpt15

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/





Per contatti: info@ethicaldiy.org