Telegram è un'ottima piattaforma per creare bot che possano interagire con i messaggi di domando inviati tramite il proprio dispositivo portatile. Ho creato questo piccolo sistema per controllare l'impianto di videosorveglianza in casa (lo accendo, lo spengo, lo interrogo sullo stato e mi faccio mandare un avviso e le foto quando capita che viene rilevato un movimento) e lo sto perfezionando con il controllo di vari sensori e allarmi. La pagia riassuntiva di tutto il progetto è questa. Cercherò di tenere aggiornate entrambe per facilitarvi l'accesso a tutte le modifiche. L'applicazione è in Python, usa le librerie telepot per interagire con le API di Telegram e il programma motion per rilevare il movimento, usando la videocamera IR presente sul Raspberry Pi
Il programma tvcc.py va avviato al boot del sistema, in modo che il bot sia pronto (per motivi di sicurezza, al riavvio del raspberry la videosorveglianza viene attivata in automatico) Il programma invia_foto.py va inserito nel file di configurazione di motion alla riga on_picture_save (invia una foto ogni volta che questa viene salvata su disco, il problema è la lentezza dovuta al fatto che ogni volta deve aprire una connessione con Telegram) Il programma avvisa_movimento.py va inserito nel file di configurazione di motion alla riga on_event_start (avvisa che un evento di rilevazione di movimento è iniziato) E' necessario ricordarsi di mettere la calncellazione della cartelle delle foto alla riga on_event_end altrimenti il disco si potrebbe riempire rapidamente
Ho aggiunto la parte di gestione delle informazioni sulle temperature e le letture della corrente (manca la gestione del DB, ma arriva a breve) Ho aggiunto la cartella con il codice del lettore di consumo elettrico istantaneo, fare rifeimrento al blog per tutta la parte di descrizione e chemi elettrici.
Il sistema non rispondeva quando ho tolto il cognome dela mio account su telefram, ho aggiunto il controllo che se il cognome non c'è il sistema non si blocca.
Aggiunto il controllo del server multimedale linux con miniDLNA
Aggiunte alcune try per tracciare problemi in giro per il programma
Aggiunto un log per l'output del programma, far partire il sistema al boot con il comando nel crontab
@reboot /bin/sleep 60 ; python /cartella_del_programa/tvcc.py >>/cartella_del_log/tvcc_std.log 2>&1
Aggiunto lo script per controllare se il programma cade, da inserire nel crontab ogni 5 o 10 minuti
Affinata la gestione degli utenti autorizzati, ora sono gestiti tutti e 5
Ho aggiunto il controllo delle eccezioni in caso di avvio del sistema con Internet assente e sulla mancata connessione ai server di Telegram per problemi loro o mancanza di Internet
Funzionalità di base inserite, accensione, spegnimento, richiesta stato e invio messaggi di avviso quando viene rilevato un movimento. Ripetto alla prima versione beta ho annullato la solita falsa rilevazione dell'errore che segnala il movimento appena il servizio di motion parte. Resta da definire la procedura fatta bene che verifica gli utenti autorizzati.