// lora receiverCallBack modified by HwThinker for for TTGO ESP32 Lora 915MHz
#include <SPI.h>
#include <LoRa.h>
#define SCK 5 // GPIO5 -- lora SCK
#define MISO 19 // GPIO19 -- lora MISO
#define MOSI 27 // GPIO27 -- lora MOSI
#define SS 18 // GPIO18 -- lora CS
#define RST 14 // GPIO14 -- RESET (If Lora does not work, replace it with GPIO14)
#define DI0 26 // GPIO26 -- IRQ(Interrupt Request)
#define BAND 915E6
#define LED_BUILTIN 2
int state = 0;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
while (!Serial);
SPI.begin(SCK, MISO, MOSI, SS);
LoRa.setPins(SS,RST,DI0);
Serial.println("LoRa Receiver Callback");
if (!LoRa.begin(BAND)) {
Serial.println("Starting LoRa failed!");
while (1);
}
Serial.println("LoRa Initial OK! Blinky 1.5 second");
for (int i=0;i<15;i++) {
digitalWrite(LED_BUILTIN, digitalRead(LED_BUILTIN) ? LOW : HIGH);
delay(100);
}
// register the receive callback
LoRa.onReceive(onReceive);
// put the radio into receive mode
LoRa.receive();
}
void loop() {
// do nothing
}
void onReceive(int packetSize) {
// received a packet
Serial.print("Received packet '");
// read packet
for (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// print RSSI of packet
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
digitalWrite(LED_BUILTIN, (state) ? HIGH : LOW);
state = !state;
//or digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
Comments