Notifiche da Amazon Blink verso Telegram

Martedì 25 Febbraio 2025

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»