La seconda parte dell’articolo illustra la scheda Arduino, lo sketch principale e le librerie utilizzate, gli shield Ethernet, Relè, i sensori e la board di adattamento.
Hardware
Il prototipo Domus si basa sui seguenti componenti:
- Scheda Arduino Uno
- Ethernet Shield W5100
- Board a 4 Relay 250v – 10A
- Scheda di adattamento realizzata con basetta millefori
Lo schema seguente rappresenta la scheda di adattamento. Nella parte superiore sono elencati i collegamenti agli ingressi analogici e digitali della scheda Arduino, mentre nella parte inferiore i collegamenti ai vari sensori. La basetta è stata dotata di due morsettiere saldate. Gli ingressi digitali 10-13 sono impegnati dall’Ethernet Shield W5100, mentre i 4-7 dalla scheda relè.
I sensori utilizzati sono facilmente reperibili a prezzi contenuti su eBay e Amazon:
- Sonda di corrente (non invasiva) SCT-013-030
- Alimentatore 220/9v AC/AC (corrente alternata in uscita)
- Sonda liquidi FS-200°
- Due sonde digitali di temperatura DS18820 (collegate in bus)
- Una sonda Soil (umidità terreno)
- Una sonda pioggia
- Una fotoresistenza VT90N3
- Il contatto digitale costituito da un relè presente nella caldaia a condensazione e programmabile per chiudersi quando è in blocco
Software
Lo sketch caricato su Arduino è il seguente:
Il loop principale dello sketch Domus risponde a comandi REST sulla porta 85 del web server creato dalla libreria Ethernet. I comandi HTTP Get vanno lanciati da un browser o, come nel nostro caso, dall’app Android e restituiscono tipicamente il valore di risposta (esempio: 192.168.2.177:85/Lux).
I comandi supportati sono i seguenti:
Comando Risposta
- /Emon : tensione (V); corrente (A); potenza
- /Water : flusso acqua (L/Hour)
- /Temp0 : Temperatura Zona Giorno (°C)
- /Temp1 : Temperatura Zona Notte (°C)
- /Soil : Umidità terreno (val)
- /Rain : Pioggia (0=pioggia, 1=asciutto)
- /Lux : Luminosità (Lux) aprox
- /Alarm : Allarme blocco caldaia (0=blocco, 1=ok)
- /01_on : Attiva relè01 e restiruisce stato di tutti (1000)
- /01_off : Disattiva relè01 e restiruisce stato di tutti (0000)
(vale per i relè 01-04)
Dopo l’inclusione delle librerie è necessario configurare i parametri: indirizzo ip, default gateway (il vostro router o, come vedremo più avanti l’indirizzo del gateway OpenVPN) e porta. Seguono le definizioni relative al BUS OneWire (per le sonde di temperatura DS18D20) e agli altri sensori e relè.
Le librerie utilizzate (che quindi devono essere installate nel vostro IDE Arduino) sono le seguenti:
- Dallas Temperature Control
- Emon Lib Master
- OneWire
- Webserver.h
Per informazioni su come installare le librerie consultate : http://arduino.cc/en/Guide/Libraries
One Reply to “Domus – Internet of Things per la domotica (parte 2)”