Progetto Raspberry – Controllo luci e Timer

In questo articolo vi spiegherò come ho realizzato il controllo delle luci e la programmazione del timer.

Accensione e spegmimento luci

controllo luci L’interfaccia prevede la possibilità di accendere e spegnere le luci manualmente oppure di impostare un Timer programmabile per fare accendere e spegnere le luci ad una certa ora.
Se il timer è disattivato si può accendere e spegnere le luci dai tasti che vedere nell’immagine, ogni qual volta che si preme un tasto per comandare le luci viene richiamata una funzione che comanda gli stati dei GPIO del Raspberry.

Comandare GPIO da PHP

Essendomi  completamente sconosciuta la programmazione del Rasberry dopo vari studi da articoli su internet e svariati esperimenti di prova ho scelto di gestire i GPIO tramite una libreria PHP WiringPi che mediante comandi diretti può scrivere e leggere i GPIO del Rasberry senza dover ricorrere a script Python.

Una volta installare la libreria con 2 semplici righe possiamo scrivere lo stato di un GPIO  come da esempio :

$setmode17 = shell_exec(“gpio -g mode 22 out”);
$gpio_on = shell_exec(“gpio -g write 22 1”);

Con la prima riga impostiamo la funzione di uno specifico Pin e con la seconda scriviamo lo stato in questo caso impostiamo il Pin 22 come uscita e scriviamo lo stato 1 ovvero accendiamo la luce.

Schema elettrico

Accensione LuciQuesto è lo schema di base che ho utilizzato per accendere un led in realtà il led sarà sostituito da un relè che accenderà una luce a 220V , ovviamente tutto sdoppiato visto che le luci sono 2 ho utilizzato il GPIO19 e 22.

Impostazione Timer

impostazione timerCliccando sul timer è possibile attivarlo settando l’orario di accensione e spegnimento delle luci, i valori vengono immessi in un database Mysql, la pagina principale viene aggiornata automaticamente ogni 5 secondi e controllare l’orario attuale con quello settato nel database, quando l’orario di accensione o spegnimento corrisponde a quelli settati esegue l’istruzione di spegnere o accendere le luci.

Condividi con:
Share
Updated: 7 Agosto 2017 — 18:37

12 Comments

Add a Comment
  1. Ciao Fabrizio, sul raspberry devi impostare l’esecuzione automatica del browswer in modo che parta sempre all’accensione e rimanga attivo in modo che gestisca il tutto, poi da un altro pc connesso alla rete puoi comunque accedere aprendo un altro browser ma l’importante che sul raspi rimanga sempre aperto il browser.
    Stò sperimentando un’ulteriore estensione con i moduli wifi ESP8266 per comandare via wifi dispositivi non collegati direttamente al raspi ad esempio un secondo acquario, prossimamente pubblicherò il progetto, sono ancora all’inizio ora.

  2. Ciao Davide

    Se spengo il pc dove gira la pagina html il timer non funziona devo eseguire qualche comando sul raspberry?
    Unica differenza non ho inserito nel mio progetto un lcd

    Grazie
    Un saluto

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *