meshtastic/docs/configuration/module/range-test.mdx
2024-05-01 21:11:31 -07:00

193 lines
7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: range-test
title: Range Test Module Configuration
sidebar_label: Range Test
description: Learn to configure the range test module to create reports, maps, and more.
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
This module allows you to test the range of your Meshtastic nodes. It requires two nodes:
- Sender: fixed node that sends sequential packets ("Sender message interval" between 30-60s);
- Receiver: mobile node (typically you) with onboard or phone GPS.
Nodes are in range as long as the sequential packets can be received.
The receiving node can be used to save the messages along with the GPS coordinates at which they were received into a .csv file. This .csv file can then be integrated into [Google Earth](https://earth.google.com), [Google Maps - My Maps](https://mymaps.google.com), or any other program capable of processing .csv files. This can enable you to visualize your mesh. Ensure you have [position precision](https://meshtastic.org/docs/configuration/radio/channels/#position-precision) in the default channel set to high, otherwise the collected data will not record your true location.
:::info
Be sure to turn off the module or disable sending when not in use. This will use a lot of time on air, slow down your mesh, and spam your channel. The module will automatically turn off after 8 hours.
:::
The range test module config options are: Enabled, Sender, and Save. Range Test Module config uses an admin message sending a `ModuleConfig.RangeTestConfig` protobuf.
## Range Test Module Config Values
### Enabled
Enables the range test module. **Both Sender and Receiver must have the module enabled. On both iOS and Android to receive any range test packets the module must be enabled, the device screen may continue to show range test packets from older firmware versions.**
### Sender Interval
How long to wait between sending sequential test packets. 0 is default which disables sending messages.
### Recommended Sender Settings
| Radio Setting | `range_test.sender` |
| :-----------: | :-----------------: |
| Long Slow | 60 |
| Long Fast | 30 |
| Medium | 15 |
| Short Fast | 15 |
### Save CSV File
:::info
**Leave disabled when using the Android or Apple apps.** Saves directly to the device's flash memory (without the need for a smartphone), and is only available on ESP32-based devices.
:::
If enabled, all received messages are saved to the device's flash memory in a file named `rangetest.csv`.
To access this file, first turn on the WiFi on your device and connect to your network. Once you can connect to your device, navigate to `meshtastic.local/rangetest.csv` (or your_device_ip/rangetest.csv) and the file will be downloaded automatically. This file will only be created after receiving initial messages.
To prevent filling up the storage, the device will abort writing if there is less than 50kb of space on the filesystem.
## Range Test Module Config Client Availability
<Tabs
groupId="settings"
defaultValue="android"
values={[
{label: 'Android', value: 'android'},
{label: 'Apple', value: 'apple'},
{label: 'CLI', value: 'cli'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="android">
#### Android
:::info
Range Test Config options are available for Android.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Range Test**
:::
Android exports a rangetest.csv file from packets in the Debug Log. To clear old packet history data: `Debug Panel > Clear`
</TabItem>
<TabItem value="apple">
#### Apple
:::info
All range test module config options are available on iOS, iPadOS and macOS at Settings > Module Configuration > Range Test.
:::
Apple apps also have the option to download logged position data which is stored on your iPhone/iPad/Mac. Access this by clicking on the Nodes tab, selecting a node, then select Position Log and click Save. This data file does not require the Range Test module to be active.
</TabItem>
<TabItem value="cli">
#### CLI
:::info
Range Test module config options are available in the python CLI. Example commands are below:
:::
| Setting | Acceptable Values | Default |
| :----------------: | :-----------------: | :-----: |
| range_test.enabled | `true`, `false` | `false` |
| range_test.save | `true`, `false` | `false` |
| range_test.sender | `integer` (Seconds) | `0` |
:::tip
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
```shell title="Example:"
meshtastic --set range_test.enabled true --set range_test.save false
```
:::
```shell title="Enable / Disable the range test"
meshtastic --set range_test.enabled true
meshtastic --set range_test.enabled false
```
```shell title="Enable / Disable range test save"
meshtastic --set range_test.save true
meshtastic --set range_test.save false
```
```shell title="Enable range test sender (send every 60 seconds)"
meshtastic --set range_test.sender 60
```
```shell title="Disable range test sender"
meshtastic --set range_test.sender 0
```
</TabItem>
<TabItem value="web">
#### Web
:::info
All range test module config options are available in the Web UI.
:::
</TabItem>
</Tabs>
## Application Examples
### Google Earth Integration
Steps:
1. [Download](https://www.google.com/earth/versions/#download-pro) and open Google Earth
1. Select File > Import
2. Select CSV
3. Select Delimited, Comma
4. Make sure the button that states “This dataset does not contain latitude/longitude information, but street addresses” is unchecked
5. Select “rx lat” & “rx long” for the appropriate lat/lng fields
6. Click finish
2. When it prompts you to create a style template, click yes.
1. Set the name field to whichever column you want to be displayed on the map (dont worry about this too much, when you click on an icon, all the relevant data appears)
2. Select a color, icon, etc. and hit OK.
Your data will load onto the map, make sure to click the checkbox next to your dataset in the sidebar to view it.
### My Maps
You can use [My Maps](http://mymaps.google.com). It takes CSVs and the whole interface is much easier to work with.
Google has instructions on how to do that [here](https://support.google.com/mymaps/answer/3024836?co=GENIE.Platform%3DDesktop&hl=en#zippy=%2Cstep-prepare-your-info%2Cstep-import-info-into-the-map).
You can style the ranges differently based on the values, so you can have the pins be darker the if the SNR or RSSI (if that gets added) is higher.
### Openstreetmap - uMap
For an open source solution you could use [uMap](https://umap.openstreetmap.de/en/). A service based on the popular openstreetmap project.
Visit [uMap](https://umap.openstreetmap.de/en/) in your preffered language.
1. Click on "Create a map"
2. Click on the "Import data"-Icon or press CRTL + I.
3. Choose your rangetest.csv and click "Import". The dataformat is recognized and the locations are imported onto the map.