Ebyte LoRa E32 per Arduino, esp32 o esp8266: specifiche ed utilizzo base – Parte 1


LoRa E32 per Arduino, esp32 o esp8266: specifiche ed utilizzo base
LoRa E32 per Arduino, esp32 o esp8266: specifiche ed utilizzo base

La telemetria dei dati wireless LoRa o Long Range è una tecnologia introdotta da Semtech che opera a una frequenza inferiore degli NRF24L01 (433 MHz, 868 MHz o 916 MHz contro 2,4 GHz per NRF24L01) ma copre tre volte la distanza (da 3000 ma 8000 m).

LoRa E32-TTL-100

Puoi trovarlo qui AliExpress (433MHz 5Km) - AliExpress (433MHz 8Km) - AliExpress (433MHz 16Km) - AliExpress (868MHz 915MHz 5.5Km) - AliExpress (868MHz 915MHz 8Km)

Testeremo l’E32-TTL-100. È un modulo ricetrasmettitore wireless, funziona da 410 a 441 MHz basato sull’originale RFX SX1278 di SEMTECH, e permette la trasmissione trasparente, livello TTL. Il modulo adotta la tecnologia dello spettro di diffusione LORA.

Il modulo presenta l’algoritmo FEC Forward Error Correction, che garantisce un’elevata efficienza di codifica e buone prestazioni di correzione. In caso di interferenza improvvisa, può correggere automaticamente i pacchetti dati interferiti, garantendo una buona affidabilità. Senza FEC, quei pacchetti possono essere eliminati.
Con la crittografia e decrittografia, l’intercettazione dei dati diventa inutile. La funzione di compressione dei dati può ridurre il tempo di trasmissione e la probabilità di interferenze, migliorando l’affidabilità e l’efficienza della trasmissione.

Tipo operativo e di trasmissione

Questo dispositivo ha alcune funzioni interessanti:

Trasmissione

LoRa E32 transmitting scenarios
Trasmissione trasparente

Questa può essere considerata come una “modalità demo”, è il valore predefinito ed è possibile inviare messaggi a tutti i dispositivi con lo stesso indirizzo e canale impostati.

Trasmissione fissa

Questo tipo di trasmissione è possibile specificare un indirizzo e un canale a cui si desidera inviare il messaggio.
Puoi inviare un messaggio a:

  • Dispositivo specificato con un indirizzo predeterminato basso, un indirizzo alto (per ottenere un indirizzo di 2 byte lo hanno separato in 2 parametri) e un canale.
LoRa E32 Fixed message to a specified device
  • Mandare messaggi di broadcast su un determinato canale.
Broadcast message to a set of channel devices

Power saving mode

Normal mode

Invia semplicemente un messaggio.

Wake-up mode e power-saving mode

Come puoi intuire se un dispositivo è in modalità Wake-up puoi “riattivare” uno o più dispositivi che sono in modalità di risparmio energetico con una comunicazione preambolo.

Program/sleep mode

Con questa configurazione è possibile modificare la configurazione del dispositivo.

Specifiche

Ecco le specifiche per il modulo:

  • Dimensioni del modulo: 21 * 36 mm
  • Tipo di antenna: SMA-K (impedenza 50Ω)
  • Distanza di trasmissione: 3000 m (max)
  • Potenza massima: 2dB (100mW)
  • Tariffe aeree: 2,4 Kbps (6 livelli opzionali (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
  • Lunghezza delle emissioni: 512 byte
  • Lunghezza di ricezione: 512 byte
  • Interfaccia di comunicazione: UART – 8N1, 8E1, 8O1, otto tipi di baud rate UART, da 1200 a 115200 bps (impostazione predefinita: 9600)
  • Supporto RSSI: No (elaborazione intelligente integrata)
  • Frequenza di lavoro: 410 MHz-441 MHz (predefinito 433 MHz), Canale: 32
Parametri elettroniciMin.Typ.Max.Unit
Alimentazione2.33.35.5V
Communication level3.03.33.6V
Corrente trasmissione102110118mA
Corrente in ricezione121518mA
Corrente in modalità Sleep358μA
Temperatura operativa-4020+85
Humidità operativa106090%
Temperatura di conservazione-4020+125

Devi prestare attenzione al communication level che differisce dall’alimentazione, il secondo può ricevere una tensione sia 3.3v (esp8266 ed esp32) che 5v (Arduino), ma il primo vuole un 3.3v, quindi per connetterti ad un Arduino devi usare un Partitore di tensione (Partitore di tensione (voltage divider): calcolatore e applicazioni) per prevenire danni al dispositivo.

Pinout

Pin No.Pin itemPin directionPin application
1M0Input(weak pull-up)Lavora con M1 e decide le quattro modalità operative. Non può essere lasciato libero, può essere messo a terra.
2M1Input(weak pull-up)Lavora con M1 e decide le quattro modalità operative. Non può essere lasciato libero, può essere messo a terra.
3RXDInputIngressi UART TTL, connessione a pin di uscita TXD esterno (MCU, PC). Può essere configurato come ingresso open-drain o pull-up.
4TXDOutputUscite TTL UART, si collega all’inputpin esterno RXD (MCU, PC). Può essere configurato come uscita open-drain o push-pull

5

AUX

Output
Per indicare lo stato di funzionamento del modulo e riattivare l’MCU esterno. Durante la procedura di inizializzazione di autocontrollo, il pin emette una bassa tensione. Può essere configurato come uscita open-drain o output push-pull (è consentito non metterlo a terra).
6VCCAlimentazione 2.3V~5.5V DC
7GNDTerra

Come puoi vedere, puoi impostare varie modalità tramite i pin M0 e M1.

ModalitàM1M0Descrizione
Normal00UART e il canale wireless sono a attivi
Wake-Up01Come normale ma viene aggiunto un codice di preambolo ai dati trasmessi per riattivare il ricevitore.
Power-Saving10UART è disabilitato e il wireless è in modalità WOR (wake on radio), il che significa che il dispositivo si accenderà quando ci sono dati da ricevere. La trasmissione non è consentita.
Sleep11Utilizzato nell’impostazione dei parametri. Trasmissione e ricezione disabilitate.

Per il prossimo semplice test useremo la modalità normale.

Collegamento di Wemos D1 mini (esp8266) per un utilizzo di base

esp8266 ha il vantaggio di avere la stessa tensione dell’interfaccia di comunicazione, quindi lo schema di connessione è più semplice di Arduino.

LoRa E32-TTL-100 Wemos D1 breadboard

È importante aggiungere una resistenza di pull-up (4,7Kohm) per ottenere una buona stabilità.

M0GND (Set normal mode)
M1GND (Set normal mode)
RXPIN D2 (PullUP 4,7KΩ)
TXPIN D3 (PullUP 4,7KΩ)
AUXNot connected
VCC3.3v
GNDGND

Connessione di Arduino per un utilizzo di base

La tensione di lavoro di Arduino è 5v, quindi è necessario aggiungere un partitore di tensione sul pin RX del modulo LoRa per prevenire danni, è possibile ottenere maggiori informazioni qui Partitore di tensione (voltage divider): calcolatore e applicazioni.

È possibile utilizzare una resistenza da 2Kohm su GND e 1Kohm dal segnale e poi insieme su RX.

LoRa E32-TTL-100 Arduino breadboard
M0GND (Set normal mode)
M1GND (Set normal mode)
RXPIN D2 (PullUP 4,7KΩ & Voltage divider)
TXPIN D3 (PullUP 4,7KΩ)
AUXNot connected
VCC3.3v
GNDGND

Connessione ESP32 per un utilizzo di base

Ebyte LoRa E22 device esp32 dev kit v1 breadboard transparent transmission (normal mode)
Ebyte LoRa E22 device esp32 dev kit v1 breadboard transparent transmission (normal mode)
M0GND (Set normal mode)
M1GND (Set normal mode)
RXTX2 (PullUP 4,7KΩ)
TXRX2 (PullUP 4,7KΩ)
AUXNot connected
VCC3.3v-5v
GNDGND

Connessione Arduino MKR WiFi 1010 per un utilizzo di base

Ebyte LoRa Exx Arduino MKR WiFi 1010 normal mode connected breadboard
Ebyte LoRa Exx Arduino MKR WiFi 1010 normal mode connected breadboard
M0GND (Set normal mode)
M1GND (Set normal mode)
TXPIN 14 Tx (PullUP 4,7KΩ)
RXPIN 13 Rx (PullUP 4,7KΩ)
AUXPIN 1 (PullUP 4,7KΩ)
VCC5V
GNDGND

Sketch per una semplice comunicazione

Se si imposti su 0 pin M1 e M0 si entra in modalità “Normale”, ed è possibile ricevere e trasmettere tutti i dati dal dispositivo A a B, questa modalità viene definita “Trasmissione trasparente”.

Puoi usare 2 Arduinos o 2 Wemos D1 mini o uno di ogni tipo.

All’inizio invia un messaggio e se scrivi in seriale da uno dei dispositivi il testo viene trasferito all’altro dispositivo. Puoi usare 2 Arduinos o 2 Wemos o uno e uno come preferisci.

Sketch Arduino

/*
 * LoRa E32-TTL-100
 * Start device or reset to send a message
 * https://mischianti.org
 *
 * E32-TTL-100----- Arduino UNO
 * M0         ----- GND
 * M1         ----- GND
 * TX         ----- PIN 2 (PullUP)
 * RX         ----- PIN 3 (PullUP & Voltage divider)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);  // e32 TX e32 RX

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}

void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Sketch Wemos D1 mini

/*
 * LoRa E32-TTL-100
 * Start device or reset to send a message
 * https://mischianti.org
 *
 * E32-TTL-100----- Wemos D1 mini
 * M0         ----- GND
 * M1         ----- GND
 * TX         ----- PIN D2 (PullUP)
 * RX         ----- PIN D3 (PullUP)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"
#include <SoftwareSerial.h>

SoftwareSerial mySerial(D2, D3); // e32 TX e32 RX

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}

void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Sketch ESP32

/*
 * LoRa E32
 * Start device or reset to send a message
 * https://mischianti.org
 *
 * E32        ----- esp32
 * M0         ----- GND
 * M1         ----- GND
 * TX         ----- RX2 (PullUP)
 * RX         ----- TX2 (PullUP)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  Serial2.begin(9600);
  Serial2.println("Hello, world?");
}

void loop() {
  if (Serial2.available()) {
    Serial.write(Serial2.read());
  }
  if (Serial.available()) {
    Serial2.write(Serial.read());
  }
}

Sketch Arduino SAMD MKR WiFi 1010

/*
 * LoRa E32
 * Start device or reset to send a message
 * https://mischianti.org
 *
 * E32        ----- Arduino MKR WiFi 1010
 * M0         ----- 2 (or GND)
 * M1         ----- 3 (or GND)
 * RX         ----- 14 (PullUP)
 * TX         ----- 13 (PullUP)
 * AUX        ----- 1  (PullUP)
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  Serial1.begin(9600);
  Serial1.println("Hello, world?");
}

void loop() {
  if (Serial1.available()) {
    Serial.write(Serial1.read());
  }
  if (Serial.available()) {
    Serial1.write(Serial.read());
  }
}

Ma questo utilizzo di base è abbastanza inutile, quindi nel prossimo capitolo useremo la mia libreria e approfondiremo le funzionalità del dispositivo.

Libreria

Qui l’ultimo esempio usando la mia libreria:

Sketch Arduino

/*
 * LoRa E32-TTL-100
 * Write on serial to transfer a message to other device
 * https://mischianti.org
 *
 * E32-TTL-100----- Arduino UNO
 * M0         ----- GND
 * M1         ----- GND
 * TX         ----- PIN 2 (PullUP)
 * RX         ----- PIN 3 (PullUP & Voltage divider)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"
#include "LoRa_E32.h"

LoRa_E32 e32ttl100(2, 3); // e32 TX e32 RX

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  // Startup all pins and UART
  e32ttl100.begin();

  // Send message
  ResponseStatus rs = e32ttl100.sendMessage("Hello, world?");
  // Check If there is some problem of successfully send
  Serial.println(rs.getResponseDescription());
}

void loop() {
	// If something available
  if (e32ttl100.available()>1) {
	  // read the String message
	ResponseContainer rc = e32ttl100.receiveMessage();
	// Is something goes wrong print error
	if (rc.status.code!=1){
		rc.status.getResponseDescription();
	}else{
		// Print the data received
		Serial.println(rc.data);
	}
  }
  if (Serial.available()) {
	  String input = Serial.readString();
	  e32ttl100.sendMessage(input);
  }
}

Sketch Wemos D1 (esp8266)

/*
 * LoRa E32-TTL-100
 * Start device or reset to send a message
 * https://mischianti.org
 *
 * E32-TTL-100----- Wemos D1 mini
 * M0         ----- GND
 * M1         ----- GND
 * TX         ----- PIN D2 (PullUP)
 * RX         ----- PIN D3 (PullUP)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"
#include "LoRa_E32.h"

LoRa_E32 e32ttl100(D2, D3); // e32 TX e32 RX

void setup() {
  Serial.begin(9600);
  delay(500);

  Serial.println("Hi, I'm going to send message!");

  // Startup all pins and UART
  e32ttl100.begin();

  // Send message
  ResponseStatus rs = e32ttl100.sendMessage("Hello, world?");
  // Check If there is some problem of successfully send
  Serial.println(rs.getResponseDescription());
}

void loop() {
	// If something available
  if (e32ttl100.available()>1) {
	  // read the String message
	ResponseContainer rc = e32ttl100.receiveMessage();
	// Is something goes wrong print error
	if (rc.status.code!=1){
		rc.status.getResponseDescription();
	}else{
		// Print the data received
		Serial.println(rc.data);
	}
  }
  if (Serial.available()) {
	  String input = Serial.readString();
	  e32ttl100.sendMessage(input);
  }
}

Sketch ESP-32

/*
 * EBYTE LoRa E32
 * send a transparent message, you must check that the transmitter and receiver have the same
 * CHANNEL ADDL and ADDH
 *
 *
 * https://mischianti.org
 *
 * E32		  ----- esp32
 * M0         ----- 19 (or GND)
 * M1         ----- 21 (or GND)
 * RX         ----- TX2 (PullUP)
 * TX         ----- RX2 (PullUP)
 * AUX        ----- 15  (PullUP)
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */

#include "Arduino.h"
#include "LoRa_E32.h"

// ---------- esp8266 pins --------------
//LoRa_E32 e32ttl(RX, TX, AUX, M0, M1);  // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(D3, D4, D5, D7, D6); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX AUX M0 M1
//LoRa_E32 e32ttl(D2, D3); // Config without connect AUX and M0 M1

//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(D2, D3); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(&mySerial, D5, D7, D6); // AUX M0 M1
// -------------------------------------

// ---------- Arduino pins --------------
//LoRa_E32 e32ttl(4, 5, 3, 7, 6); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX AUX M0 M1
//LoRa_E32 e32ttl(4, 5); // Config without connect AUX and M0 M1

//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(4, 5); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(&mySerial, 3, 7, 6); // AUX M0 M1
// -------------------------------------

// ------------- Arduino MKR WiFi 1010 -------------
// LoRa_E32 e220ttl(&Serial1, 1, 2, 3); //  RX AUX M0 M1
// -------------------------------------------------

// ---------- esp32 pins --------------
LoRa_E32 e32ttl(&Serial2, 15, 21, 19); //  RX AUX M0 M1

//LoRa_E32 e32ttl(&Serial2, 22, 4, 18, 21, 19, UART_BPS_RATE_9600); //  esp32 RX <-- e22 TX, esp32 TX --> e22 RX AUX M0 M1
// -------------------------------------

void setup() {
  Serial.begin(9600);
  delay(500);

  // Startup all pins and UART
  e32ttl.begin();

  Serial.println("Hi, I'm going to send message!");

  // Send message
  ResponseStatus rs = e32ttl.sendMessage("Hello, world?");
  // Check If there is some problem of succesfully send
  Serial.println(rs.getResponseDescription());
}

void loop() {
	// If something available
  if (e32ttl.available()>1) {
	  // read the String message
	ResponseContainer rc = e32ttl.receiveMessage();

	// Is something goes wrong print error
	if (rc.status.code!=1){
		Serial.println(rc.status.getResponseDescription());
	}else{
		// Print the data received
		Serial.println(rc.status.getResponseDescription());
		Serial.println(rc.data);
	}
  }
  if (Serial.available()) {
	  String input = Serial.readString();
	  e32ttl.sendMessage(input);
  }
}

Sketch Arduino MKR WiFi 1010

/*
 * EBYTE LoRa E32
 * send a transparent message, you must check that the transmitter and receiver have the same
 * CHANNEL ADDL and ADDH
 *
 *
 * https://mischianti.org
 *
 * E32		  ----- Arduino MKR
 * M0         ----- 2 (or GND)
 * M1         ----- 3 (or GND)
 * RX         ----- 14 (PullUP)
 * TX         ----- 13 (PullUP)
 * AUX        ----- 1  (PullUP)
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */

#include "Arduino.h"
#include "LoRa_E32.h"

// ---------- esp8266 pins --------------
//LoRa_E32 e32ttl(RX, TX, AUX, M0, M1);  // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(D3, D4, D5, D7, D6); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX AUX M0 M1
//LoRa_E32 e32ttl(D2, D3); // Config without connect AUX and M0 M1

//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(D2, D3); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(&mySerial, D5, D7, D6); // AUX M0 M1
// -------------------------------------

// ---------- Arduino pins --------------
//LoRa_E32 e32ttl(4, 5, 3, 7, 6); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX AUX M0 M1
//LoRa_E32 e32ttl(4, 5); // Config without connect AUX and M0 M1

//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(4, 5); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
//LoRa_E32 e32ttl(&mySerial, 3, 7, 6); // AUX M0 M1
// -------------------------------------

// ------------- Arduino MKR WiFi 1010 -------------
LoRa_E32 e220ttl(&Serial1, 1, 2, 3); //  RX AUX M0 M1
// -------------------------------------------------

// ---------- esp32 pins --------------
// LoRa_E32 e32ttl(&Serial2, 15, 21, 19); //  RX AUX M0 M1

//LoRa_E32 e32ttl(&Serial2, 22, 4, 18, 21, 19, UART_BPS_RATE_9600); //  esp32 RX <-- e22 TX, esp32 TX --> e22 RX AUX M0 M1
// -------------------------------------

void setup() {
  Serial.begin(9600);
  delay(500);

  // Startup all pins and UART
  e32ttl.begin();

  Serial.println("Hi, I'm going to send message!");

  // Send message
  ResponseStatus rs = e32ttl.sendMessage("Hello, world?");
  // Check If there is some problem of succesfully send
  Serial.println(rs.getResponseDescription());
}

void loop() {
	// If something available
  if (e32ttl.available()>1) {
	  // read the String message
	ResponseContainer rc = e32ttl.receiveMessage();

	// Is something goes wrong print error
	if (rc.status.code!=1){
		Serial.println(rc.status.getResponseDescription());
	}else{
		// Print the data received
		Serial.println(rc.status.getResponseDescription());
		Serial.println(rc.data);
	}
  }
  if (Serial.available()) {
	  String input = Serial.readString();
	  e32ttl.sendMessage(input);
  }
}

Se hai già modificato la configurazione, devi ripristinare i parametri di base:

//  If you have ever change configuration you must restore It
	ResponseStructContainer c;
	c = e32ttl100.getConfiguration();
	Configuration configuration = *(Configuration*) c.data;
	Serial.println(c.status.getResponseDescription());
	configuration.CHAN = 0x17;
	configuration.OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION;
	e32ttl100.setConfiguration(configuration, WRITE_CFG_PWR_DWN_SAVE);

ma lo vedremo meglio nel prossimo articolo.

Grazie

Ma questo tipo di utilizzo è molto riduttivo, nei prossimi articoli andremo più in profondità e inizieremo a utilizzare in modo massiccio la libreria per semplificare la configurazione e le impostazioni complesse.

  1. LoRa E32 per Arduino, esp32 o esp8266: specifiche ed utilizzo base
  2. LoRa E32 per Arduino, esp32 o esp8266: libreria
  3. LoRa E32 per Arduino, esp32 o esp8266: configurazione
  4. LoRa E32 per Arduino, esp32 o esp8266: trasmissione fissa
  5. LoRa E32 per Arduino, esp32 o esp8266: power saving ed invio di dati strutturati
  6. LoRa E32 per Arduino, esp32 o esp8266: WOR (wake on radio) il microcontrollore e lo shield per Arduino
  7. LoRa E32 per Arduino, esp32 o esp8266: WOR (wake on radio) il microcontrollore e lo shield per il WeMos D1 mini
  8. LoRa E32 per Arduino, esp32 o esp8266 : WOR (wake on radio) del microcontrollore e lo shield per esp32
  9. LoRa E32 per STM32: WOR (wake on radio) del microcontrollore e lo shield per STM32

Github library


6 Risposte

  1. Giuseppe ha detto:

    Ciao,
    Complimenti per la libreria, la considero utilissima, purtroppo però quando utilizzo il codice, viene inviato e ricevuto solo il messaggio hello word, dopo di che la seriale rimane bloccata, non riesco a capire cosa succede.

    • Renzo Mischianti ha detto:

      Ciao Giuseppe,
      se hai usato l’esempio sopra è normale che vedi solo l’invio del messaggio, l’invio è sul setup e viene eseguito una volta sola.
      La ricezione è nel loop ed ogni volta che parte un messaggio dovrebbe riceverlo.
      Ciao Renzo

      • sevenhouses ha detto:

        Ciao Renzo,
        Grazie per la risposta, perdonami ma credevo che con l’istruzione:
        if (Serial.available()) {
        String input = Serial.readString();
        e32ttl100.sendMessage(input);
        }
        inserita nel loop, venisse inviato il messaggio scritto nel monitor seriale.
        Ciao Giuseppe

  2. Luca ha detto:

    Grazie per il bellissimo articolo. Ho provato ad installare lo skecth su di un ESP32 wroom 32 collegandolo come da indicazioni ad un E32 868T30D ma mi dava libreria mancante su SoftwareSeria. Ho installato allora le librerie EspSoftwareSerial mi ritorna in compilazione un errore però sulla riga:
    LoRa_E32 e32ttl100(2, 3); // e32 TX e32 RX
    per una conversione di variabile.
    Credo dunque che EspSoftwareSerial non sia la libreria corretta.
    Hai indicazioni in merito per cortesia?
    ciao e grazie ancora
    Luca M

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *