yes i use softwareserial but , usually same response
i use P2P , so my question now, it's possible that the model LORa is Lora Wan , i mean i can't change it to P2P ?
////TX
#define MY_ADDRESS 1 // Adresse du module TX
#define DEST_ADDRESS 2 // Adresse du module RX
unsigned long dernierEnvoi = 0;
void setup() {
Serial.begin(9600);
delay(3000);
Serial.println("Initialisation du LA66 (TX)");
// Configuration P2P
Serial.println("AT+STOP"); delay(200);
Serial.println("AT+RESET"); delay(2000);
Serial.println("AT+MODE=0"); delay(200);
Serial.println("AT+ADDRESS=" + String(MY_ADDRESS)); delay(200);
Serial.println("AT+NETWORKID=5"); delay(200);
Serial.println("AT+PARAMETER=9,7,1,4"); delay(200);
Serial.println("AT+FREQ=868500000"); delay(200);
Serial.println("AT+SAVE"); delay(200);
Serial.println("TX prêt");
}
void loop() {
if (millis() - dernierEnvoi > 3000) {
dernierEnvoi = millis();
Serial.println("AT+SEND=" + String(DEST_ADDRESS) + ",HelloWorld");
}
}
///RX
#define MY_ADDRESS 2 // Adresse du module RX
#define DEST_ADDRESS 1 // Adresse du module TX
String recu;
int rssiCount = 0;
long rssiSum = 0;
int rssiMin = 999;
int rssiMax = -999;
void setup() {
Serial.begin(9600);
delay(3000);
Serial.println("Initialisation du LA66 (RX)");
// Configuration P2P
Serial.println("AT+STOP"); delay(200);
Serial.println("AT+RESET"); delay(2000);
Serial.println("AT+MODE=0"); delay(200);
Serial.println("AT+ADDRESS=" + String(MY_ADDRESS)); delay(200);
Serial.println("AT+NETWORKID=5"); delay(200);
Serial.println("AT+PARAMETER=9,7,1,4"); delay(200);
Serial.println("AT+FREQ=868500000"); delay(200);
Serial.println("AT+SAVE"); delay(200);
Serial.println("RX prêt");
}
void loop() {
// Lecture des données reçues
if (Serial.available()) {
recu = Serial.readStringUntil('\n');
recu.trim();
if (recu.length() > 0) {
Serial.println("Reçu : " + recu);
}
// Extraction du RSSI si format P2P
if (recu.startsWith("+RCV")) {
int lastComma = recu.lastIndexOf(',');
int prevComma = recu.lastIndexOf(',', lastComma - 1);
String rssiStr = recu.substring(prevComma + 1, lastComma);
int rssiVal = rssiStr.toInt();
// Statistiques
rssiSum += rssiVal;
rssiCount++;
if (rssiVal < rssiMin) rssiMin = rssiVal;
if (rssiVal > rssiMax) rssiMax = rssiVal;
Serial.println("📡 RSSI : " + String(rssiVal) + " dBm");
Serial.println(" Moyenne : " + String((float)rssiSum / rssiCount, 2) + " dBm");
Serial.println(" Min : " + String(rssiMin) + " dBm");
Serial.println(" Max : " + String(rssiMax) + " dBm");
}
}
}