Creare Gateway Bluetooth per Xiaomi mi Flora
Home Assistant
Scritto da Vincenzo Caputo
Nella guida precedente abbiamo visto come integrare il sensore Xiaomi Mi Flora nel nostro ambiente domotico, ma una criticità che ho subito rilevato è la limitata portata del segnale tra il bluetooth del Raspberry e la pianta in cui è posizionato il sensore. Infatti, se i due dispositivi sono molto distanti non comunicheranno tra di loro e il nostro lavoro risulterà vano.
In aiuto ci viene una particolare scheda di sviluppo: il modulo ESP32 Wifi + Bluetooth che collegandosi alla nostra rete Wifi trasmetterà i dati letti dal sensore Xiaomi Mi flora e li darà in pasto a Home Assistant.
Componenti necessari:
- Home Hassistant istallato e funzionante
- Addon Esp Home (link guida)
- Xiaomi Mi Flora (https://amzn.to/3mDHRqd)
- Modulo Esp32 Wifi + Bluetooth (https://amzn.to/38sLyd9)
- Alimentatore per Smartphone con attacco micro usb-b (https://amzn.to/2KsvwYN)
Creazione del firmware per la board Esp32
- Aprite Home Assistant e successivamente l'addon ESP Home
- Create un nuovo Nodo cliccando sul pulsante + in basso a Destra
- Nella successiva schermata guidata che vi apparirà cliccate su Begin
- Assegnate un nome al Nodo (gateway_bluetooth)
- Assegnate come tipo di Dispositivo Esp32 Generic (WROVER Module)
- Andate avanti cliccando su NEXT
- Immettere nella richiesta successiva il nome della vostra rete Wifi sotto alla riga Wifi SSID e la relativa Password
- Rimanete invariata la parte OTA Access Password e premete su Next
- Alla quinta e ultima fase successiva cliccate su SUBMIT
Terminata questa fase vi si presenterà una schermata con indicante il nodo creato che è in attesa di una nostra modifica, che potrete effettuare cliccando sul tasto EDIT.
Avrete una schermata molto simile a questa:
Successivamente andata a copiare dalla riga 24 in poi questa parte di codice:
web_server:
port: 80
esp32_ble_tracker:
sensor:
- platform: xiaomi_hhccjcy01
mac_address: 'C4:B2:D3:A5:F6:58'
temperature:
name: "Temperatura Pianta"
moisture:
name: "Umidità Ulivo"
illuminance:
name: "Illuminazione Pianta"
conductivity:
name: "Fertilità Pianta"
Analizziamo insieme il codice per comprendere le varie stringhe:
- web_server port 80: indica che possiamo vedere in un web server dedicato i valori del gateway bluetooth senza per forza connetterci ad Home Assistant dirigendoci solo sull'Ip locale della nostra rete del Gateway che stiamo creando.
- Esp32_ble_tracker: indica il tipo di scheda che stiamo utilizzando e il tipo di piattaforma che vorremmo utilizzare ovvero un tracker bluetooth.
- sensor: Indica i sensori che vorremmo creare, nel nostro caso temperature, moisture, conductivity e illuminance. Diversamente dall'integrazione originale in Home Assistant non è presente il sensore batteria, rimosso da EspHome poichè in molti casi o non si aggiornava o era incompatibile con l'haardware dei vari sensori Xiaomi MI Flora.
- Mac: in questa sezione inserire il codice MAC bluetooth dello Xiaomi Mi Flora dal quale bisogna leggere i dati della pianta
- name: E' il nome assegnato ai vari sensori per indentificarli in Home Assistant, quindi sostituiteli a vostro piacimento.
Terminato il tutto cliccate sul pulsante Save posto in basso a sinistra e infine su Close.
Ritornati alla pagina principale dell'addon clicchiamo su Validate in modo tale da poter controllare se abbiamo commesso eventuali errori di digitazione o indentazione. Se tutto è andato nel verso giusto troverete un bel pollicione verso l'alto che vi indicherà la corretta scrittura del codice
Terminata questa procedura, recatevi sulla pagina principale dell'addon e in alto a destra selezionare /dev/ttyUSB0
Se la scirtta /dev/ttyUSB0 non dovesse comparire, bisognerà necessariamente riavviare il Raspberry (non solo Home Assistant), recandovi sul menù laterale alla voce Supervisor e selezionando Reboot alla scheda Host System.
Una volta selezionata la porta USB premete sul pulsante Upload
Attendete all'incirca 5 minuti, sino a chè l'upload del firmware termina e alla fine vedrete su Home Assistant una notifica che vi indicherà la scoperta di un nuovo dispositivo. Aggiungete l'integrazione delle nuove entità al vostro sistema, cliccando sulla scritta Check it Out.
Terminato il tutto, rimuovere l'usb della board dal raspberry e posizionatela nella stanza dove avrete il sensore Xiaomi per controllare la vostra pianta, alimentandola con un semplice alimentatore usb da Smartphone.
Vi ricordo di seguirci sul nostro canale Telegram https://t.me/vincenzocaputoblog dove potrete trovare tanti appassionati del campo, tra cui anche me Vincenzo e Luigi.
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.