Nell'Internet delle cose ci sono vari modi di comunicazione che sono più o meno adatti per il funzionamento della batteria. Il diagramma seguente mostra diversi modi in cui un dispositivo IoT può essere connesso a un dashboard.
Iniziamo con un dispositivo che comunica direttamente tramite MQTT. Abbiamo due opzioni per questo.
Nel caso più semplice, il dispositivo è connesso a un server sulla rete locale (linea rossa). In questo server, i valori misurati possono essere elaborati e le azioni possono essere attivate nel dispositivo.
- Vantaggio:Elevata sicurezza dei dati, flessibile, molto conveniente
- Svantaggio: Server proprio richiesto, fascia bassa, consumo energetico relativamente elevato
Possiamo anche collegare il dispositivo a un server IoT nel cloud tramite un router Wi-Fi e Internet (come nella parte 1 di questa serie di blog). Nel server IoT, le metriche possono quindi essere elaborate e le azioni possono essere attivate.
- Vantaggio: Nessun server locale richiesto, molto conveniente
- Svantaggio: Protezione dei dati ridotta (Internet), basso consumo energetico, relativamente elevato
La seconda variante è un dispositivo che supporta la trasmissione LoRa (Long Range). Questa trasmissione radio è caratterizzata da un basso raggio d'azione e basso consumo energetico.
Il modo più semplice consiste nel connettere il dispositivo a TheThingsNetwork (TTN) a una rete mondiale per l'IoT. Tuttavia, un gateway dovrebbe essere disponibile entro un raggio di 5 km. In caso contrario, è possibile utilizzare un gateway manualmente. Dal momento che tali gateway non sono abbastanza a buon mercato (>100) ho cercato di costruire un semplice gateway a 1 canale con ESP32 - LoRa. Anche se ci sono corrispondenti Online_Projekte, i miei tentativi hanno avuto solo parzialmente successo. Quando si utilizza il TTN, i dati vengono inviati tramite LoRa al gateway, che quindi invia i dati al TTN tramite MQTT. Cayenne può essere collegato al TTN tramite un altro gateway e visualizzare i dati sul cruscotto. Nei miei esperimenti, tuttavia, a volte sono stato in grado di connettermi dal dispositivo al mio gateway e al TTN. Tuttavia, la connessione LoRa con il protocollo utilizzato da TTN non era stabile. Ero stato collegato a Cayenne dal TTN ma non dal mio dispositivo LoRa.
- Vantaggio: A lungo raggio, basso consumo energetico, può essere utilizzato ovunque con copertura TTN
- Svantaggio: Complesso protocollo di trasmissione LoRa (multicanale), ancora scarsa copertura di rete, fair use consente solo 1 secondo all'ora per trasferire i dati, dispositivi LoRa sono relativamente costosi.
Dal momento che non ho avuto successo con il gateway TTN, ho sviluppato un semplice gateway che riceve i dati tramite un canale LoRa fisso e li passa in modo asincrono al server MQTT (Cayenne). Al contrario, le azioni vengono ricevute dal server MQTT e trasmesse in modo asincrono tramite LoRa al dispositivo corrispondente. Questo gateway sarà presente nella prossima parte di questa serie di blog.
- Vantaggio: Lungo raggio, basso consumo energetico, connessione diretta al server mqTT
- Svantaggio: Gateway propitaria non funziona con dispositivi LoRa commerciali, numero limitato di dispositivi paralleli, moduli LoRa sono relativamente costosi.
La terza variante è un dispositivo che ESP-Now utilizza per la trasmissione. Questo protocollo è anche a risparmio energetico, in quanto i dati vengono inviati direttamente al gateway utilizzando l'indirizzo MAC utilizzando l'indirizzo MAC, eliminando la connessione che richiede tempo e quindi il trasmettitore WLAN è attivo solo per pochi microsecondi per pacchetto di dati. Questo protocollo non richiede un modulo LoRa, ma può essere utilizzato direttamente con qualsiasi controller ESPxxx, il che rende fattibili dispositivi molto economici. L'estensione del gateway LoRa per supportare ESP-Now viene presentata in un post successivo di questa serie di blog.
- Vantaggio: basso consumo energetico, basso prezzo
- Svantaggio: (Wi-Fi), non compatibile con i sistemi commerciali.
Nel prossimo articolo introdurremo un gateway basato sul display ESP32 con LoRa e OLED.