Hallo,
Ich habe mir 2 Heltec LoRa32 V2 gekauft und wollte die Daten die der Receiver empfängt am meine Hausautomation per MQTT senden.
Ich wollte nicht das es einen Umweg über TTN macht.
Dies hier geht leider nicht das die Bibliotheken wohl nicht kompatibel sind.
Dies hier geht auch nicht und bricht immer mit folgendem Fehler ab
Rebooting...
Serial initial done
you can see OLED printed OLED initial done!
LoRa Initial success!
setup()
Initialising Gateway...
Connecting to WiFi...
Connected to AP1
IP address: 192.168.x.x
Connected to:
AP1
IP address:
38924xxxx
configureLoRa()
MQTT connecting as client LoRa-Gateway-524602519232292...
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400014fd PS : 0x00060830 A0 : 0x80103800 A1 : 0x3ffb1a50
A2 : 0x00000004 A3 : 0x00000000 A4 : 0x000000ff A5 : 0x0000ff00
A6 : 0x00ff0000 A7 : 0xff000000 A8 : 0x00000000 A9 : 0x3ffb1de0
A10 : 0x3ffcc51c A11 : 0x00000001 A12 : 0x00000001 A13 : 0x00009880
A14 : 0x00000000 A15 : 0x00000000 SAR : 0x0000000a EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000004 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xffffffff
Backtrace: 0x400014fd:0x3ffb1a50 0x401037fd:0x3ffb1a60 0x4010ad76:0x3ffb1d70 0x4010adb2:0x3ffb1e00 0x400d59fa:0x3ffb1e40 0x400d1275:0x3ffb1ee0 0x400d12f7:0x3ffb1f40 0x400d14bd:0x3ffb1f70 0x400d60db:0x3ffb1fb0 0x4008930d:0x3ffb1fd0
Rebooting...
Ich habe dann bei Heltec einige Beispiele auf der Seite gefunden, und da ich jetzt nicht wirklich so viel Ahnung von json mqtt usw. habe, habe ich es trotzdem geschafft das Zumindestens der Inhalt der Pakete per mqtt bei server ankommen, ich dem Fall die Testmessage hello1 hello2 usw. das der Sender sendet. Ich will später Messdaten erfassen und diese einzeln per Lora P2P über mqtt zum Server senden.
Was ich jetzt nicht hin bekommen habe ist die Empfangsstärke per mqtt auch an den Server zu schicken.
Vielleicht kann mir hier jemand weiter helfen?
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
String message = "";
while (LoRa.available()) {
message = message + ((char)LoRa.read());
}
String rssi = "\"RSSI\":\"" + String(LoRa.packetRssi()) + "\"";
String jsonString = message;
jsonString.replace("xxx", rssi);
Heltec.display->clear();
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
Heltec.display->setFont(ArialMT_Plain_10);
Heltec.display->drawString(0 , 15 , rssi);
// Heltec.display->drawString(0 , 26 , check);
Heltec.display->drawString(0, 0, message);
Heltec.display->display();
int ii = jsonString.indexOf("Count", 1);
String count = jsonString.substring(ii + 8, ii + 11);
counter = count.toInt();
if (counter - lastCounter == 0) Serial.println("Repetition");
lastCounter = counter;
sendAck(message);
String value1 = jsonString.substring(8, 11); // Vcc or heighth
String value2 = jsonString.substring(23, 26); //counter
if (!client.connected()) {
reconnect();
}
client.publish(TOPIC"/MESSAGE", jsonString.c_str());
}
client.loop();
}
Wie bekomme ich hier rssi noch mit in den json String damit es per mqtt an den Server geschickt wird?