05-05-2021, 16:55
(Ten post był ostatnio modyfikowany: 05-05-2021, 16:56 przez Jarewa0606.)
Biblioteki się gryzą żeby to rozwiązać musiał byś przejrzeć je i o ile da radę ustawić SPI na sztywno, bo w tym przypadku każde urządzenie ma inna konfigurację SPI...
ogólnie to by działało tak na skróty
void loop() {
int pos1, pos2, pos3;
LoRa.begin (); // myślę ze chyba, albo przepisać ze setupa...
int packetSize = LoRa.parsePacket();
if (packetSize)
{
String LoRaData = LoRa.readString();
while (LoRa.available())
{
((char)LoRa.read());
}
pos1 = LoRaData.indexOf('/');
pos2 = LoRaData.indexOf('&');
pos3 = LoRaData.indexOf('!');
temperatura = LoRaData.substring(0,pos1);
cisnienie = LoRaData.substring(pos1 + 1, pos2);
wilgotnosc = LoRaData.substring(pos2 +1, pos3);
bateria = LoRaData.substring(pos3 +1, LoRaData.length());
Serial.println(temperatura);
Serial.println(cisnienie);
Serial.println(wilgotnosc);
Serial.println(bateria);
Serial.println("KONTROLA3");
}
Serial.println("KONTROLA4");
u8g2.begin ();
u8g2.clearBuffer();
u8g2.setFont (u8g2_font_ncenB14_tr);
u8g2.setCursor(2,16);
u8g2.print("EKRAN W LOOP");
u8g2.sendBuffer ();
} // KONIEC LOOP
Czyli za każdym razem jak zmieniasz urządzenie to inicjalizacja urządzenia wykonać....
ogólnie to by działało tak na skróty
void loop() {
int pos1, pos2, pos3;
LoRa.begin (); // myślę ze chyba, albo przepisać ze setupa...
int packetSize = LoRa.parsePacket();
if (packetSize)
{
String LoRaData = LoRa.readString();
while (LoRa.available())
{
((char)LoRa.read());
}
pos1 = LoRaData.indexOf('/');
pos2 = LoRaData.indexOf('&');
pos3 = LoRaData.indexOf('!');
temperatura = LoRaData.substring(0,pos1);
cisnienie = LoRaData.substring(pos1 + 1, pos2);
wilgotnosc = LoRaData.substring(pos2 +1, pos3);
bateria = LoRaData.substring(pos3 +1, LoRaData.length());
Serial.println(temperatura);
Serial.println(cisnienie);
Serial.println(wilgotnosc);
Serial.println(bateria);
Serial.println("KONTROLA3");
}
Serial.println("KONTROLA4");
u8g2.begin ();
u8g2.clearBuffer();
u8g2.setFont (u8g2_font_ncenB14_tr);
u8g2.setCursor(2,16);
u8g2.print("EKRAN W LOOP");
u8g2.sendBuffer ();
} // KONIEC LOOP
Czyli za każdym razem jak zmieniasz urządzenie to inicjalizacja urządzenia wykonać....
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.