Home App, domotica con Arduino e il web

Quando la necessita aguzza l’ingegno. Un mio amico che scordandosi sempre le chiavi a casa ha voluto sviluppare un sistema che gli consentisse di entrare nella propria abitazione senza problemi.

Tutto è iniziato dopo l’ennesimo esame che abbiamo dato insieme e tornado a casa si è ritrovato chiuso fuori. Allora mi chiamò per qualche consiglio e da li è nata l’idea di sviluppare HomeApp.

Parto subito con il dire che il mio aiuto è stato puramente progettuale e che il codice non è stato scritto da me, da qui deriva la mia decisione di presentarvi questo articolo come progetto e non come tutorial. Usate questo articolo per prendere ispirazione o per avviare una discussione costruttiva.

Arduino
Parte elettronica del progetto HomeApp, dal’alto: switch di accensione, scheda 4 relè, Ethernet shield, Sunfoundation Uno situato tra i relè e la scheda di rete.

Materiali principali usati

Il progetto comprende a livello elettronico:

  •  Sunfounder Uno (Clone a basso costo di Arduino Uno), che per comodità chiameremo Arduino;
  • Ethernet shield;
  • Modulo 4 relè;
  • Telecomando del cancello e garage;
  • Levetta di attivazione.

Inoltre, a livello di rete, ci serve:

  • Un router con IP statico (possibilmente);
  • Un server dove far girare la “App”.

Funzionamento concettuale di partenza

A livello concettuale il progetto è piuttosto semplice, premi il bottone della app e Arduino attiva il relè corrispondente al bottone premuto. A livello costruttivo invece è un po più difficile, ovvero dovremo creare un circuito parallelo al citofono per aprire sia la porta (di casa) che il cancellino.

Invece per aprire la porta del garage e il cancello automatico, il mio amico ha sapientemente preso il telecomandino e ha bypassato i 2 pulsanti, in modo da poter attivare il pulsante tramite un impulso da Arduino.

Comunicazione tra cellulare e Arduino

Quindi, per l’apertura delle porte viene fatta tramite l’attivazione di un relè. Ma come abbiamo fatto comunicare il cellulare con Arduino ?

Molto semplice (più o meno), visto che il mio amico è molto bravo nella programmazione Web sia lato server che client, ha creato una pagina web che funge da App. Al server, si collega sia il cellulare tramite browser (di conseguenza accessibile anche da PC) che la nostra scheda tramite la Ethernet shield. La scheda e sempre in ascolto e aspetta il comando dal server. Quel comando viene passato al server ogni volta che premiamo un bottone della interfaccia di controllo tramite il metodo POST del protocollo HTTP.

Per far funzionare tutta la baracca, il server deve essere connesso a internet, quindi le soluzioni sono 2:

  1. Abbiamo un server casalingo, allora apro un’altra porta sul router per mettere online il server, ma la nostra scheda comunica con il server tramite la rete locale e non abbiamo ulteriori problemi;
  2. Abbiamo un server dedicato esterno (preso da un qualsiasi provider come OVH, Aruba,ecc..) allora non necessitiamo di aprire ulteriori porte sul router per il server, ma necessitiamo di una porta reindirizzata sulla nostra scheda per farla dialogare con il server.

L’articolo di oggi finisce qui. Vi ringrazio per la lettura e spero in un confronto con voi per eventuali miglioramenti applicabili al dispositivo, sia in fatto di sicurezza che di praticità. Per questo vi invito a commentare e a condividere se vi è piaciuta questa nostra idea.

Lascia un commento