Add LoRa sensor network support

- Design LoRa packet protocol with CRC16 validation
- Add protocol header files (lora_protocol.h, lora_packet.h)
- Create battery-powered remote node firmware template
  - Support for DHT22, BME680, DS18B20 sensors
  - Deep sleep for battery conservation
  - Automatic gateway registration
- Add LoRa receive to gateway firmware
  - RadioLib SX1262 integration
  - Node registry for tracking up to 16 nodes
  - HTTP forwarding of received readings
  - ACK responses to remote nodes
- Create comprehensive setup guide with wiring diagrams

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
leehughes
2026-01-24 17:50:53 -06:00
co-authored by Claude Opus 4.5
parent 265a53768e
commit 5554341b49
11 changed files with 3199 additions and 34 deletions
+9 -6
View File
@@ -56,24 +56,27 @@
#define DISPLAY_UPDATE_INTERVAL_MS 1000
// ============================================================================
// LORA CONFIGURATION (for future remote sensor nodes)
// LORA CONFIGURATION (for remote sensor nodes)
// ============================================================================
// LoRa frequency (915 MHz for US)
// LoRa frequency (915 MHz for US, 868 MHz for EU)
#define LORA_FREQUENCY 915.0
// LoRa bandwidth (125 kHz)
#define LORA_BANDWIDTH 125.0
// LoRa bandwidth in kHz (125, 250, or 500)
#define LORA_BANDWIDTH 125000 // 125 kHz
// LoRa spreading factor (7-12, higher = longer range but slower)
#define LORA_SPREADING_FACTOR 9
// LoRa coding rate (5-8)
// LoRa coding rate (5-8, higher = more error correction)
#define LORA_CODING_RATE 7
// LoRa sync word (private network)
// LoRa sync word (must match remote nodes: 0x12)
#define LORA_SYNC_WORD 0x12
// Maximum remote nodes to track
#define MAX_LORA_NODES 16
// ============================================================================
// API RETRY CONFIGURATION
// ============================================================================