_stan
(320 punti)
7' di lettura

La domotica, dall'unione delle parole domus (che in latino significa "casa") + robotica, la scienza interdisciplinare che si occupa dello studio delle tecnologie atte a migliorare la qualit della vita nella casa e pi in generale negli ambienti antropizzati.

Cos il BTBH Relay v1.0?

Il BTBH Relay v1.0 un progetto di domotica da me realizzato con lo scopo di controllare via pc o smartphone lilluminazione ed altri apparecchi alimentati dallelettricit di una stanza.
sostanzialmente una centralina elettrica azionata da una scheda elettronica controllata da un PC.

[/url]

Il funzionamento il seguente:

  1. Uno smartphone (client) collegato ad internet si collega al PC (server)
  2. Sul PC vi un software che cattura gli input che arrivano via internet e li invia alla scheda elettronica
  3. La scheda elettronica trasforma il messaggio digitale in un impulso elettrico ed attiva il relay
  4. Il relay accende la luce come un normale interruttore

Cos un relay?

Un relay non altro che un interruttore che invece di essere attivato e disattivato con la pressione di un dito viene controllato da un elettromagnete.
In questo progetto necessario utilizzare un relay poich la corrente elettrica che passa in questi circuiti elettronici (5 Volts) molto pi bassa rispetto alla quantit di elettricit richiesta dagli apparecchi che si andranno a controllare (luci, tv, ecc.) (230 Volts).
Con un impulso di 5 Volts il relay fa passare 230 Volts di corrente.
Se non ci fossero i relay e tutto fosse collegato direttamente alla scheda elettronica, questa si brucerebbe.

Cos la scheda elettronica (Arduino)?

Arduino una scheda elettronica dotata di un microcontrollore programmabile.
Cio una scheda, dotata di ingressi ed uscite elettriche, in cui possibile caricare del codice software che poi verr eseguito dalla scheda con lo scopo di trasformare un comando virtuale in qualcosa di reale.

Fasi della realizzazione

  1. Costruzione della centralina e della parte elettrica.
  2. Scrittura del software per il microcontrollore.
  3. Scrittura del software server per il PC. Backend.
  4. Costruzione dellinterfaccia grafica per il controllo della centralina. Frontend.

#1 Costruzione della centralina

  1. Arduino
  2. Transistor (Componenti elettroniche che gestiscono lalimentazione dei relay)
  3. Relay

A tre delle uscite della scheda Arduino vengono collegati (uno per uscita) i tre Transistor che collegano il circuito dalimentazione ai relay.

Quando da una delle uscite di Arduino verr inviato un impulso elettrico, questo arriver ai transistor che chiuderanno il circuito e faranno arrivare elettricit ai relay.

Lelettromagnete dei relay si attiver e muovendo una piccola barra metallica chiuder il circuito finale.

  1. Ingresso elettricit per gli apparecchi finali (230 Volts).
  2. Prese elettriche. Uscite finali.

#2 Scrittura del software per il microcontrollore.

Come primo passo, nel codice software, bisogna dichiarare quali uscite della scheda sono state utilizzate. In questo caso la numero 2, la numero 3 e la numero 4.

Per comodit queste tre uscite sono state chiamate ch0, ch1, ch2.

int ch0 = 2
int ch1 = 3
int ch2 = 5
Dopodich bisogna dire al microcontrollore se vogliamo usare le porte di Arduino come ingressi oppure uscite. Nel nostro caso uscite.

Infine decidiamo quali segnali virtuali ricever il microcontrollore (in questo caso: 1,2,3 e a,b,c) e cosa dovr fare una volta che li avr ricevuti, ovvero accendere (HIGH) e spegnere (LOW).

#3 Scrittura del software server per il PC. Backend.

Il software server che ha il compito di gestire i dati provenienti dal web ed inviare delle risposte ad Arduino scritto in Python, un linguaggio di programmazione molto versatile.

Il software svolge anche la funzione di Web Server, cio invia e gestiste le pagine web che fungono da interfaccia grafica.

Per scrivere questo software stato utilizzato Flask, un framework per python per semplificare la costruzione di WebApp.

La parte principale del software ha il compito di associare ogni url della WebApp ad unoperazione da compiere.

Come si pu notare il comando s.write invia le lettere e i numeri che erano stati prestabiliti nel software per il microcontrollore.

Il software server per non svolge solo questa funzione, ma anche lintegrazione col PC attraverso messaggi vocali (os.system(say ) e crea delle risposte reali agli eventi virtuali del computer. Ad esempio lo spegnimento di tutti i monitor sulla scrivania e delle periferiche (stampante, casse, alimentazione degli hardisk esterni) dopo lo spegnimento del computer (in modo che non ci sia la possibilit di dimenticare di staccare la spina ed evitando cos inutili sprechi), oppure il lampeggiamento delle luci della stanza quando arriva una mail importante.

Per far si che il software possa inviare e ricevere dati da uno smartphone deve servire delle pagine web che diano la possibilit allutente di scegliere cosa fare. Per questo motivo il server deve mettersi in ascolto su una porta. La porta standard per il traffico http la porta 80.

192.168.1.68 lindirizzo ip del server.

#4 Costruzione dellinterfaccia grafica per il controllo della centralina. Frontend.

Linterfaccia grafica non altro che una pagina web che invia al server le scelte dellutente.

Realizzando linterfaccia in modalit responsive, grazie ai nuovi html5 e css3 che lo rendono molto semplice, questa si adatter a qualsiasi tipo di schermo garantendo sempre unottima esperienza utente.

[url=https://www.skuola.net/news_foto/2015/09/progetto-domotica-interfaccia-grafica-tab-menu.png]

  • Cliccando su uno di quei pulsanti verr aperto uno degli url della WebApp.
  • Sul server ogni url associato ad unazione da compiere.
  • Viene inviato alla scheda Arduino il comando corrispondente al bottone premuto.
  • La scheda attiva o disattiva il relay corrispondente.
  • Lapparecchio scelto si accender o spegner come richiesto.
Una qualsiasi di queste operazioni pu essere svolta anche quando ci si trova fuori da casa se si dispone di un collegamento ad internet.

Questa solo la prima versione del progetto che verr ampliato per controllore molti altri dispositivi, tra i quali: il sistema di riscaldamento attraverso lemulazione di un telecomando ad infrarossi e lattivazione dei sistemi di isolamento in caso di fulmini per evitare danni all'impianto.

Andrea Carriero | BTBH

andrea@btbh.net