#include #include #define LORA_SCK D8 #define LORA_MISO D9 #define LORA_MOSI D10 #define LORA_CS D1 #define LORA_RST D5 #define LORA_IRQ -1 void setup() { Serial.begin(115200); delay(1000); Serial.println("🔧 LoRa Receiver (XIAO ESP32-C3)"); SPI.begin(LORA_SCK, LORA_MISO, LORA_MOSI, LORA_CS); LoRa.setSPI(SPI); LoRa.setPins(LORA_CS, LORA_RST, LORA_IRQ); if (!LoRa.begin(433E6)) { Serial.println("❌ LoRa initialization failed. Check wiring."); while (1) ; } LoRa.setSpreadingFactor(12); LoRa.setSignalBandwidth(125E3); LoRa.setCodingRate4(5); LoRa.enableCrc(); Serial.println("✅ LoRa receiver ready."); } void loop() { int packetSize = LoRa.parsePacket(); if (packetSize) { if (LoRa.packetRssi() < -120) return; if (LoRa.packetSnr() < 0) return; Serial.print("📥 Received packet: "); while (LoRa.available()) { Serial.print((char)LoRa.read()); } Serial.print(" [RSSI: "); Serial.print(LoRa.packetRssi()); Serial.print(" dBm] [SNR: "); Serial.print(LoRa.packetSnr()); Serial.println("]"); } }