Torna alla pagina precedente...
dT n. 5/2026 del 25.02.2026
Cornice stile Ritorno al futuro
   
FEB 25 2026
   

Immagine di apertura

… in salsa #IoT

Torniamo a parlare del #MiniUPSinCC, da poco (orgogliosamente, lui) in grado di comunicare col mondo esterno.

Al solito, si è trattato di un percorso in salita. Per di più disseminato di buche, sistemate strada facendo. Quel che conta è che finalmente tutto è compiuto: l'upgrade in salsa #IoT è andato a buon fine, e funziona come previsto...💪

Breve recap

Immagine_inlineA protezione del mio Asus NUC Pro 14+, mesi fa ho realizzato un mini UPS in corrente continua, interamente analogico e per questo passivo. Mi sarebbe piaciuto dargli sin da subito un'anima digitale, anche solo per il log degli interventi, ovvero tracciare i blackout. In particolare quelli anomali e molto brevi, mezzo secondo o anche meno, che ogni tanto si verificano da me. Inclusi quelli notturni, quando sia l'Asus che io siamo in stand-by, mentre l'UPS ha costantemente il suo sguardo pronto, acuto e profondo! 🤣

Un upgrade ipotetico che tenevo mentalmente da parte, accatastato tra le cose da fare, che poi puntualmente non inizio nemmeno. Capita.

Immagine_inlineA bloccarmi era anche il fatto che nel mio mini UPS, al quale avevo cucito un vestito su misura tramite modellazione e stampa 3D, di spazio interno n'era rimasto poco e non credevo fosse sufficiente per aggiungergli questa preziosa funzione.

La scossa⚡

Lo ammetto: non conoscevo gli ESP32 in versione supermini, davvero microscopici pur offrendo performance di tutto rispetto, più che sufficienti per quello che avevo in mente. Quelli normali mi erano ben noti, di nome e di fama, ma non li avevo ancora utilizzati. Ci ha pensato Aliexpress a darmi la scossa, proponendomeli (a piacere suo) nel flusso dei prodotti che potrebbero interessarmi. Grazie a una profilazione chirurgica che evidentemente mi avevano, anche loro, cucito su misura.

Quindi…

… mattoncino principale l'ESP32C3 supermini. Poi serviva alimentarlo a 5 V e dentro l'UPS in questione giravano solo i 19 V dell'alimentatore originale in input e dell'output per alimentare l'Asus (anch'essi, ovviamente, 19 V).

Immagine_inlineQuesta la sapevo: aggiungo un buck converter e... mi passa (forse) la paura! Ma esisteranno, anche questi, di dimensioni ultraridotte? Altroché: pure troppo piccoli e pure troppo ciofeche!

Il primo acquistato, il ben noto Mini360, l'ho dovuto frullare dopo poco. Scaldava inaspettatamente troppo: superava i 70° C e anche questo era un dettaglio non secondario.

Soprattutto per il PLA dell'elegante contenitore, stampato con tanto ammmooore, che certi eccessivi bollori proprio non li regge, ma non nel senso pruriginoso del termine.

Immagine_inlinePer farla breve, l'ho sostituito in corsa con un tipo migliore, solo leggermente più grande del primo, in grado di non scaldare affatto: lo chiamano MP1584EN, sempre sul sito cinese di cui sopra. In più esiste anche a tensione fissa in uscita, così non devo regolare nulla, non si stara col tempo e posso tornare a dormire sonni tranquilli.

Pare facile! 👀

Testo e ottimizzo lo sketch C++ che governerà il tutto, faccio i collegamenti e le prime simulazioni al banco, dove sembra funzionare senza problemi. Immagine_inlineLo collego ancora volante all'UPS, innestandomi nei punti previsti. Si alimenta, previo step-down della tensione, dalla batterie Li-Ion lì presenti e monitora l'ingresso a 19 V, tramite un partitore resistivo. Questo è necessario per non fornire mai al GPIO (usato in input analogico) una tensione superiore ai 3.3 V previsti. Altrimenti, si sa, ... boooommm!

Funziona? 🤨

Certo che no, e via di prima sorpresa che non avevo consideraaato 🎶

La tensione proveniente dalle batterie, per come era cablato l'UPS, in realtà si riaffacciava sull'ingresso oltre che sull'uscita. Quindi se manca la corrente... non basta testare Vin. Mancava quantomeno un diodo ideale sull'ingresso, che per fortuna esistono mini anche questi. Non avendolo previsto sin da subito mi è toccato riorganizzare tutto, incluso riprogettare da zero (e non è stata l'ultima volta) il supportino interno nel quale sono incastonati i vari componenti, che aumentavano.

Che pazienza!

Immagine_inlineUpgrade dell'upgrade 🤔

Mica penserete che è finita qui? Macché, un altro scoglio (questa volta insormontabile) è stato il tentativo di utilizzare la connessione BLE (Bluetooth Low Energy) assieme a quella WiFi, ma facevano a cazzotti. Nella mia idea originaria avrei usato la prima per ricevere localmente, in caso di blackout o altri eventi, una notifica sullo smartphone tramite un'app da realizzare.

Viceversa per visualizzare il log e poco altro avrei usato una pagina html collegandomi tramite IP, sempre localmente, all'ESP32.Immagine_inline Questo integra facilmente (basta un #include nel codice) anche un mini webserver per operazioni di questo tipo.

Alla fine ho ripiegato su uno scontatissimo (nel senso peggiore del termine) buzzer che buzza in caso di blackout, emette solo 4 beep, odio quelli troppo invasivi, che ho dovuto (pure questo!) integrare all'interno.

E via di terza versione di supportino, con un altro nutrito numero di prove per arrivare alla versione definitiva. Non immaginavo di doverne stampare così tante!

Abbiamo finito? 😤

No, tanto per cambiare. Perché, si sa, non mi accontento facilmente. E che facciamo, non lo mettiamo anche in comunicazione costante con l'Asus per attivare automaticamente l'ibernazione in caso di blackout? Ma vi pare?!?

Immagine_inlineQuesto ulteriore upgrade, stranamente, non ha creato tanti problemi. In pratica sul PC c'è uno script Visual Basic (posizionato in Esecuzione automatica, inteso come cartella) che all'avvio lancia a sua volta uno script di PowerShell. In pratica una sentinella con il compito di chiedere all'UPS, a intervalli di tempo regolari, la tensione in uscita. Se questa scende sotto una determinata soglia, ovvero sta alimentando a batterie (che man mano si scaricano), è in corso un blackout e mostra un popup a video con il preavviso di ibernazione.

Se entro 30 secondi nessuno risponde, iberna subito (vuol dire che la postazione non è presidiata, meglio non perdere tempo) altrimenti lo ripropone dopo qualche minuto in caso di diniego da parte dell'utente, che poi sarei io. Ovviamente sotto una certa tensione non telo chiede più e iberna-punto. Che l'utente, sempre io, voglia o meno.

Ah, sia chiaro: non faccio sconti a nessuno! 😁

AdP

Video generato da NotebookLM, fornendogli solo il link a questo articolo.


#digiTANTO#Video#VideoAI#DIY#MC-style

Progetto a cura di  Andrea de Prisco - AdP

Per ulteriori informazioni,
utilizza il modulo Contattami

RSS

Privacy policy Informativa estesa RST