Connected Devices
Vasi smart che formano una mesh LoRa auto-rigenerante
DigitalBorders ha portato i vasi smart di Jocondo da prototipo a prodotto — firmware, una mesh LoRa auto-rigenerante che abbiamo costruito e reso open source, un backend Appwrite e un'app React Native, end to end. I vasi si collegano in mesh via LoRa dove il Wi-Fi non arriva, e qualunque vaso connesso fa da ponte verso il cloud per gli altri.
- ESP32
- ESPHome
- C++
- LoRa mesh
- BLE
- Appwrite
- React Native
- Progettato
- una mesh LoRa auto-rigenerante
- Reso open source
- come componente ESPHome
- Gestito
- dal firmware all'app, un solo team
Contesto
Jocondo produce vasi smart. Il loro prototipo irrigava a timer fisso e non riportava nulla. Per diventare un prodotto, un intero giardino di vasi doveva leggere il proprio terreno, irrigare solo quando una pianta ne aveva bisogno e riportare tutto a un'app — all'aperto, distribuito su un cortile dove il Wi-Fi non arriva in ogni angolo. Jocondo ha portato l'intera realizzazione a DigitalBorders: il firmware, la rete tra i vasi, il backend e l'app.
Problema
La parte difficile non era il singolo vaso — era collegarne un intero giardino in modo affidabile.
- Il Wi-Fi non arriva a ogni vaso. Un vaso all'estremità del cortile può non avere segnale utile, ma deve comunque riportare i dati e ricevere i comandi di irrigazione.
- Un gateway fisso è un single point of failure. Se instradi ogni vaso attraverso un unico ponte designato, l'intero giardino si spegne quando quel ponte perde alimentazione o segnale.
- L'onboarding deve avvenire dal giardino. Il proprietario configura un vaso dal telefono, standogli accanto — non digitando i dettagli di rete su un minuscolo schermo.
- La rete deve essere nostra da poter sistemare. Uno stack radio a scatola chiusa che non possiamo leggere o correggere diventa un rischio una volta che i vasi sono sul mercato.
Approccio
Ogni vaso monta tre radio — Wi-Fi, BLE e LoRa — e abbiamo usato ciascuna per ciò in cui è brava.
I vasi formano una mesh LoRa auto-rigenerante: ognuno fa da ripetitore per i vicini, così un vaso senza Wi-Fi proprio raggiunge comunque la rete attraverso i vasi intorno, e la mesh si re-instrada da sola quando un nodo cade. Non c'è un gateway designato — qualunque vaso riesca a raggiungere il Wi-Fi fa da ponte tra la mesh e il backend, così l'uplink si auto-ripara come fa la mesh, e i vasi che hanno una connessione si fanno carico del traffico.
Il BLE gestisce il primo passo: il proprietario associa un nuovo vaso all'app
Jocondo via Bluetooth, in giardino, senza captive portal. La mesh in sé è un
componente ESPHome custom in C++ — lora_mesh — che DigitalBorders ha scritto e
reso open source (vive nel nostro fork di
ESPHome).
È una mesh custom, non LoRaWAN — il routing è nostro.
Un vaso connesso fa da ponte tra la mesh e un backend Appwrite, che conserva lo storico di ogni vaso e serve l'app React Native. Un solo team ha seguito ogni superficie — il firmware, il backend, l'app e l'admin — così le decisioni a ogni confine si allineavano invece di essere negoziate tra fornitori diversi.
Risultato
Un giardino in cui i vasi raggiungono la rete anche oltre il limite del Wi-Fi,
qualunque vaso connesso può fare da ponte per gli altri, e un nuovo vaso si
aggiunge con un tap BLE dall'app. Poiché il componente lora_mesh è open
source, la rete al cuore del prodotto non è una scatola nera che Jocondo deve
prendere per buona — è un componente ESPHome che chiunque può leggere, e che
DigitalBorders mantiene.