A Python toolkit to retrieve real-time data from a LoRaWAN end-node connected to the Helium Network, process radiosonde observations (IGRA v2 or ERA5), compute atmospheric refractivity gradients, and visualize potential tropospheric ducts.
Interactive map with radio links and gradient graphs
Standalone scripts launched manually. Requires setting up Python env, installing dependencies, and running with
main.py
.
main.py
, setup.sh
, generate_maps.py
, calculate_igra.py
, etc.map.html
, PNG graphs, CSV logsFully containerized. Ideal for easy deployment, reproducibility, and automation.
run.sh
)See full Docker installation & configuration guide
/data/ # Helium data and terrain models for SPLAT!
├── terrain/ # QTH terrain files
├── helium_data_msg.txt
└── helium_gateway_data.csv
/igra-datas/ # Radiosonde (IGRA) datasets and analysis
├── derived/ # Generated gradient graphs
├── igra2-station-list.txt
└── map_links.json
/maps/ # SPLAT! terrain and map files (.sdf/.hgt)
/splat-runs/ # SPLAT! outputs (LOS, profiles)
├── img/
└── EndNode-to-*.txt
/examples/ # Example outputs (map + gradient graph)
/venv/ # Python virtual environment (classic version)
/docker/ # Dockerfile and helper scripts (new version)
└── run.sh
main.py # Webhook + full processing loop
generate_maps.py # Generate interactive maps
calculate_igra.py # Compute gradients from IGRA files
run_splat.py # Automate SPLAT! execution
convert_hgt_to_sdf.sh# Terrain conversion tool
setup.sh # Auto-dependency installer (classic)
/README.md
Clone the repo:
git clone https://github.com/Kellemensch/LoRa-Helium-map
cd LoRa-Helium-map
Run setup script:
bash setup.sh
Launch main script:
python3 main.py
Or with logs:
python3 main.py --logs
Build and run the container:
bash run.sh
The container runs in background and streams logs. You can see them with :
docker logs -f lora-map
All outputs (map, graphs) will appear in the mounted volumes, same as the classic version.
MIT License.