Questo post è volto a risolvere alcuni problemi che ho riscontrato con il sistema Amazon Blink di telecamere di videosorveglianza: le notifiche dell’app blink richiedono un certo tempo per essere verificate, soprattutto se non si dispone di un abbonamento e quindi ogni volta che scatta l’allarme bisogna aprire l’applicazione e scaricare ogni video dal sync module.
La soluzione: ho modificato il sistema affinché ogni video registrato dalle telecamere venga inoltrato sul mio account Telegram. Questa funzionalità non è disponibile con il normale sistema Blink e non è nemmeno possibile accedere direttamente allo storage del Sync Module.
Nota: esiste una documentazione non aggiornata sulla API che la app utilizza per comunicare con il cloud, ma purtroppo il token di sessione e il sistema di autenticazione a due fattori la rendono veramente scomoda sul lungo periodo perché è necessario rinnovare regolarmente il token fornendo a mano il pin ricevuto sul cellulare, quindi ho abbandonato questa strada.
Il trucco è stato utilizzare un Raspberry PI Zero W in modalità OTG che sostituisce la chiavetta USB del Sync Module e invia su Telegram i nuovi video che vengono registrati. Il PI Zero è l’unico modello che viene alimentato senza problemi direttamente dal Sync Module e quindi non richiede la connessione ad un ulteriore fonte di energia.
Per configurare il Pi Zero in modalità OTG trovate vari tutorial. In breve:
1. Create il file che verrà messo a disposizione come spazio dove salvare i video attraverso la porta usb-c del Rasperry:
sudo dd if=/dev/zero of=/piusb.bin bs=512 count=2880
2. Formattate Fat32 o come preferite, tanto poi ci penserà il Sync Module:
sudo mkdosfs /piusb.bin
3. Eseguite il mount all’avvio da crontab o da rc.local:
modprobe g_mass_storage file=/piusb.bin stall=0
losetup -o 16384 /dev/loop0 /piusb.bin
La definizione di loop0 è necessaria per andare a pescare il punto giusto all’interno del file da cui leggere la directory quando /piusb.bin viene montato in locale
E’ ora di creare un piccolo script con il vostro linguaggio preferito che esegua la seguente procedura:
1. Verificare l’ultima modifica a /piusb.bin
2. Se il file è stato modificato, eseguire il mount:
mount /dev/loop0 /mnt/usb
3. Pescare l’ultimo file video da /mnt/usb e inviarlo se effettivamente nuovo: a volte il Sync Module scrive sulla chiavetta altri dati e quindi non è sicuro rilevare il nuovo video solo controllando la timestamp del file /piusb.bin
4. Smontare /mnt/usb per evitare di bloccare il file system che serve al Sync Module
L’operazione d’invio è a vostra discrezione: una mail, un messaggio tramite un bot telegram, una notifica push. Vedete voi. Io in genere uso la API di Telegram allegando direttamente il video.
Direi che questo è tutto; spero che questo power-up gratuito del sistema Blink vi sia utile. Resto a disposizione per eventuali domande e mi scuso se non faccio quasi mai post tecnici in questo sito, ma le mie attenzioni ormai sono rivolte ad altri hobby.
« | Indext | » |