Faccio molti progetti con gli EByte LoRa E32, tutti basati sulla mia libreria “Libreria EByte Lora E32“, e molte persone lo scaricano, ma gli strumenti di EByte sono molto poveri e talvolta difettosi.
Quindi proverò a creare un esempio che da web supporti tutte le funzionalità di configurazione e i widget per testare l’invio e la ricezione.
Ecco i dispositivi LoRa E32 AliExpress (433MHz 5Km) - AliExpress (433MHz 8Km) - AliExpress (433MHz 16Km) - AliExpress (868MHz 915MHz 5.5Km) - AliExpress (868MHz 915MHz 8Km)
Puoi dividere l’applicazione in 2 parti
Back End (come un semplice gateway)
Ho scritto 2 back end, uno per esp8266 e uno per esp32, li trovate sugli esempi della mia libreria “Libreria EByte Lora E32”.
Puoi scegliere di lavorare con il dispositivo come Soft AP oppure puoi inserire il tuo WiFi SSID e la password e usarli come un normale server, per abilitare il Soft AP devi commentare questa riga
#define SERVER_MODE
Quindi se colleghi D0 con una resistenza di pull-up al pin RESET, resetto automaticamente il dispositivo quando necessario.
Caricamento degli sketch e interfaccia utente Web
Per caricare gli sketchs puoi fare riferimento ai tutorial che ho già scritto:
- esp8266:
- Gestisci l’ambiente e carica lo sketch “WeMos D1 mini (esp8266): piedinatura, caratteristiche e configurazione dell’Arduino IDE“
- Carica i dati su LittleFS “WeMos D1 mini (esp8266): FileSystem integrato LittleFS“
- esp32:
- Gestire l’ambiente e caricare lo sketch “Esp32: piedinatura, specifiche e configurazione dell’Arduino IDE“
- Carica i dati su SPIFFS “ESP32: fileSystem integrato SPIFFS“
Introduzione all’interfaccia utente Web
La Web UI è multilingua e presenta alcune caratteristiche interessanti, qui 2 video uno per mostrare l’UI in italiano e uno in inglese.
Informazioni sul modulo
Il primo widget è un semplice pannello con le informazioni sul dispositivo
In questo widget trovi le informazioni sul dispositivo collegato, ora ho impostato tutte le frequenze ma solo per il modulo 100 e 1W.
Configurazione
Il widget più importante è quello di configurazione, che utilizzo per configurare e resettare il modulo.
Come puoi vedere ci sono tutte le opzioni di configurazione dei dispositivi E32, con il pulsante rosso si invia un comando di reset al modulo, e con il pulsante DEFAULT si caricano i valori di default per il dispositivo, salva per salvare definitivamente la configurazione.
Widget Invio
Se vuoi inviare un messaggio in Trasparent, Fixed o Boradcast puoi utilizzare il widget nella sezione send receiver.
Se hai selezionato l’opzione Trasparente nella configurazione, il widget ha solo una scheda con l’opzione Trasparente.
Il CHAN è bloccato perché non puoi modificare quel valore.
Di default aggiungo un carattere ‘\0’ al messaggio per usarlo come separatore nella lettura del buffer.
Se si seleziona Fisso in modalità di trasmissione, sono disponibili due opzioni,
invia messaggio FISSO
dove è possibile selezionare CHAN, ADDH e ADDL.
Invia messaggio BROADCAST
Widget ricevitore
Ora il widget per ricevere messaggi
l’E32 riceve tutti i messaggi e li mette nel buffer, quando si fa clic sul pulsante START si inizia a leggere il messaggio fino al carattere ‘\0’, io uso WebSocket per inviare il messaggio al front-end, quindi non è necessario aggiornare ogni volta.
Pagina iniziale personalizzata
Ho fatto la mia applicazione web con una semplice ma utile funzionalità, puoi cliccare sul cuore nel widget e questi elementi sono appuntati sulla homepage e li sposti o li ridimensioni in tutte le pagine e se fai clic sul pulsante mobile salva può conservare il layout selezionato per l’accesso successivo.
Grazie
Link al progetto GitHub del front end
Link all’implementazione delle API REST
- EByte LoRa E32 gateway: gestione REST e WebSocket
- EByte LoRa E32 Web Manager: descrizione, configurazione e demo