in Costruisci la tua rete domotica con Esp8266 e Raspberry Pi, Progetti

Costruisci la tua rete domotica con Esp8266 e Raspberry Pi – Progettazione dell’applicativo (Parte 1: Sensori ed Attuatori)

In questo articolo si inizia con l’esplorazione dei concetti che sono stati introdotti in precedenza nella serie, utilizzandoli per procedere con la progettazione di un semplice sistema  per il monitoraggio e controllo di elementi intelligenti. Quanto verrà presentato qui di seguito si pone come una possibile e semplice schematizzazione di un sistema di questo genere, che si presta bene per iniziare a muovere i primi passi nell’ambito della domotica, lasciando comunque la possibilità di apportare modifiche e sviluppi in un secondo momento.

L’idea alla base dell’applicativo è quella di potere acquisire dati da sensori sparsi per la casa, che permettano di ottenere informazioni sugli eventi che si verificano nell’ambiente preso in considerazione. Queste informazioni potranno essere utilizzate sia per controllare gli elementi intelligenti sia per essere restituite per scopi diagnostici agli utenti.

Introduciamo gli elementi fondamentali che andremo ad utilizzare per la realizzazione di quanto appena detto:

  • I sensori, tramite cui vengono acquisiti i dati grezzi relativi all’ambiente circostante;
  • I dispositivi smart, che hanno un comportamento vario ed adeguabile al tipo di fenomeno che viene registrato;
  • Un mediatore, che coordina i vari elementi della rete permettendo loro di dialogare in maniera corretta.

Si è già parlato sia dei dispositivi che si utilizzeranno per l’implementazione effettiva di questi elementi, sia dei protocolli applicativi di cui si andrà a fare uso. Partendo da questi ultimi, ed in particolare da MQTT, si inizia la fase di progettazione vera e propria.

Per semplificare questo lavoro, da ora in poi si farà riferimento ai vari elementi definendoli in funzione di cosa fanno senza far caso per il momento a come lo fanno. Si procederà poi, nello stesso modo, ad isolare ogni singola operazione eseguita all’interno di ogni elemento , ottenendo un diagramma a blocchi descrittivo del comportamento di ogni modulo dell’applicativo.

La rete da costruire deve essere capace di ottenere informazioni che possano essere osservate da un utente e che possano essere elaborate per permettere il cambiamento automatizzato del comportamento dei dispositivi intelligenti; allo stesso tempo, questi comportamenti devono potere essere impostati anche manualmente dall’utente stesso, tramite una sorta d’interfaccia. Lo schema della rete, in questa fase embrionale, può essere riassunto dal grafico riportato qui di seguito.

Esempio di schema della rete presa in considerazione

I vari elementi della rete dialogano tra di loro tramite l’uso del protocollo MQTT: va quindi definita una struttura di topic tale da poter permettere questo dialogo in maniera chiara ed efficiente. In questo caso questo lavoro risulta non essere particolarmente complesso, in quanto si ha a che fare con una struttura semplice, ma vedremo in seguito come realtà complesse possono essere affrontate con soluzioni simili. Ponendoci nel caso introdotto nel primo articolo, potrebbe tornare utile suddividere l’abitazione in stanze e pensare ad ogni elemento come facente riferimento ad una particolare stanza.

La struttura proposta di seguito è pensata per permettere l’estensione di questo tipo di applicazione a più stanze della casa con un numero di dispositivi vario, anche se nel corso di questa serie esploreremo solo un numero limitato di tipi di nodi, in quanto è semplice introdurre un nuovo sensore o un nuovo comportamento  data una struttura già funzionante.

Gli schemi proposti per la struttura di topic dei sensori e dei dispositivi intelligenti sono i seguenti, con a sinistra la struttura vera e propria ed a destra un esempio con un certo numero di stanze e elementi terminali:

Struttura di topic per la comunicazione in uscita dai nodi sensori
Struttura di topic per la comunicazione in entrata ai nodi attuatori

Ora che sono state definite le modalità tramite cui le comunicazioni possono prendere atto, si può procedere con la schematizzazione dei componenti terminali, ossia i sensori e i dispositivi intelligenti; l’elemento mediatore ha una struttura lievemente più complessa e vedrà dedicato per sé un articolo a parte, quando si procederà con la stesura del suo funzionamento interno.

Quando si ha a che fare con dispositivi che devono operare con dei moduli sensori o da attuare, c’è bisogno di una componente chiamato controllore, che come suggerisce il suo stesso nome, ha il compito di controllare il comportamento di questi moduli a seconda degli scopi di chi li utilizza. Nei grafici riportati qui di seguito si esplica il ruolo del controllore come suddiviso in diverse parti.
Per quanto riguarda i nodi sensori, i dati acquisiti vengono elaborati per essere resi fruibili dall’utente ed inoltrati verso l’esterno. 

Schema a blocchi che descrive il funzionamento di un nodo sensore e dei suoi sotto moduli

Nei nodi attuatori, i comandi ricevuti dall’esterno (che possono essere generati in base ai dati acquisiti dai vari sensori o in base a specifiche richieste di un utente) vengono ricevuti dal moduli di comunicazione e tradotti in un comando comprensibile per il dispositivo finale.

Schema a blocchi che descrive il funzionamento di un nodo attuatore e dei suoi sotto moduli

Questo tipo di schematizzazione risulta molto potente ed utile in quanto fornisce la possibilità di dividere il lavoro in piccole parti che hanno specificamente a che fare con un aspetto particolare dell’attività del dispositivo. Ciò permette di potere ignorare il resto concentrandosi ogni volta su uno specifico modulo, ottenendo semplicità, ordine e dando la possibilità di apportare modifiche facilmente, oltre che aggiungendo  una forte componente di riutilizzo.

Parte 2 → 

 

Scrivi un commento

Commento