Add ISMS Listening Station with GSM cell detection

- Add spectrum monitoring via rtl_power with configurable presets
- Add OpenCelliD tower integration with Leaflet map display
- Add grgsm_scanner integration for passive GSM cell detection (alpha)
- Add rules engine for anomaly detection and findings
- Add baseline recording and comparison system
- Add setup.sh support for gr-gsm installation on Debian/Ubuntu

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Smittix
2026-01-16 11:12:09 +00:00
parent 4c1690dd28
commit 35d138175e
15 changed files with 5578 additions and 4 deletions

79
utils/isms/__init__.py Normal file
View File

@@ -0,0 +1,79 @@
"""
ISMS (Intelligent Spectrum Monitoring Station) utilities.
Provides spectrum analysis, tower integration, anomaly detection,
and baseline management for RF situational awareness.
"""
from .spectrum import (
SpectrumBin,
BandMetrics,
run_rtl_power_scan,
compute_band_metrics,
detect_bursts,
get_rtl_power_path,
)
from .towers import (
CellTower,
query_nearby_towers,
build_cellmapper_url,
build_ofcom_coverage_url,
build_ofcom_emf_url,
get_opencellid_token,
)
from .rules import (
Rule,
Finding,
RulesEngine,
ISMS_RULES,
)
from .baseline import (
BaselineRecorder,
compare_spectrum_baseline,
compare_tower_baseline,
)
from .gsm import (
GsmCell,
GsmScanResult,
run_grgsm_scan,
run_gsm_scan_blocking,
get_grgsm_scanner_path,
format_gsm_cell,
deduplicate_cells,
identify_gsm_anomalies,
)
__all__ = [
# Spectrum
'SpectrumBin',
'BandMetrics',
'run_rtl_power_scan',
'compute_band_metrics',
'detect_bursts',
'get_rtl_power_path',
# Towers
'CellTower',
'query_nearby_towers',
'build_cellmapper_url',
'build_ofcom_coverage_url',
'build_ofcom_emf_url',
'get_opencellid_token',
# Rules
'Rule',
'Finding',
'RulesEngine',
'ISMS_RULES',
# Baseline
'BaselineRecorder',
'compare_spectrum_baseline',
'compare_tower_baseline',
# GSM
'GsmCell',
'GsmScanResult',
'run_grgsm_scan',
'run_gsm_scan_blocking',
'get_grgsm_scanner_path',
'format_gsm_cell',
'deduplicate_cells',
'identify_gsm_anomalies',
]