sensore di movimento wifi

Sensore di movimento Wi-Fi DIY con ESP8266 e MQTT

Con pochi e semplici componenti è possibile assemblare un sensore di movimento Wi-Fi universale, integrabile in tutti i propri progetti.
Un sensore di movimento è un device tanto semplice quanto indispensabile e versatile, in quanto permette l’esecuzione di determinate azioni ad ogni rilevazione, trovando impiego in diversi campi, domotica e sicurezza compresi.

Scopo del progetto

In commercio è possibile trovare diversi sensori di movimento Wireless, ma la maggior parte di questi operano su onde radio a 433Mhz. Questo significa che per essere integrati in un sistema di home automation, necessitano di un dispositivo supplementare che faccia da ponte di collegamento.
Questo progetto nasce dalla necessità di avere un sensore di movimento low-cost universale, che si possa collegare ad una rete W-Fi e che possa essere integrato tramite MQTT con praticamente tutte le piattaforme sofware per la domotica, compresa OpenHAB.

Lista della spesa

Per realizzare questo progetto, basterà reperire pochi componenti, indicati qui di seguito.

CTA Guida Automotive

  • 1x Modulo ESP8266-01
  • 1x Sensore PIR HC-SR501
  • 1 x Trasformatore incapsulato da CS Hi-Link HLK-PM03
  • 1 x Basetta millefori (Facoltativo)
  • Saldatore, cavetti e stagno per assemblare il circuito

Modulo ESP-01

modulo wifi esp-01In questo progetto al posto di utilizzare una DEV board basata sul modulo Wireless ESP8266, è stato scelto di impiegare direttamente un modulo ESP8266, in versione ESP-01.
Questo per ridurre al minimo la dimensione del circuito e perché non sono necessari molti pin di input e output.
Il modulo Wireless ESP8266, è basato su un SoC MCU a 32bit ed è nato per aggiungere connettività Wireless ai sistemi elettronici e per la progettazione di sistemi IoT low-cost.
Si tratta di modulo disponibile in diverse versioni, con una potente capacità di elaborazione grazie alla quale è possibile collegare, attraverso i suoi pin GPIO, diverse periferiche, tra le quali dei sensori ed altri dispositivi compatibili.
Le sue dimensioni ridotte lo rendono ideale per la progettazione di dispositivi compatti e la mole di documentazione presente online, accoppiata alla possibilità di utilizzar diversi linguaggi di programmazione,  rendono il suo utilizzo meno ostico.
Maggiori informazioni sui moduli e le DEV board basati sui moduli wireless ESP8266 e ESP32 li trovate in questo articolo.

SENSORE PIR HC-SR501

pir sensorIl sensore PIR è un tipo di sensore passivo, che rileva i raggi infrarossi nel suo campo visivo, segnalando se qualcosa (o qualcuno) è in movimento. Questo perchè è in grado di individuare tutto quello che presenta una temperatura superiore allo zero assoluto e che di conseguenza emette energia sottoforma di radiazioni infrarosse.
Davanti al sensore è presente una lente (lente di Fresnel) che scompone l’ambiente in fasci in modo da creare le zone necessarie a percepire la differenza di temperatura generata da un corpo caldo che le attraversa.
Il sensore si adatta al livello di radiazione infrarossa presente nella stanza in cui è installato e comincia a monitorare ogni variazione nel suo campo d’azione.
Ogni oggetto che si muove nella stanza perturberà questo livello di radiazione infrarossa, e produrrà una variazione di stato che verrà segnalata dal modulo PIR.
Esistono diversi modelli di sensori PIR, ma la funzione basilare è uguale per tutti: ogni qualvolta viene rilevato un movimento, varia lo stato logico del sensore.

ALIMENTATORE INCAPSULATO DA CS

hi-link transformer 3.3VPer alimentare la board verrà utilizzato il trasformatore incapsulato HLK-PM03, creato per alimentare con estrema semplicità le schede elettroniche.
Dato un input compreso nel range di 100-240V AC , verrà dato un output di 3.3V DC, erogando fino a 3W.
La casa madre di questo trasformatore commercializza anche altre due versioni, da 5V e 12V DC.

Software MQTT

MQTT è un protocollo di comunicazione binario semplice e versatile, di tipo client-server.
Creato nel 1999 con l’intento di ottenere un protocollo che potesse ridurre al minimo l’utilizzo della banda nelle comunicazioni tra dispositivi e il consumo delle batterie.
Dopo pochi anni venne acquisito dall’associazione OASIS e nel 2010 divenne uno degli standard più interessanti nel mondo dell’IoT.
Il protocollo MQTT, per scambiare informazioni, sfrutta un meccanismo di pubblicazione e sottoscrizione di messaggi tramite un apposito message broker.
Se un determinato client vuole comunicare con un altro, pubblica un messaggio su un certo argomento (detto topic) sul message broker.
Il message broker ha il compito di filtrare e distribuire le comunicazioni tra pubblisher e subscriver.
I client possono iscriversi a determinati argomenti (topics) e ogni volta che viene pubblicato un nuovo messaggio su quegli argomenti, il message broker lo distribuisce a tutti i destinatari, configurando in questo modo un sistema di messagistica uno a molti.

Prossimamente approfondiremo questo argomento, continuando la serie di articoli dedicati ai mezzi trasmissivi e protocolli di comunicazione per la domotica.

logica mqtt
https://1sheeld.com/wp-content/uploads/2018/07/mqtt-diagram@2x-768×241.png

Programmazione

Per programmare il modulo EP8266, potete fare riferimento alla Guida completa sui moduli ESP8266 e ESP-32.
Ecco il procedimento da seguire:

CTA Guida Automotive
  1. Scaricare lo sketch allegato a questo articolo;
  2. Avviare l’IDE di Arduino;
  3. Aprire lo sketch appena scaricato;
  4. Collegare il modulo ESP8266 al PC come indicato nella guida;
  5. Selezionare la board corretta;
  6. Avviare il caricamento ed aspettare il completamento dell’operazione.

Hardware

Per assemblare il circuito, collegare i componenti come nell’immagine di collegamento seguente:

schema di collegamento pir esp8266 mqtt

Conclusione

Con pochi componenti è stato possibile assemblare un dispositivo che può risultare utile in diverse circostanze.
Il circuito presentato può essere saldato su una basetta millefori, ma data la sua semplicità, i collegamenti potrebbero essere eseguiti saldando direttamente dei cavi ai componenti, da installare accuratamente dentro un apposito box.
Il protocollo di comunicazione MQTT permette di ottenere con estrema semplicità una vera e propria rete di comunicazione tra diversi dispositivi, anche se appartenenti a dei sistemi diverso, motivo per il quale prossimamente approfondiremo l’argomento.
Scarica il codice sorgente

Ivan Scordato
progettista elettrico e appassionato di nuove tecnologie. Scrive articoli di approfondimento tecnico e conosce anche tecniche SEO per la scrittura su web.