// lora receiverCallBack modified by HwThinker for TTGO Lora T-Deer-915MHz #include #include #define SCK 13 // GPIO5 -- lora SCK #define MISO 12 // GPIO19 -- lora MISO #define MOSI 11 // GPIO27 -- lora MOSI #define SS 10 // GPIO18 -- lora CS #define RST 9 // GPIO14 -- RESET (If Lora does not work, replace it with GPIO14) #define DI0 2 // GPIO26 -- IRQ(Interrupt Request) #define BAND 915E6 #define LED_EXTERNAL 3 int state = 0; void setup() { pinMode(LED_EXTERNAL, 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_EXTERNAL, digitalRead(LED_EXTERNAL) ? 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_EXTERNAL, (state) ? HIGH : LOW); state = !state; //or digitalWrite(LED_EXTERNAL, !digitalRead(LED_EXTERNAL)); }