Код: Выделить всё
void setup() {
// Initialize serial connexion with LoRa module
Serial.begin(115200);
delay(100);
// Configure RYLR890 using Serial.write()
Serial.write("AT+ADDRESS=1\r\n");
delay(100);
Serial.write("AT+NETWORKID=1\r\n");
delay(100);
Serial.write("AT+BAND=915000000\r\n"); // define frequency at 915 MHz
delay(100);
}
void loop() {
// check if data are available im LoRa module
if (Serial.available()) {
String data = Serial.readString();
}
// send message each 5 sec
static unsigned long lastSendTime = 0;
if (millis() - lastSendTime > 5000) {
Serial.write("AT+SEND=2,5,Hello\r\n"); // send "Hello" to module with 2nd adress
lastSendTime = millis();
}
}
< /code>
Приемный модуль < /p>
//#include
#include
String incomingString = "";
String prevString = "";
unsigned long lastSerialTime = 0;
unsigned long timeoutDuration = 10000; // Timeout de 10 secondes
LiquidCrystal_I2C lcd(0x27, 20, 4); // I2C address 0x27, 20 columns and 4 rows
void setup() {
Serial.begin(115200);
lcd.init(); // initialize the LCD
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Bonjour");
lcd.setCursor(0, 1);
lcd.print("Drone Des Champs");
lcd.setCursor(0, 2);
lcd.print("Initialisation");
lcd.setCursor(0, 3);
lcd.print("de la connexion");
delay(1000);
// configure RYLR890 via commande AT
Serial.println("AT+ADDRESS=2"); // Define module address
delay(100);
Serial.println("AT+NETWORKID=1"); // Exemple pour définir le NetworkID à 1
delay(100);
Serial.println("AT+BAND=915000000"); // define frequency at 915 MHz
delay(100);
}
void loop() {
if (Serial.available()) {
incomingString = Serial.readStringUntil('\n'); // read until end of line
incomingString.trim(); // remove unnecessary characters
if (incomingString.length() > 0 && incomingString != prevString) {
prevString = incomingString;
lastSerialTime = millis(); // Update last received message
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(incomingString);
}
}
// Check if no message is received for a long time
if (millis() - lastSerialTime > timeoutDuration) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Connexion perdue");
}
}
Приемная диаграмма
Подробнее здесь: https://stackoverflow.com/questions/794 ... ceive-data