LoRa-Helium-map

🌐 LoRa-Helium-Map

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 example

Interactive map with radio links and gradient graphs


Table of Contents


Features


Versions

Classic Python Version

Standalone scripts launched manually. Requires setting up Python env, installing dependencies, and running with main.py.

Docker Version

Fully containerized. Ideal for easy deployment, reproducibility, and automation.

See full Docker installation & configuration guide


Repository Structure

/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

Installation & Usage

Classic Version

  1. Clone the repo:

    git clone https://github.com/Kellemensch/LoRa-Helium-map
    cd LoRa-Helium-map
    
  2. Run setup script:

    bash setup.sh
    
  3. Launch main script:

    python3 main.py
    

    Or with logs:

    python3 main.py --logs
    

Docker Version

  1. Build and run the container:

    bash run.sh
    
  2. 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.


Output Examples

Interactive Map

Map example

Refractivity Gradient Graph

Gradient graph


Releases


License

MIT License.