Sistema Domotica

La domotica, dalla gestione di grandi e complessi residenziali e alberghieri al controllo mirato e sicura di interi reparti ospedalieri, entra finalmente in ogni ambiente antropomorfico offrendo strumenti per regolare la vita di tutti i giorni.

La domotica acquisisce una nuova dimensione: esce dallo spazio tipicamente di grosse e complesse esigenze per affrontare anche piccoli ambienti, allo scopo di accontentare e offrire risposte mirate anche al piccolo appartamento che rappresenta un nucleo importante di un sistema, comunque, complesso.

Quando si pensa alla domotica il nostro pensiero, di solito, si concentra nelle applicazioni di tipo alberghiere che consentono di influire e intervenire direttamente sulla funzionalità, sulla comodità e sul risparmio energetico. Ogni camera di un albergo può essere costantemente monitorata ricorrendo a diversi sensori insieme alla presenza di un termostato e di un software centrale che permette di sovraintendere all’intero sistema. A volte si parla di sistema “stand-alone“, ovvero il controllo è decentralizzato, oppure di sistemi cosiddetti “in rete“, dove ciascuna camera può essere tenuta sotto controllo attraverso il computer centrale della reception (o da remoto via web). Non solo, la realizzazione di un impianto domotico permette di intervenire, in tempo reale, per controllare lo stato dei servizi e ottenere un risparmio notevole grazie all’ottimizzazione nella gestione dei consumi energetici. In effetti, quando parliamo di un sistema domotico ci si vuole riferire a un nuovo modo di concepire l’impianto elettrico di un’abitazione o di un qualsiasi altro impianto più o meno complesso. In un sistema di questo tipo, l’impianto elettrico è completamente stravolto: oltre a gestire la corrente, è necessario anche acquisire informazioni per intraprendere una determinata azione, magari abilitando un attuatore. In sostanza, in un sistema domotico, a prescindere dai protocolli usati, è necessario prevedere la presenza di un sistema di controllo centrale che si deve preoccupare di elaborare i segnali provenienti in input dai sensori e dalle interfacce utente oltre alla gestione di dispositivi periferici. In questo caso, un sistema di questo tipo può essere tranquillamente un PC dedicato o una centralina con sistema operativo embedded. Non solo, in un sistema del genere si deve prevedere un’interfaccia utente che consente, a qualsiasi utilizzatore, di interagire in modo user friendly con l’impianto. Un impianto domotico non può fare a meno di dispositivi ausiliari, ovvero trasduttori, sensori (dispositivi che raccolgono i segnali dall’ambiente), attuatori (traducono i comandi ricevuti in azioni sui dispositivi connessi) o circuiti di interfaccia (quali smart adapter). Infine, può capitare di utilizzare un gateway residenziale, ossia una unità per la connessione con la rete di comunicazione esterna.

La Domotica

Non è più il tempo di definire la domotica come una particolare disciplina che si occupa di applicare le tecnologie informatiche ed elettroniche alla nostra abitazione. In effetti, da diversi anni la domotica è una scienza interdisciplinare che si occupa dello studio delle tecnologie finalizzate a migliorare la qualità della vita negli ambienti antropizzati. La domotica si pone l’obiettivo di integrare le tecnologie dell’impiantistica tradizionale, già presenti negli edifici, con quelle innovative, al fine di ottenere nuove e moderne funzionalità. Questo particolare segmento applicativo trova il suo scopo nel migliorare la qualità dell’abitare, vivere e lavorare, controllando i livelli di benessere e di salute, oltre a garantire praticità e sicurezza. Così com’è stato fatto notare nell’introduzione, l’ambiente antropomorfico può essere controllato dall’utilizzatore tramite opportune interfacce utente (come pulsanti, telecomandi, touch screen, tastiere, riconoscimento vocale) che realizzano il contatto (invio di comandi e ricezione di informazioni) con il sistema intelligente di controllo, basato su un’unità computerizzata centrale, oppure su un sistema a intelligenza distribuita. I diversi componenti del sistema sono connessi tra di loro e con il sistema di controllo tramite vari tipi di interconnessione (ad esempio, rete locale, onde radio o con un bus dedicato).

Impianti domotici

Esistono diverse possibilità e applicazioni in questo particolare campo, infatti è possibile realizzare piccole applicazioni didattiche che consentono di capire come può essere approntato un sistema di questo tipo fino a definire applicazioni più complesse dove si realizza un sistema completo prevedendo anche controlli in remoto attraverso interfacce di rete o utilizzando sistemi custom. Infatti, utilizzando un router con una piattaforma hardware basata su Arduino è perfettamente possibile realizzare un sistema home controllabile da un iPhone con controller SmartLinc. Nella realizzazione di un impianto di automazione domestica, il mezzo trasmissivo viene ad assumere un ruolo fondamentale perché da esso dipende la realizzazione di una rete che sia poco invasiva e facilmente espandibile. La letteratura prevede diverse possibilità. quindi per realizzare la rete di interconnessione, è possibile utilizzare onde convogliate, linee telefoniche, infrarossi, radiofrequenze, doppino intrecciato, cavo coassiale e fibra ottica. È chiaro che l’approccio di questo tipo è fortemente dipendente dal tipo di installazione e dal livello di intrusione. In caso si volesse minimizzare l’intervento negli edifici allora è consigliabile utilizzare le onde convogliate, infrarossi, radio ed altre tecnologie wireless. Quando, al contrario, si intende sfruttare una maggiore banda, allora la soluzione ottimale è la fibra ottica. Un altro aspetto da non trascurare è il tipo di protocollo da utilizzare; in effetti, i diversi dispositivi presenti nell’edificio fanno parte di una rete e per questo diventa necessario consentire una facile interconnessione dei diversi apparati presenti tra loro e con un sistema centrale al fine di sollecitare determinate azioni attraverso attuatori.

Standard domotici

Lo standard più conosciuto è certamente l’X-10 tanto che esistono diverse realizzazioni e chip in grado di supportarlo senza particolari problemi: basti pensare alla soluzione PIC della Microchip. Questo particolare standard è presente in modo particolare negli Stati Uniti e in Europa con diversi impianti all’attivo. L’X-10 si basa su un controllore centrale che invia comandi e riceve dati da diversi sensori presenti nella rete. I comandi sono inviati attraverso dispositivi periferici, utilizzando un sistema ad onde convogliate su rete elettrica per la trasmissione dei dati: lo standard permette di inserire fino a 256 periferiche ed è possibile mandare comandi a più periferiche semplicemente assegnando alle stesse il medesimo indirizzo. Il CEBus, acronimo di Consumer Electronics Bus, è stato definito nel 1984 dall’EIA allo scopo di standardizzare la segnalazione di infrarossi usati per il controllo remoto di apparecchiature al fine di evitare incompatibilità o interferenze. Questo particolare standard è direttamente relazionabile con le linee di potenza, il doppino intrecciato, il cavo coassiale, i segnali infrarossi, i segnali radio, le fibre ottiche e il bus Audio-Video. Il panorama normativo prevede anche il LonTalk, SmartHouse, il KNX e l’HBS in modo particolare sul mercato giapponese. Non solo, senza entrare in merito di ogni particolare standard attuativo, possiamo senza dubbio anche ricordare il CAN, Controller Area Network, ovvero un sistema a bus seriale concepito per collegare in rete tanto i dispositivi intelligenti quanto sensori ed attuatori, nell’ambito di un unico sistema o di più sottoinsiemi. Nel CAN bus tutti i nodi della rete comunicano tra loro in modalità peer-to-peer e il messaggio emesso da un nodo è diffuso su tutto il bus ma, è al contrario, grazie alla presenza di diversi filtri, ricevuto solo dai nodi interessati. Il CAN bus garantisce prestazioni ed elevata affidabilità della trasmissione dei dati, dovuta ad un efficiente meccanismo di individuazione e isolamento di un eventuale nodo difettoso. Appartiene alla domatica anche il protocollo European Home System o EHS. Questo protocollo utilizza un’ampia possibilità di trasmissione: dalla linea elettrica presente fino alla radiofrequenza. Al contrario, l’EIB è uno standard definito da un insieme di aziende italiane (Vimar, Philips e Gewiss solo per fare alcuni esempi) che si basa su un Bus TP1 con la possibilità di gestire fine a 64 dispositivi.

Criteri

Un modo semplice per concepire un sistema domotico, è certamente un’architettura di tipo master/slave realizzato con la presenza di un certo numero di nodi periferici e un solo nodo centrale, figura 1, con il compito di sovraintendere al completo funzionamento controllando ogni dispositivo con un meccanismo di tipo polling attraverso un bus RS485.

Figura 1: sistema su bus 485.

Figura 1: sistema su bus 485.

In caso di anomalie presenti nella rete, rilevata da un nodo periferico, è necessario avvisare il nodo centrale per approntare le necessarie azioni correttive e informare successivamente l’operatore. Una rete di questo tipo è ad anello aperto e questo implica l’esigenza di inserire dei terminatori alle sue estremità e, per semplificare, non si prevede alcuna struttura gerarchica a livello fisico. Pensare, ad ogni modo, di gestire una sorta di gerarchia non è un’operazione difficile perché basterebbe ricorrere all’indirizzo di gruppo e di nodo. Il progetto dell’impianto può anche prevedere di realizzare dei gruppi logici dove ognuno si dedica a un particolare sottoassieme: dal sistema di condizionamento a quello della sicurezza perimetrale, figura 2.

Figura 2: gruppi logici.

Figura 2: gruppi logici.

 

Figura 3: nodo centrale.

Figura 3: nodo centrale.

Per fare questa particolare distinzione è necessario definire un gruppo e assegnare a questo dei nodi periferici: il tutto è definito ricorrendo a un indirizzo di nodo e di gruppo che saranno poi utilizzati nel data frame tra i vari nodi presenti nella rete. In un sistema di questo tipo particolare attenzione deve essere posta nell’invio e ricezione dati tra i nodi periferici e il master. In sostanza, la centralina ad ogni intervallo temporale, ad esempio 20 millisecondi, attraverso il suo schedulatore di attività, può chiedere a ciascun elemento presente nella rete il suo stato ricorrendo ad un opportuno data frame composto da diversi campi con significati ben precisi, a questo proposito la figura 5 può benissimo rappresentare un esempio. Ogni nodo periferico è gestito da un microcontrollore della Microchip che deve raccogliere le informazioni dei sensori e inviarli al nodo centrale: in base ai comandi del nodo centrale deve abilitare o disabilitare un attuatore, figura 4.

Figura 4: nodo periferico.

Figura 4: nodo periferico.

 

Figura 5: data frame.

Figura 5: data frame.

Al contrario, il nodo centrale dispone di due microcontrollori: uno sovraintende alla gestione del bus e l’altra si occupa dell’interfaccia uomo-macchina attraverso un schermo LCD, figura 3. Le informazioni tra i diversi nodi periferici e quello centrale sono scambiati ricorrendo ad un data frame. Dopo l’intestazione, la trama si compone di diversi campi:

  • Identifier, identifica  la destinazione/sorgente del nodo
  • Command/Replay, identifica il comando richiesto dalla centrale (in ingresso al nodo periferico) o l’esito della richiesta (in ingresso al nodo centrale)
  • Payload, il campo contiene tutti i dati utili da processare identificato da un particolare formato
  • CRC, identifica i dati utilizzati per la verifica dell’integrità dell’informazione scambiata tra i nodi. In sostanza si tratta di un codice CRC a 16 bit calcolato su ogni byte del frame escluso il CRC stesso. Non solo, il protocollo implementato deve prevedere anche una gestione degli errori; in effetti, in risposta il campo Replay deve essere posto a 0x7F nel caso che il frame ricevuto presenta un errore di CRC o 0xF7 nel caso di corretta gestione del protocollo: l’ultimo comando è stato processato con successo.

Il nodo centrale può anche inviare comandi in broadcast, ovvero a tutti i nodi presenti nella rete. Ogni nodo periferico dispone però di una certa autonomia operativa che gli consente di intraprendere azioni senza il necessario intervento della centralina, quindi un nodo periferico può sospendere un servizio, chiudendo l’abilitazione, se i parametri dei sensori oltre passano un valore di soglia impostato dal firmware del nodo. Non solo, una volta impostata la temperatura ambientale relativa al locale, il software del nodo è responsabile del suo controllo e della gestione del comfort. Infatti, il firmware del nodo, una volta inizializzato il modulo, provvede a monitorare l’ambiente e gestire le soglie associate partendo da una situazione iniziale di switch-off degli attuatori. Per questa realizzazione è possibile utilizzare i vari sensori di Microchip, come il TC74 interfacciato attraverso il bus I2C, figura 6, e in grado di monitorare la temperatura ambientale da un soddisfacente range (da -40 a +125 gradi) con una risoluzione di un grado. Il dispositivo lavora tra 2.7 e 5V.

Figura 6: sensore di temperatura.

Figura 6: sensore di temperatura.

 

Figura 7: LCD.

Figura 7: LCD.

La connessione sul bus I2C bus richiede la presenza di due resistenze di pull-up. In accordo allo standard utilizzato, si richiede l’invio di un valore uguale a 0 se si intende selezionare il registro che gestisce le temperature o di 1 in caso del registro di configurazione. Il registro in scrittura è selezionabile a 0x9a mentre quello in lettura si trova a 0x9b. Particolare attenzione deve essere posta nel controllo del bus attraverso una politica opportuna di temporizzazione. Il nodo periferico, prima di iniziare a trasmettere, deve essere sicuro che il bus sia libero per un determinato periodo temporale. Non solo, per evitare che il nodo centrale rimanga in attesa indefinita da un nodo periferico in precedenza interrogato, è necessario impostare un periodo massimo trascorso il quale il nodo centrale passa all’interrogazione del nodo successivo registrando l’impossibilità dell’acquisizione della trama. Il meccanismo si basa su un continuo meccanismo di handshake della linea: a ogni Request è attesa una Replay per considerare la transazione chiusa a prescindere dal tipo di risposta. Allo scopo di tenere sotto controllo la qualità della trasmissione/ricezione è opportuno definire e gestire un meccanismo per la gestione delle collisioni sul bus RS485. Si è anche detto che ogni nodo periferico è contrassegnato da un indirizzo. Questo particolare indirizzo può essere impostato ricorrendo a un Dip Switch o può essere inserito direttamente nel codice in fase di programmazione del nodo. Il nodo centrale utilizza un LCD 2 x 16 con 5 tasti per interagire con l’utente, figura 8.

Figura 8: schema per LCD.

Figura 8: schema per LCD.

 

Figura 9: connessione Internet.

Figura 9: connessione Internet.

All’accensione, dopo aver visualizzato il messaggio di benvenuto con l’ora corrente, il software applicativo, oltre a raccogliere lo stato di un ciascun nodo periferico, deve gestire l’ora e permettere all’utente di interagire con lo strumento. La figura 7 mostra come si presenta il display e la funzionalità di ciascun tasto, mentre il listato 1 pone in evidenza la sua inizializzazione.

;———————————————————————————————————
; LCDINIT
; Initilize LC-Display Module
; Should be modified to your needs
(i.e. display type, cursor on/off, etc.)
; OK
;———————————————————————————————————
LCDINIT
global LCDINIT
banksel LCD_CTRL
; Busy-flag is not yet valid
clrf LCD_CTRL ; clear control pins
banksel ADCON1
movlw 0x02
movwf ADCON1 ; set RE2-RE0 as digital I/O
banksel TRISE
clrf TRISE ;set PORTE to output
banksel LCD_CTRL
LCD_WRITE ; call macro to set port d to output
; Busy Flag is not valid from here
delay15ms
movlw 0x038
MOVWF PORTD
bsf LCD_E
bcf LCD_E
delay15ms
; Busy Flag is not valid from here
movlw 0x038
MOVWF PORTD
bsf LCD_E
bcf LCD_E
; Busy Flag is not valid from here
movlw 0x038
MOVWF PORTD
bsf LCD_E
bcf LCD_E
; Busy Flag should be valid from here
movlw 0x038 ; 8-bit-interface, 2-lines
pagesel LCDPUTCMD
call LCDPUTCMD
movlw 0x000 ; disp.off, curs.off, no-blink
pagesel LCDDMODE
call LCDDMODE
pagesel LCDCLEAR
call LCDCLEAR
movlw 0x004 ; disp.on, curs.off
pagesel LCDDMODE
call LCDDMODE
movlw 0x002 ; auto-inc (shift-cursor)
pagesel LCDEMODE
call LCDEMODE
Listato 1 - Inizializzazione LCD

Ogni tasto consente di gestire una particolare funzionalità:

  • Tasto menu: si entra in modalità configurazione
  • Tasto Up, Down: consente di spostarsi all’interno della modalità grafica
  • Tasto Enter, permette di selezionare una scelta mostrata a video
  • Tasto Exit, si esce dalla modalità corrente

Possibili sviluppi

La scommessa maggiore è l’uso delle connessioni Ethernet: una tecnologia che sta sempre più acquisendo affidabilità per essere utilizzata in ambito industriale. Infatti, grazie all’uso di meccanismi di full duplex-switched che evitano collisioni di pacchetti e pongono un limite massimo ai ritardi di trasmissione e l’applicazione di algoritmi di scheduling ottimizzati, il protocollo Ethernet sta diventando un vero punto di riferimento. Ethernet è uno strumento che garantisce versatilità, economicità per molte realizzazioni di tipo domotico. Non solo, grazie anche alla sua scalabilità, è possibile dimensionare l’applicazione senza per questo intervenire sull’impianto, dunuqe è pensabile realizzare, in una prima fase, le funzioni principali e solo successivamente inserire nell’impianto quelle accessorie. Prossimamente, oltre a vedere i di versi moduli software utilizzati, ci occuperemo anche della possibilità di pilotare il nostro sistema domotico attraverso la rete utilizzando un web server come mostrato in figura 9.

 

Scarica subito una copia gratis

Una risposta

  1. tattolilm tattolilm 10 febbraio 2020

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend