Elementare WatsON! Controllo relè con App di messaggistica

Ho pubblicato questo articolo (in inglese) anche sulla mia pagina di hackaday.io a questo link: https://hackaday.io/project/186690-watson-elementary-relay-switch-with-instant-msg

Questa è la seconda versione del progetto. La prima era basata su una mia App installata sullo stesso telefono dov’era quella di messaggistica e “cooperava” con essa; inoltre c’era un piccolo circuito basato sul micro PIC12F635 con l’aggiunta di un decoder DTMF di tipo MT8870. Se volete, potete leggere l’articolo a questo link: https://ficara.altervista.org/?p=2682 . L’articolo è un po’ vecchio (Aprile 2015) e questo nuovo è molto più semplice…

Il primo passo è stato di eliminare la mia App “cooperante”; il secondo di eliminare il decoder DTMF. Bene, il tutto ha funzionato. Il risultato è un piccolo circuito che sarà connesso tramite jack audio a qualunque telefono su cui giri la famosa App di messaggistica. Il circuito e il firmware per il micro AVR sono attualmente fatti per controllare un singolo relè on/off, ma è possibile estendere il tutto fino a controllarne, indipendentemente, fino a 16. Questo è lo schema del micro (c’è una versione in PDF nel file zip allegato all’articolo):

Il circuito è pilotato da suoni, ma non da toni DTMF. Ora, io ho usato un “protocollo” che invia una sequenza di toni e con questi genera 16 possibili “comandi”. Per generare queste sequenze di toni ho usato il software “Audacity”, un grande ed efficiente open-source. Ecco un esempio:

Un “comando” è composto da uno “start” (tono a 1200Hz) e da quattro bits partendo dal più significativo. Gli “uno” sono toni da 1600Hz, gli “zero” da 800Hz. Nella figura è rappresentato il codice binario 1010. Una “trasmissione” completa dura sempre 500mS. Ogni tono ha una durata di 50mS, seguito da una pausa di 50mS. Per i files audio ho usato il formato “.ogg” perché compatibile sia con telefoni Apple che con Android.

Questo “protocollo” è derivato dal mio vecchio progetto “Pedrone” (Giugno 2015) e se volete potete leggere di più a questo link: https://ficara.altervista.org/?p=2859.

Qui c’è un’immagine dello schermo dell’oscilloscopio mentre aggiustavo i valori del circuito (nota: usando sul PC il software VLC c’è una specie di “squelch” che taglia un po’, ma sul telefono non c’è problema)

Come funziona

Per prima cosa, bisogna “preparare” l’App di messaggistica, perché questa deve “suonare” il giusto tono di notifica per attivare o disattivare il relè (solo per la persona abilitata a farlo). Quindi:

1) salvare il file .ogg (in questo caso 1010.ogg) in una cartella che contenga i suoni per le notifiche. Nel mio caso è: “phone memory/ringtones”.

2) sull’App di messaggistica andare sul profilo della persona che si vuole abilitare e cliccare “usa notifiche personalizzate”, quindi nella lista dei suoni disponibili selezionare “1010.ogg” (se si espande il firmware, si può usare uno qualsiasi dei 16 suoni .ogg allegati nel file zip).

Ora, quando la persona vi invierà un messaggio, il tono di notifica sarà quello che avete scelto. Se sentite il suono 1010.ogg, va tutto bene.

Notate che c’è da regolare il volume delle notifiche, dato che nel circuito non c’è alcun tipo di controllo del volume. Fate dei test fino ad avere un livello affidabile. Nel mio caso, ho regolato il volume intorno al 70%, ma dipende molto dal telefono.

Ok, ma come faccio ON e OFF? Elementare, WatsON! Quando il circuito riceve un comando (suono) dal jack audio, prova a decodificarlo. Se il codice è riconosciuto allora il relè è commutato in OFF e parte una finestra di tempo, attualmente di 6 secondi. Se in questo tempo inviate un secondo messaggio (quindi il suono viene ripetuto ancora) allora il relè commuta in ON. Quindi, per spegnere inviate UN messaggio (il testo è irrilevante); per accendere, invece, mandate DUE messaggi, il secondo entro 6 secondi dal primo.

Questo è il contenuto del file zip allegato WAremote_220805.zip :

– main.c – il programma sorgente in C. Io lo compilo con IAR Kickstart per AVR

– schematic.pdf – lo schema elettrico in formato PDF

– waremote.hex – Il file HEX pronto per programmare il micro (mappa fuses nel sorgente)

– 4bits-oggs – cartella con 16 suoni (comandi) in formato .ogg

Nota: il file zip ha una password: eficara

Bene, questo è un esperimento, una prima release. Se necessario, farò delle modifiche o potete farle voi, dato che il file sorgente è disponibile e anche commentato! Buon divertimento.