Add LoRa/ISM band monitoring mode

- Add new LoRa backend route (routes/lora.py) with:
  - Frequency band definitions (EU868, US915, AU915, AS923, IN865, ISM433)
  - Start/stop/stream/status endpoints using rtl_433
  - Device pattern matching for LoRa/LPWAN devices
  - Signal quality calculation from RSSI

- Add LoRa frontend UI with:
  - Navigation button in SDR/RF group
  - Band selector with channel presets
  - Visualization layout (radar, device types, signal quality, activity log)
  - Device card list with selection details
  - Header stats for devices and signals

- Fix Bias-T toggle visibility for Listening Post and LoRa modes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Smittix
2026-01-08 16:56:21 +00:00
parent 6c99651ac9
commit f3b1865a79
5 changed files with 894 additions and 5 deletions

View File

@@ -2779,6 +2779,57 @@ header p {
background: rgba(0, 122, 255, 0.05);
}
/* LoRa Layout Container */
.lora-layout-container {
display: flex;
gap: 15px;
padding: 15px;
background: var(--bg-secondary);
margin: 0 15px 10px 15px;
border: 1px solid var(--border-color);
height: calc(100vh - 200px);
min-height: 400px;
}
.lora-layout-container .wifi-visuals {
flex: 1;
}
.lora-device-list {
border-left-color: var(--accent-green) !important;
}
.lora-device-list .wifi-device-list-header h5 {
color: var(--accent-green);
}
.lora-device-card {
border-left-color: var(--accent-green) !important;
}
.lora-device-card.selected {
border-color: var(--accent-green);
background: rgba(0, 255, 136, 0.1);
}
@media (max-width: 1200px) {
.lora-layout-container {
flex-direction: column;
height: auto;
max-height: calc(100vh - 200px);
}
.lora-layout-container .wifi-visuals {
max-height: 50vh;
}
.lora-device-list {
width: 100%;
min-width: auto;
max-height: 300px;
}
}
@media (max-width: 1200px) {
.bt-layout-container {
flex-direction: column;