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

    Ho finito di applicare il tuo programma al mio acquario ma la cosa strana è che se chiudo la pagina html dal mio pc le luci rimangano accese, praticamente non si memorizzano i valori del timer sul raspberry, lo hai previsto così o il pc con la pagina html può anche essere spento? Unica differenza io non ho messo nessun display lcd, forse è quello?
    Comunque il progetto è magnifico continuerò a studiarlo e adattarlo al mio acquario

  2. Ciao

    Ho letto tutti i tuoi consigli ho modificato il file config.inc.php ma mi scrive sempre login failed. Le luci si accendono manualmente ma non si programma il timer. Dal browser entro tranquillamente su phpmyadmin e ho provato anche a fare un nuovo utente con tutti i privilegi. Probabilmente sbaglio qualcosa io ma non capisco cosa. Il login failed è scritto vicino all’immagine dell’orologio timer.

    farò altre prove

    Per il momento grazie se riesco a far funzionare il timer questo progetto
    è spettacolare ti rinnovo i complimenti

  3. Ciao, ti Login Failed a cosa ? probabilmente è un problema di connessione al database mysql, devi verificare i parametri di connessione con il database che hai creato.

  4. Ciao

    complimenti per il progetto sto cercando anche io di applicarlo al mio acquario. Ho provato e riprovato ma mi da sempre login failed, non riesco a capire dove sbaglio puoi darmi una aiuto?

    Grazie

  5. Ciao, purtroppo non ho uno schema totale del progetto, ma puoi trovare nei vari articoli i singoli schemi elettrici con i componenti da usare e di come collegare le varie parti, poi ognuno lo adatta alle proprie esigenze, il mio progetto è nato come esperimento in quanto da poco mi sono cimentato all’uso del raspberry ed il tutto è stato realizzato sperimentando le varie funzioni e addattandolo alle mie esigenze.

  6. Ciao, lo zip è l’ultima release ho fatto , il tutto gira nella cartella “www\html” del raspberry che è quella di defaul che crea apache quando lo installi, per quanto riguarda Mysql io ho messo una password nel database per cui devi andare a modificare nel file config.inc.php i parametri di collegamento al database.

  7. Ciao Davide,
    complimenti per il tuo lavoro con Raspberry. Sto cercando
    di riuscire a replicare sul mio acquario quanto da te ben
    fatto. Trovo delle difficoltà in quanto non sono espertissimo.
    Domande:
    1 – C’è una nuova release del tuo Raspberry_Acquario.zip?
    Questo perché noto che fai sempre riferimento a una cartella html
    che nel file zip non c’è. Inoltre ho difficoltà (ci sto lottando)
    con MySql (Login Failed) anche se credo sia tutto giusto.
    Grazie in anticipo ancora i miei complimenti!!!

    Massimiliano

  8. Ciao è possibile avere gli schemi elettrici di tutto il progetto con anche la componentistica?

    Grazie

  9. Il software è in HTML/PHP, è personalizzato per le mie esigenze ma modificabile senza alcun problema. Puoi scaricarlo da qui : https://www.lion1968.it/download/Raspberry_Acquario.zip

  10. Salve,
    È possibile scaricare il programma completo?
    Grazie

Lascia un commento

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