Salve a tutti...
Dopo quasi un anno di sperimentazione con la "centralina controllo gpio" sul prode wrt54gl del centro sociale che ha dato veramente ottimi risultati (non ha mai sbagliato un colpo!!!) si ? deciso di dotare tutte le sale comunali (palestra, 3 sale civiche, biblioteca, sala polifunzionale, centro del volontariato) di una centralina per il controllo domotico da gestire direttamente dal municipio. Alcune strutture sono dotate di collegamento ad internet, altre dovranno essere raggiunte come il centro sociale con un collegamento wifi. La scelta dell'assessore, condivisibile, ? di passare da una centralina basata su un router "modificato" come quello sperimentato a materiali reperibili sul mercato e non dipendenti dalle saldature, modifiche artifici vari eseguiti da Truthahn. Fare quindi qualcosa in serie, facilmente aggiornabile, cambiabile e trovabile.
L'obiettivo ? quello di dotare ogni struttura del controllo dei seguenti device:
apriporta, riscaldamento, luci interne e esterne, Fari esterni quando presenti, irrigazione quando presente ecc.., videocontrollo, Telefoni voip, accesso ad internet il tutto controllato da remoto tramite interfaccia web con "pulsanti", programmazione, telefono e localmente tramite tastierino numerico posto all'esterno degli edifici per consentire anche l'apertura della porta.
Ho scelto di utilizzare Openwrt avendone testata la stabilit? sull'altra centalina e avendo gi? chiaro come muovermi e poterlo poi utilizzare anche su altre mie sperimentazioni su router.
Cos? ? nata la (scusate la spacconata
)... OpenXwrTrutahnDomoticControl
Materiali utilizzati:
Intel? Desktop Board D510MO... dispone di tutto e di pi?, porte seriali, usb, veloce, minipci per scheda wifi, a basso consumo.
1 gb di ram
1 adattatore sata-cf
1 cf da 4 gb (esagerata ma ho trovato quella a basso prezzo e per immaganizzare log e jpg del videocontrollo a iosa)
1 scheda rel? (8 rel?) con interfaccia seriale
1 tastierino numerico con interfaccia seriale (l'ho trovato!!!!!!!)
1 termometro usb (? in viaggio)
2 webcam "normali"
ed ecco il risultato.... simile all'all'atra centralina ma con accorgimenti e varie cose in pi?. Per la gestione della tastiera numerica ho udato python con il modulo pyserial, ho instalalto asterisk che ora risiede localmente e non si appoggia pi? all'esterno e migliorato il tutto.... almeno spero
questa ? la pagina delle configurazioni. Da qui impostando il nome dei device e collegandoli ai rel? vengono generati automaticamente i programmi di gestione associati ai vari device, si pu? modificali anche a piacimento in casi partricolari.
Passando al modo "centralina" si trovano le varie pagine di gestione...
La pagina comandi funziona come una semplice plancia a bottoni, da qui al volo si gestisce il tutto..
La pagina programmazione serve appunto per programmare, cancellare, aggiornare, abilitare o disabilitare le varie programmazioni per data, orario ecc..
La pagina Password per dare agli utenti la pass che vale sia per la tastiera che per il telefono. (le pass degli amministratori si settano nella pagina principale di configurazione)
la pagina telefoni serve per vedere lo stato dei vari telefoni e per far ripartire, al caso, asterisk.
La pagina telecamera per gestire il videocontrollo, con registrazione filmati su server remoto e chiamata telefonica
la pagina log per gestire i log e scaricarli per gestirli con exel
i dati scaricati....
-----------------------------------------------------------------
LOG Palestra - 28/12/2010 12:11:26
Condizionatore
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:02
Fari
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:36|01:26|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:27
Irrigazione
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:02
Luci
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:36|01:26|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:27
Riscaldamento
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Lunedi|27|Dicembre|2010|17:44|17:45|00:01|Antigelo |
|2|Lunedi|27|Dicembre|2010|17:49|17:51|00:02|Antigelo |
|3|Lunedi|27|Dicembre|2010|18:05|18:10|00:05|Antigelo |
|4|Lunedi|27|Dicembre|2010|18:15|18:20|00:05|Antigelo |
|5|Lunedi|27|Dicembre|2010|18:45|20:18|01:33|Comandi |
|6|Lunedi|27|Dicembre|2010|21:10|21:19|00:09|Comandi |
|7|Lunedi|27|Dicembre|2010|21:39|21:39|00:00|Comandi |
|8|Lunedi|27|Dicembre|2010|21:39|21:41|00:02|Comandi |
|9|Lunedi|27|Dicembre|2010|21:41|21:42|00:01|Comandi |
|10|Lunedi|27|Dicembre|2010|21:42|21:47|00:05|Comandi |
|11|Lunedi|27|Dicembre|2010|21:48|21:48|00:00|Comandi |
|12|Lunedi|27|Dicembre|2010|21:49|21:50|00:01|Comandi |
|13|Lunedi|27|Dicembre|2010|21:50|21:50|00:00|Comandi |
|14|Lunedi|27|Dicembre|2010|21:50|22:20|00:30|Comandi |
|15|Lunedi|27|Dicembre|2010|22:24|22:25|00:01|Comandi |
|16|Lunedi|27|Dicembre|2010|22:26|22:37|00:11|Comandi |
|17|Lunedi|27|Dicembre|2010|23:59|11:36|11:37|Comandi |
|18|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
|19|Martedi|28|Dicembre|2010|11:40|<blink>In corso</blink>||Admin Telefono|
TOTALE: 14:24
Telefoni
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Lunedi|27|Dicembre|2010|23:24|23:25|00:01|Comandi |
|2|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|3|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:03
Termostato
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 00:01
tastiera
2 28 12 2010 09:43:27 nello 11111
tastieraadmin
2 28 12 2010 11:40:45 Apriporta
tastieraerror
2 28 12 2010 11:40:51 8562 tas
2 28 12 2010 11:40:57 1235 tas
telefono
2 28 12 2010 11:37:50 pippo 11111(100)
telefonoadmin
2 28 12 2010 11:38:20 Accenditutto 100
2 28 12 2010 11:39:22 Spegnitutto 100
2 28 12 2010 11:40:05 Riscaldamento 100
telefonoerror
2 28 12 2010 11:40:33 85632(100) tel
----------------------------------------------------------------------------------------
la pagina backup per scaricare le configurazioni
? stato veramente un gran lavoro ma ora ? pronta all'installazione.
C'ho perso un sacco di serate a farla funzionare a dovere, per capire e scoprire come leggere la tastiera in phyton e leggere lo stato dei rel? che per linux non era previsto (o provato con "cats" non presente in openwrt).
Non volendo lasciare programmi in esecuzione con degli sleep e poter fare le programmazioni da un'ora precisa ad un'altra, ho affidato tutto a cron, ma questo mi ha incasinato la vita per il fatto che i vari comandi son possibili per 4 vie diverse (programmazione, comandi web, tastiera e telefono), quindi dar priorit? e permettere ai log di registrarsi in modo corretto.
Detto cos? sembra una cavolata ma non lo ? stata.