Files
LoRa-Mesh-Analyzer/README.md

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.