sudo apt install build-essential cmake libssl-dev liblua5.4-dev python3 python3-venv
git clone --recursive https://github.com/stachuman/meshcore_simv2.git
cd meshcore_simv2
cmake -S . -B build && cmake --build build
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
Run a simulation with visualization:
source venv/bin/activate
./tools/run_sim.sh test/t06_msg_stats.json
This opens two browser tabs — a swim-lane event timeline and a geographic map view. Note this visualization is a simplified version of webapp, therefore it is recommended to use webapp for visual working and scripts - for processing large amount of simulations.
Start the web app (optional):
cd webapp
pip install -r requirements.txt
uvicorn server.main:app --port 8000
Open http://localhost:8000 — create topologies from live MeshCore network data, edit configs visually, run simulations, and view results in the browser.
Requires a Linux x86_64 machine with Docker.
Build the image (on your dev machine):
git clone --recursive https://github.com/stachuman/meshcore_simv2.git
cd meshcore_simv2
(--recursive - that will enable pulling also MeshCore firmware - which is required to build simulator)
sudo apt install build-essential cmake libssl-dev liblua5.4-dev
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release
cmake --build build-release --target orchestrator -j$(nproc)
cd webapp && docker compose build
Run locally:
docker compose up -d
Deploy to another machine (VPS, etc.):
docker save meshcore-sim:latest | gzip > meshcore-sim.tar.gz
scp meshcore-sim.tar.gz user@target-ip:/path/
docker load < meshcore-sim.tar.gz
docker run -d --name meshcore-sim \
-p 8000:8000 \
-v meshcore-data:/app/data \
--restart unless-stopped \
meshcore-sim:latest
Where meshcore-data needs to point for the local storage
Open http://target-ip:8000. Simulation data persists in the meshcore-data volume.
A high-fidelity, single-process network simulator for MeshCore mesh radio networks. Built to model real-world LoRa deployments with physically accurate radio propagation — without needing real hardware.
This simulator:
Key Features