meshtastic/docs/software/meshtasticator/index.mdx
rcarteraz 7badcedbbc
Some checks failed
CI / quality (push) Has been cancelled
CI / build (push) Has been cancelled
Move Meshtasticator to Official Software and Add Documentation Pages (#1506)
* Move meshtasticator to official software, add docs pages.

* formatting changes and add link back

* feedback

* feedback

* redirect
2024-10-16 14:27:12 -07:00

59 lines
2.8 KiB
Plaintext

---
id: meshtasticator
title: Meshtasticator
sidebar_label: Meshtasticator (Simulator)
sidebar_position: 5
description: Overview of Meshtasticator simulator for evaluating performance and scalability of the Meshtastic protocol using discrete-event and interactive simulations.
---
import ReactPlayer from "react-player";
**Meshtasticator** is a discrete-event and interactive simulator that replicates the radio section of the device software. It helps evaluate the performance of various scenarios and the scalability of the protocol. The **Meshtasticator** simulator can be found on [Github](https://github.com/meshtastic/meshtasticator).
## Discrete-Event Simulator
The discrete-event simulator models the radio section of the device software to analyze its behavior. It can assess the performance of specific scenarios and the scalability of the protocol.
### Getting Started
For step-by-step instructions on how to use the discrete-event simulator, see the [discrete-event simulator usage guide](./discrete-event-sim).
### Simulation Insights
After each simulation, the tool plots node placements and schedules the timing for overlapping messages sent during the simulation.
![Placement Schedule](/img/software/meshtasticator/placement_schedule.webp)
The simulator allows network analysis using different parameter sets. For example, below are the results of 100 simulations, each lasting 200 seconds, with varying hop limits and node counts. As expected, the average number of nodes reached per message increases with a higher hop limit.
![Reachability Hops](/img/software/meshtasticator/reachability_hops.webp)
However, this improvement comes with a trade-off in **usefulness**—the proportion of received packets containing new (non-duplicate) messages decreases as rebroadcasting increases.
![Usefulness Hops](/img/software/meshtasticator/usefulness_hops.webp)
## Interactive Simulator
The interactive simulator leverages the [Linux-native Meshtastic application](https://meshtastic.org/docs/software/linux-native), i.e., the real device software, while emulating some hardware components, including the LoRa chip. It can also run on Windows or macOS using Docker.
### Setup Instructions
To get started with the interactive simulator, see the [interactive simulator usage guide](./interactive-sim).
### Debugging and Visualization
This simulator facilitates debugging multiple communicating nodes without needing physical devices.
<div style={{ maxWidth: "800px", margin: "auto" }}>
<ReactPlayer
url="/img/software/meshtasticator/interactive-sim-video.mp4"
controls
width="100%"
height="400px"
/>
</div>
Additionally, because the simulator has an 'oracle view' of the network, it provides insights into the routes taken by messages.
![Route Plot](/img/software/meshtasticator/route_plot.webp)