어제 Arduino에서 LoRa 모듈을 사용하기 시작했습니다. 예제 스케치를 사용하여 어떻게 작동하는지 이해했습니다. 이제 LED를 켜고 끄는 것과 같은 특정 작업을 수행하기 위해받은 값을 확인하고 싶습니다.RA-02 SX1278 데이터 출력에서 LoRa 이상한 동작
내 문제는 LoRa 라이브러리의 원시 예제 스케치에서는 수신 된 값이 정확하지만 변수에 저장하려고하면 잘못된 값으로 시작된다는 것입니다.
다음은 수신 된 값을 얻기 위해 작성한 코드입니다.
#include <SPI.h>
#include <LoRa.h>
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
// try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
Serial.print("Received packet '");
byte buffer[packetSize];
int index = 0;
// read packet
while (LoRa.available()) {
Serial.println((char)LoRa.read());
buffer[index] = LoRa.read();
index++;
}
char result = char(buffer);
Serial.println(result);
}
}
참고 :이 코드의 전부는 아닙니다. 나는 부분적으로 나를 돕기 위해 예제 스케치를 가져 갔다.
이의 콘솔 출력은 다음과 같습니다
Received packet '3' with RSSI -73
⸮
Received packet '4' with RSSI -85
⸮
Received packet '5' with RSSI -84
⸮
...
Received packet '8' with RSSI -83
⸮
Received packet '9' with RSSI -83
⸮
Received packet '1' with RSSI -82
⸮
보낸 사람이 처음부터 시작 후 특별하지만 16까지 카운트 아무것도하지 않습니다. 이것은 단지 기본적인 작업 일 뿐이지 만이 기술에 익숙하지 않으므로 어떻게 작동시킬 수 있는지 이해할 수 없습니다. 나는 '대신'값을 얻는다는 것을 의미합니까? 두 번째 문제는 10보다 큰 숫자가 1로 축소된다는 것입니다.
이 작업을 수행하는 데 도움이되거나 최소한 힌트를 줄 수 있기를 바랍니다.