Rendiamo interattiva una pagina web per controllare da remoto i dispositivi di casa tramite Arduino yun
In questo progetto vedremo come è possibile realizzare una pagina web interattiva con Arduino Yun, per controllare e monitorare diversi dispositivi di casa.
Introduzione:
Il sistema dispone del controllo automatico e manuale di luci, clima e sensori vari, tra cui un sensore hall e un sensore PIR.
Il controllo e il monitoraggio avviene attraverso un pagina web HTML dinamica e interattiva.
Più pagine web in formato HTML insieme ai relativi javascript e CSS sono allocate su una memory card micro-SD e inserita nell'apposito alloggiamento sulla Arduino Yùn e gestite tramite il web server all'interno del sistema operativo Linino, di cui è dotata la scheda.
Il controllo e il monitoraggio avviene attraverso un pagina web HTML dinamica e interattiva.
Più pagine web in formato HTML insieme ai relativi javascript e CSS sono allocate su una memory card micro-SD e inserita nell'apposito alloggiamento sulla Arduino Yùn e gestite tramite il web server all'interno del sistema operativo Linino, di cui è dotata la scheda.
La pagina web viene aggiornata con un ritardo di circa 3 secondi, in automatico, sia quando si esegue qualche azione diretta (per esempio quando si premono gli interruttori sulla pagina web) sia se si verifica qualche evento sul lato hardware.
Per accedere alla pagina web bisogna digitare su un browser l'indirizzo IP dove è collegata la scheda Arduino YUN sul router.
Esempio:
http://"indirizzo arduino yùn"/sd/casa/
nel mio caso ho settato l'indirizzo IP fisso per Arduino Yùn 192.168.1.89 quindi:
http://192.168.1.89/sd/casa
Esempio:
http://"indirizzo arduino yùn"/sd/casa/
nel mio caso ho settato l'indirizzo IP fisso per Arduino Yùn 192.168.1.89 quindi:
http://192.168.1.89/sd/casa
Login:
Per entrare nella pagina web e controllare i dispositivi bisogna digitare l'Username e la Password.
Di default ho lasciato come Username "admin" e come Password "admin".
Di default ho lasciato come Username "admin" e come Password "admin".
Questo sistema non è un buon deterrente per chi volesse entrare nella pagina web dei comandi perché si può aggirare semplicemente scrivendo l'indirizzo IP della pagina che si vuole aprire.
Questo è un primo passo ed è quello che sono riuscito a fare in pochi giorni.
Accetto suggerimenti nei commenti per rendere la pagina di login più sicura. ;-)
Questo è un primo passo ed è quello che sono riuscito a fare in pochi giorni.
Accetto suggerimenti nei commenti per rendere la pagina di login più sicura. ;-)
Navbar:
Tramite la navbar, in alto sulla pagina web, possiamo scegliere di monitorare e controllare in modo in modo isolato gli interruttori, il clima oppure i sensori.
Pagina Web:
La pagina Web allocata nella micro SD Card, è stata realizzata con il linguaggio HTML. Per rendere la pagina dinamica è stato utilizzato il linguaggio JavaScript che ci permette di inserire delle istruzioni (script) all'interno del codice HTML, che verranno eseguite sul client(browser) a fronte di specifiche richieste. Per aggiornare i contenuti è stata utilizzata la tecnica AJAX che ci permette di gestire lo scambio di dati in sottofondo, tra la pagina web ed il server, in modo asincrono. L’aggiornamento dello stato dei vari sensori e attuatori avviene ogni 3 secondi.
La pagina Web ci permette di impostare i valori di soglia della temperatura e attivare automaticamente il clima (climatizzatore e riscaldamento).
In contemporanea riceveremo notifica dei cambiamenti avvenuti sul lato Hardware di Arduino dove sono collegati i vari sensori e attuatori.
Sulla Home della pagina web sono raccolti tutti gli interruttori e i sensori collegati ad Arduino Yùn.
In contemporanea riceveremo notifica dei cambiamenti avvenuti sul lato Hardware di Arduino dove sono collegati i vari sensori e attuatori.
Sulla Home della pagina web sono raccolti tutti gli interruttori e i sensori collegati ad Arduino Yùn.
Il sistema è progettato per funzionare in modalità automatica e manuale.
In modalità manuale è possibile comandare i relè collegati su Arduino Yùn agendo sui pulsanti della pagina web.
In modalità automatica il sistema agisce autonomamente attivando i relè in base allo stato dei sensori e secondo i parametri forniti dall'utente sulla pagina Web.
In modalità manuale è possibile comandare i relè collegati su Arduino Yùn agendo sui pulsanti della pagina web.
In modalità automatica il sistema agisce autonomamente attivando i relè in base allo stato dei sensori e secondo i parametri forniti dall'utente sulla pagina Web.
Interruttori:
Sulla pagina web dedicata agli interruttori sono disponibili i pulsanti relativi ai relè collegati ad Arduino Yùn.
Se di colore rosso indicano lo stato OFF dei relè, verdi indicano lo stato ON degli attuatori.
A causa del caricamento dello javascript, una volta premuto il pulsante, lo stato del pulsante sulla pagina web si modifica dopo 3 secondi mentre su Arduino il cambio dello stato del relè è quasi immediato.
A causa del caricamento dello javascript, una volta premuto il pulsante, lo stato del pulsante sulla pagina web si modifica dopo 3 secondi mentre su Arduino il cambio dello stato del relè è quasi immediato.
Clima:
Il controllo della temperatura e dell'umidità avviene mediante sensore DHT-11. Il sistema rileva la temperatura e confronta il valore letto con due valori soglia, impostati da remoto tramite slider sulla pagina Web.
Se il valore scende sotto la soglia di temperatura minima si attiverà il relè collegato sul pin 9 di Arduino Yùn, spegnendolo al superamento di tale soglia.
Se il valore sale sopra la soglia del valore di temperatura massima si attiverà il relè collegato sul pin 8 viceversa si spegnerà.
Se il valore scende sotto la soglia di temperatura minima si attiverà il relè collegato sul pin 9 di Arduino Yùn, spegnendolo al superamento di tale soglia.
Se il valore sale sopra la soglia del valore di temperatura massima si attiverà il relè collegato sul pin 8 viceversa si spegnerà.
Nell'area della pagina web viene visualizzato sia il valore della temperatura che dell'umidità relativa all'ambiente dove è installato il sensore DHT-11 e sia lo stato dell'impianto di riscaldamento e di raffreddamento tramite due icone a forma di LED. Le icone che simulano due LED cambiano stato e diventano verdi se gli attuatori collegati ad Arduino Yùn sono attivi, viceversa, sono di colore rosso.
Altri Sensori:
Nella pagina Altri sensori sono raccolti i due sensori collegati ad Arduino Yùn. Nello specifico ho inserito un sensore hall sul pin 7 in grado di portare l'uscita digitale su alto quando un magnete si avvicina, simulando così un sensore di allarme magnetico per porte e finestre. Un sensore PIR invece è inserito sul pin 4 ed è in grado di rilevare persone o animali fino ad una distanza massima di 7 metri.
Anch'essi, sul lato dell'interfaccia web, sono forniti di due icone a forma di LED. Cambiano colore da verde a rosso e viceversa in base al rilevamento dei sensori.
Componenti utilizzati:
Schema di collegamento:
Sketch:
Lo sketch da caricare su Arduino Yùn legge e pilota i pin della scheda e trasmette i dati con la pagina Web.
La libreria Bridge permette di gestire la comunicazione tra i due moduli di Arduino Yùn, il microcontrollore ATmega32u4 e il processore AR9331.
La libreria YunServer permette di attivare il server lato Arduino sulla porta 555 dove il server web di Linino reinstrada i messaggi destinati alla cartella /arduino.
La libreria YunClient permette di accettare ed elaborare dei messaggi instradatati dal server di Linino.
La libreria Bridge permette di gestire la comunicazione tra i due moduli di Arduino Yùn, il microcontrollore ATmega32u4 e il processore AR9331.
La libreria YunServer permette di attivare il server lato Arduino sulla porta 555 dove il server web di Linino reinstrada i messaggi destinati alla cartella /arduino.
La libreria YunClient permette di accettare ed elaborare dei messaggi instradatati dal server di Linino.
Nota: inserire la libreria dht-sensor-library-master.zip nell'Arduino IDE. Tramite l'apposito comando cliccando su Sketch >> #include libreria >> aggiungi libreria da file .ZIP.
progetto_domotica_2019.zip | |
File Size: | 2 kb |
File Type: | zip |
dht-sensor-library-master.zip | |
File Size: | 11 kb |
File Type: | zip |
Micro-SD:
Nella micro-SD sono contenute le pagine WEB in formato HTML, le icone, le pagine in JavaScript e CSS.
Scompattare il file arduino.zip ed inserire la cartella "arduino" nella micro-SD precedentemente formattata.
Il file nelle micro-SD si presenta come: arduino > www > casa
nella cartella "casa" sono presenti tutti i file.
Scompattare il file arduino.zip ed inserire la cartella "arduino" nella micro-SD precedentemente formattata.
Il file nelle micro-SD si presenta come: arduino > www > casa
nella cartella "casa" sono presenti tutti i file.
arduino.zip | |
File Size: | 130 kb |
File Type: | zip |
Spero che questo progetto vi sia utile.
Se volete aiutarmi a supportare il sito visita la pagina SOSTIENI IL BLOG link: https://www.progettiarduino.com/sostieni-il-blog.html
Se volete aiutarmi a supportare il sito visita la pagina SOSTIENI IL BLOG link: https://www.progettiarduino.com/sostieni-il-blog.html