DomoticHome – Accendere e spegnere un led con un terminale Android

19 aprile 201117 commenti

Da un po' di tempo sul nostro forum è presente un thread, raggiungibile cliccando su questo link, riguardante l'automazione domestica ed Android. L'interesse e la curiosità sono stati da subito molti, ed oggi, grazie a Mattia Lipreri e Mareika Giacobbi di NerdyDog.it possiamo fornirvi in questo articolo un primo tutorial riassuntivo in modo da coinvolgere sempre più persone possibili nel progetto. L'obiettivo è accendere e spegnere un led con il proprio terminale Android; ad alcuni potrà sembrare banale ed inutile ma, come afferma il nostro amico Mattia, capito questo sarà poi facile riuscire ad interagire con la maggior parte degli oggetti presenti in casa: luci, prese, porte, ecc..


Ma bando alle ciancie. Veniamo alla spiegazione di questo progetto e all’obiettivo sopracitato.

Il sistema è basato su un controllore chiamato Arduino programmabile in C/C++; esso offre una serie di I/O, è facilmente espandibile attraverso moduli chiamati shield. Iniziamo con la lista della spesa:

  1. Arduino: la domanda che mi è stata fatta più volte è: “Quale tipo di Arduino devo comprare?”. La risposta è: “Quello che volete”. È possibile costruirsi il proprio prototipo anche su un pezzo di cartone in quanto tutto quello che bisogna conoscere è rilasciato in modo open source. Ma andate sul sicuro e prendete un Arduino Uno.
  2. Ethernet shield: questo modulo aggiunge ad Arduino la possibilità di collegarsi ad internet offrendo pieno supporto allo stack ip.
  3. Router WiFi: quello che avete in casa va più che bene.
  4. Un led
  5. Cavetteria varia: se non ne avete prendete una cavo di rete e spelatelo, all’interno troverete 8 fili, usate quelli.

Questo è quello che vi serve. Alla domanda: “Mi consigli uno shop online?”, rispondo, invece, sempre dicendo “Comprate dove volete”; Arduino è uguale in tutti gli shop.

Ora veniamo a DomoticHome. Il progetto è in continua evoluzione, è disponibile sul Market l’applicazione ufficiale e non manca un applicazione web che vi permette di generare automaticamente il codice in C per Arduino in base a cosa volete collegargli, e di salvare al volo i dati provenienti dai sensori (temperatura, pinza amperometrica, ecc…) e visualizzare in real-time grafici statistici.

In questo modo una volta generato il codice per Arduino dovrete solo copiarlo nella sua IDE e caricarlo. Per chi è alle prime armi dia un occhio al seguente indirizzo: Arduino.cc.

Finita l’introduzione, vediamo di far accendere questo led. Registratevi sul sito DomoticHome e fate il login; appariranno delle nuove voci nel menù, tra cui:

• Masters: rappresenta un Arduino + Ethernet shield, ad esso vanno assegnate le configurazioni di rete per fare in modo che comunichi correttamente con il router e il vostro device Android

• Devices: rappresenta qualsiasi cosa sia connesso al master cioè relays, led, sensori, ecc…

Creiamo un Master

Prima di crearlo dovete conoscere alcuni parametri della vostra rete:

• l’ip del vostro router
• la subnet della vostra rete

Detto questo, cliccate su “Master” e successivamente su “Create a new master”. Vi troverete davanti ad una schermata simile:

Compilate i seguenti campi:

  • Name: nome descrittivo del master. Es: “my home”
  • IP: l’indirizzo ip di Arduino, usate un indirizzo che non è assegnato a nessun dispositivo sulla vostra rete e fuori dal range DHCP
  • MAC: MAC address di Arduino, usate pure questo “0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE”, il MAC address deve essere univo per ogni dispositivo sulla vostra rete
  • Subnet: la vostra subnet
  • Gateway: l’indirizzo ip del vostro router
  • Port: usate pure la porta 80

Aggiungiamo un device

Cliccate sul pulsante “Add device”: in questo modo andrete a dire al sistema che volete pilotare un led ed il codice C verrà generato per supportare tale funzione. Dovreste vedere una schermata simile:

Compilate i seguenti campi:

  • Name: questo è il nome che verrà mostrato sul vostro terminale Android
  • Pin out: il pin di Arduino al quale verrà collegato il led
  • Device Type: selezionate “light”, in questo modo l’applicazione mostrerà la corrispondente icona
  • Chibi Support: non usato
  • Chibi address node: non usato

Premete il pulsante “Create” e verrà mostrato un riassunto del master con i relativi devices creati. Come potete vedere c’è un link chiamato “click to show the code”: cliccate e vedrete il relativo codice per Arduino; copiatelo ed incollatelo nell’IDE, compilatelo e caricatelo su Arduino.

Collegamenti

Ora che il codice è stato caricato dovete collegare il vostro bel led al pin inserito nella configurazione del device. Ogni led ha 2 connettori (anodo il più lungo e il catodo il più corto), collegate il catodo a GND e l’anodo al pin di uscita indicato nella configurazione del device.

Fatto questo, prendete un cavo di rete e collegate Arduino al vostro router.

Sync

STEP 1:

Prima di iniziare a smanettare con il telefono e dire “perchè non va?”, verificate che Arduino sia in rete. Per farlo fate un semplice ping all’ip di Arduino. Se Arduino risponde andate al prossimo step altrimenti verificate la connessione di rete e i parametri inseriti.

STEP 2:

Aprite il vostro browser e digitate:

http://yourarduinoip/?out=all

una stringa JSON dovrebbe essere stampata sul vostro browser, qualcosa di simile a:
{“ip” : “192.168.10.23”, “devices” : [{ “type” : “light”, “name” : “led”, “out” : “5”}]}

Essa rappresenta la lista dei devices collegati ad Arduino, quando farete il sync dal vostro dispositivo Android verrà popolato il database dell’applicazione in base a questa stringa JSON.

STEP 3:

Tutto dovrebbe essere correttamente configurato. Scaricate dal Market l’applicazione DomoticHome:


creazione software per android

Link AppBrain | Link Google Play Store

Andate nella pagina della configurazione e inserite l’indirizzo ip di Arduino. Premete poi il tasto menù e selezionate l’icona Sync: in tal modo il vostro terminale interrogherà Arduino e creerà la lista dei devices. Precisamente, questa a seguire sarà la lista dei device che apparirà.

Premete sull’icona a fianco e troverete questa schermata:

Le due icone “lucchetto aperto” e “lucchetto chiuso” vi permettono di accendere e spegnere il led!

Alla prossima. Ringraziamo ancora una volta Mattia Lipreri e Mareika Giacobbi per averci gentilmente fornito il tutorial. Per maggiori info visitate NerdyDog.it.

Loading...