mirror of
https://github.com/eddieoz/LoRa-Mesh-Analyzer.git
synced 2026-03-28 17:42:59 +01:00
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Meshtastic Network Monitor
|
|
|
|
An autonomous Python application designed to monitor, test, and diagnose the health of a Meshtastic mesh network. It identifies "toxic" behaviors, congestion, and configuration issues that can degrade network performance.
|
|
|
|
## Documentation
|
|
|
|
Full documentation is available in the `docs/` directory:
|
|
|
|
- **[Usage Guide](docs/usage.md)**: How to run the monitor (USB/TCP) and command-line options.
|
|
- **[Configuration Guide](docs/configuration.md)**: Detailed explanation of `config.yaml` settings.
|
|
- **[Report Generation](docs/report_generation.md)**: How to use the `report_generate.py` tool.
|
|
- **[Architecture](docs/architecture.md)**: Overview of the codebase structure and components.
|
|
|
|
## Quick Start
|
|
|
|
1. **Install Dependencies**:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
2. **Configure**:
|
|
Copy `sample-config.yaml` to `config.yaml` and edit it:
|
|
```bash
|
|
cp sample-config.yaml config.yaml
|
|
nano config.yaml
|
|
```
|
|
|
|
3. **Run**:
|
|
```bash
|
|
python3 main.py
|
|
```
|
|
|
|
## Features at a Glance
|
|
|
|
- **Passive Health Checks**: Detects congestion (>25% ChUtil), spam (>10% AirUtil), and bad topology.
|
|
- **Auto-Discovery**: Automatically finds and tests important nodes (Routers, Repeaters).
|
|
- **Active Testing**: Performs traceroutes to map the network and find dead zones.
|
|
- **Route Analysis**: Identifies critical relays and bottlenecks.
|
|
- **Reporting**: Generates detailed Markdown and HTML reports with network insights.
|
|
- **Data Persistence**: Saves all data to JSON for future analysis.
|
|
|
|
## Project Structure
|
|
|
|
- `mesh_analyzer/`: Core application logic.
|
|
- `scripts/`: Utilities like `report_generate.py`.
|
|
- `reports/`: Output directory for reports and data.
|
|
- `docs/`: Detailed documentation.
|
|
|