Ho finalmente deciso di verificare se in breve tempo era possibile programmare un chip ESP32 compatibile col mondo Arduino. Documenterò quindi questa esperienza, mi occupo di informatica da oltre 25 anni e solo ultimamente ho studiato un pò di programmazione.
Le prestazioni dei 2 Core a 32-bit che lavorano tra 160 e 240MHz unite ai soli 530Kb di RAM e a 16MB di memoria SPI-Flash non basterebbero per un sistema operativo completo ma possono, gestire molte connessioni Bluetooth e WiFi ed eseguire codice anche relativamente complesso.
Vorrei quindi che appena il Bluetooth dello smartphone Android, dell’iPhone, dell’autoradio oppure dell’orologio vengano rilevati si apra automaticamente il cancello del garage, si attivassero luci e TV e che disattivi l’allarme e il videocontrollo pochissimo prima che io rientri a casa.
Il chip è sempre un Expressif ESP32 ma la board WROOM-32U è l’unica che ha l’attacco per antenna del tipo Hirose-U.HL che è quella usata comunemente nei notebook, quindi facilmente riciclabile oppure un adattatore al connettore RP-SMA e quindi collegare un’antenna standard.
Ho ordinato una confezione da 2 pezzi e sul primo ho deciso di flashare il firmware OpenMQTT Gateway che farà da WiFi e Bluetooth sniffing server connesso al server HomeAssistant per eseguire routines predefinite.
Questo firmware alternativo controlla “l’aria” a caccia di apparecchi Bluetooth e passa un estratto di queste informazioni a un server HomeAssistant che già controlla tutta la domotica e la sicurezza di casa mia.
Arduino IDE una volta inntallato, aggiornato e selezionata la scheda che viene collegata alla USB del PC; nel mio caso una ESP32 TTGO-Journal dotata di camera e display OLED che però in questo caso non utilizzerò. Servirà quindi solamente da broker MQTT per passare a HomeAssistant le informazioni sui dispositivi Bluetooth rilevati. A seconda delle combinazioni di dispositivi presenti è possibile far eseguire certi comandi come accendere luci TV o altro al rientro a casa, appena l’ID Bluetooth del proprio cellulare viene rilevato dal broker MQTT.
Quindi posso istruire HomeAssistant di accendere una luce, la TV e per esempio controllare il riscaldamento appena il server OpenMQTT gli comunica che ha rilevato la presenza del mio cellulare che ovviamente ha sempre il Bluetooth acceso.
Qua sopra il flyer fornito da Expressif, il produttore dei chip ESP32, che mostra le funzioni di tutti i contatti della schedina da neanche 5x3cm, così è possibile collegare vari sensori ambientali ad esempio per misurare l’inquinamento. La ESP32 in versione Wroom-32U ha l’attacco per antenna esterna che potenzia molto il segnale rendendola utilizzabile anche in outdoor.
Per ora il progetto di aprigarage è in standby finchè non comprerò un’interfaccia LoraWAN per Homeassistant e un ESP32 LoraWAN da usare come controller della porta garage, già automatizzata a telecomando 866Mhz. IL garage è al secondo piano sotto terra e anche con l’antenna verde da +5db il WiFi non vuole proprio funzionare sotto terra. IL LoraWAN invece lavorando a 433 MHZ non dovrebbe avere problemi.
I due controller LoraWAN hanno anche display che fa risparmiare tempo in alcune configurazioni ma richiedono un sacco di tempo per essere montati in garage, inoltre non ho ancora la batteria al litio, potrei alimentarlo a 220V con un alimentatore USB ma lasciarlo sempre collegato mi da una strana sensazione.
Non ho ancora avuto tempo per finire la questione portone del garage ma aggiornerò questo articolo appena monto le due schedine.