BinClock_II con controllo via App

Update 2022, Jul 3
Put together “Orologio con display in binario”, “Orologio binario a colori” e “BinClock_II con controllo via App”; translated into English and stored to https://hackaday.io/project/186171-clock-with-binary-display

Aggiornamento 3 Luglio 2022: ho dato una nuova forma all’orologio binario a colori. Ne ho fatto uno grande, a cui ho dato nome: “fichetto” e uno piccolo che si chiama: “fichettino”. Li potete vedere nell’immagine qui sotto. A sinistra il grande, in mezzo il piccolo e a destra i colori che ho selezionato con molte prove. Il firmware è cambiato un po’, ma l’App è sempre la stessa.

Come promesso, ecco la versione rinnovata dell’orologio binario. Per la descrizione, vale tutto quello scritto nel precedente articolo, con l’aggiunta della possibilità di controllare la programmazione delle varie opzioni tramite una App android, direttamente in WiFi, senza bisogno di usare la seriale. Ovviamente, la seriale è ancora necessaria per programmare il nuovo firmware nel micro ESP8266. La nuova release è un ampliamento della vecchia, e mantiene la possibilità di usare l’interfaccia seriale (e la App per PC) per le varie personalizzazioni dell’orologio.

La App per Android la trovate, insieme con il nuovo Firmware per il micro, nel file .zip allegato. Ho scritto l’App con B4A di Anywhere Software, che uso fin dal lontano 2011. Questo software prima era a pagamento, ma da qualche mese è gratuito! Lo consiglio a tutti, specialmente a chi insegna informatica nelle scuole. In tanti anni di esperienza, con un cumulo di sistemi di sviluppo utilizzati, non ho mai trovato un prodotto come questo: economico, semplice e geniale. Sul Forum poi, in caso di dubbi, avrete sempre una risposta e sarà quella giusta! Ecco l’icona dell’App: rappresenta l’orologio funzionante con i colori impostati secondo le mie preferenze (segna le 07:15)

Ricordate che per installare un’App che NON si trova su Google Play, dovete spuntare (nelle opzioni di sicurezza) l’opzione “installa da fonti sconosciute”. Il programma è scritto da me, non ha alcuna pubblicità e nessun trucco “per carpire i vostri dati personali”, ai quali, francamente, non sono interessato. Nelle autorizzazioni richieste dall’App troverete l’accesso alla rete perché serve per comunicare in WiFi con il firmware dell’orologio. Io scrivo le mie App gratuite per passione e non ne farò mai una che possa danneggiare gli amici che la scaricano e la installano. Ecco ora le varie schermate dell’App:

In alto c’è la finestra dei messaggi, dove leggiamo le varie operazioni e le risposte che arrivano dall’orologio. Notate l’errore evidenziato nella seconda riga dei messaggi: questo viene mostrato se lanciate l’App senza esservi prima connessi all’AP BinClock_II. In basso troviamo i pulsanti che ci mandano alle quattro sezioni per le varie impostazioni. Leggete l’articolo precedente, dove è spiegato per filo e per segno l’utilizzo di ogni input. Iniziamo cliccando la prima icona a sinistra e andiamo sulla sezione Real-Time-Clock:

Qui c’è un piccolo trucco che nell’App per il PC non esiste. Tenendo premuto a lungo il campo di immissione dell’orario, questo viene riempito automaticamente con l’ora attuale dello smartphone. Si fa prima che a inserirlo a mano! Ora clicchiamo la seconda icona a sinistra e sullo schermo compare la nuova sezione (Hardware):

Qui non ci sono differenze rispetto al PC, i comandi sono identici. Ora clicchiamo il terzo pulsante da sinistra ed ecco la nuova sezione (Palette & LedMap):

Qui le sezioni di Palette e LedMap sono raggruppate. Rispetto alla versione su PC è più facile inserire i dati, perché alcuni errori di input vengono corretti. Per esempio, mentre nell’app su PC è obbligatorio scrivere 040 per dare il valore 40, qui basta scrivere, appunto, 40. C’è comunque un controllo degli input per evitare valori “impossibili”. Infine, cliccando l’ultimo pulsante da sinistra, andiamo nella nuova sezione (Credentials):

Qui non c’è alcuna verifica sui dati inseriti, quindi metteteci quelli giusti!

Prima di lanciare l’App, si devono fare due cose:

1) sull’orologio, bisogna premere e tenere premuto per 5 secondi il pulsante “service-pin”. Facendo così, si attiva l’ESP8266 in modalità AP (Access Point) con la SSID BinClock_II e la password 88888888 (otto volte otto). Quando l’orologio è in questa condizione, può essere comandato con l’App. Per avvisarci che siamo in questa condizione, il led blu vicino al pulsante service-pin si accende due volte al secondo, invece di una invece di una volta al minuto. Questa condizione termina automaticamente dopo 5 minuti senza che venga eseguita una connessione (oppure con un reset hardware).

2) sullo smartphone si deve accedere alle impostazioni WiFi e connettersi all’Access Point BinClock_II e fornire la password. Il telefono vi dirà che non potete andare in Internet ed è giusto così, perché siete collegati all’orologio, che non è connesso a Internet.

3) lanciate l’App e buon divertimento. Tenete presente che un paio di comandi (HW Reset e REINIT) provocano il reset del micro e di conseguenza lo spegnimento dell’Access Point. Per tutto il resto, vale quanto detto in precedenza.

Conclusioni e allegati

Questo è tutto. Nel file allegato trovate, zippati insieme, sia il file .bin per programmare il micro, sia il .apk per lo smartphone (Android). Il file .zip ha una password che è “eficara”. Ho usato il programma 7Z per comprimere e cifrare i files. Prima di ogni operazione di unzip / exec sui files scaricati da Internet, verificate il codice SHA-1 per essere sicuri che il file sia integro e non manipolato da altri. In questo caso l’hash deve essere: 0875DEECF534821343946D267F9EA33386BF24B0 (aggiornato 27/03/2021)
Infine, il link per il download, che è questo: binclock2_2100327.zip. (aggiornato 27/03/2021)

Vi ricordo che non mi assumo nessuna responsabilità per eventuali problemi che dovessero sorgere con il download e/o l’installazione del materiale messo a disposizione. Si tratta di materiale di natura hobbistica e messo a disposizione in forma gratuita, perciò voi, utilizzandolo, vi prendete la piena responsabilità. Non sono un esperto di “legalese”, ma spero che il concetto sia sufficientemente chiaro.

Ciao!