meshtastic/docs/settings/moduleconfig/range-test.mdx
Garth Vander Houwen 429dbac089
1.2 End of Life (#400)
* Start of 1.2 EOL cleanup

* initial docs updates

* Move more 1.2 files

* Move remaining 1.2 files

* Fix links

* Fix links

* More links

* The rest of the broken links

* Missed a couple of links

* Really last link

* Links to the final 1.2 firmare and android app

* add last flasher

* fix gps_disabled

* update enthusiast page

* Delete 1.2 from apple apps

* Fix error in module index
2022-09-09 13:48:23 +10:00

193 lines
7.4 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
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
This module allows you to test the range of your Meshtastic nodes. It requires at least two nodes, a sender and a receiver. The receiving node then saves 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.
The range test module config options are: Enabled, Save, and Sender. Range Test Module config uses an admin message sending a `ConfigModule.RangeTest` protobuf.
## Range Test Module Config Values
### Enabled
Enables the range test module.
### Save CSV File
**ESP32 Only Setting**
If enabled, we will save a log of all received messages to a file named rangetest.csv which you can access from the web server Extensions > File Browser > rangetest.csv. The file will be created after receiving messages. The device will abort writing if there is less than 50k of space on the filesystem to prevent filling up the storage.
### Sender Interval
How long to wait between sending test packets. 0 is default which disables sending messages.
## Range Test Module Config Client Availability
<Tabs
groupId="settings"
defaultValue="apple"
values={[
{label: 'Android', value: 'android'},
{label: 'Apple', value: 'apple'},
{label: 'CLI', value: 'cli'},
{label: 'Flasher', value: 'flasher'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="android">
:::info
Range Test features are available for Android.
:::
</TabItem>
<TabItem value="apple">
:::info
All range test module config options are available on iOS, iPadOS and macOS at Settings > Modules > Range Test.
:::
</TabItem>
<TabItem value="cli">
No 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` |
```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="flasher">
:::info
No range test module config options are available in the Flasher.
:::
</TabItem>
<TabItem value="web">
:::info
No range test module config options are available in the Web UI.
:::
</TabItem>
</Tabs>
## Examples
While a minimum of two radios is required, more can be used. You can have any number of receivers and senders that your mesh is able to handle. You can test having a single sender with multiple receivers or a single receiver with multiple senders. Let us know on the [forum thread](https://meshtastic.discourse.group/t/new-plugin-rangetestplugin/2591) the results of your configuration.
Be sure to turn off either the module configured as a sender or the device where the module setup as sender when not in use. This will use a lot of time on air and will spam your channel.
Also be mindful of your space usage on the file system. It has protections from filling up the space but it's best to delete old range test results.
:::note
Leaving this module on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](/docs/developers/protobufs/api#portnumsproto) are sent on.
:::
### Accessing your CSV
Connect to your device over WiFi, either using the [software access point](/docs/settings/config/wifi#software-access-point) or [WiFi Client](/docs/settings/config/wifi#wifi-client). Then navigate to `meshtastic.local` (or your IP address). Your file will be available for download under `Extensions > File Browser > rangetest.csv` once it has been created by receiving messages.
```plaintext title="Example URLs"
http://meshtastic.local
http://198.168.0.15
```
### Recommended Sender Settings
| Radio Setting | `range_test.sender` |
| :-----------: | :-----------------: |
| Long Slow | 60 |
| Long Alt | 30 |
| Medium | 15 |
| Short Fast | 15 |
## 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.
## FAQ
Q: Where is rangetest.csv saved?
- Turn on the WiFi on your device as either a WiFi client or a WiFi AP. Once you can connect to your device, navigate to `Extensions > File Browser` and you will see `rangetest.csv` once messages have been saved and the file has been created.
Q: Do I need to have WiFi turned on for the file to be saved?
- Nope, it'll just work.
Q: Do I need a phone for this module?
- There's no need for a phone.
Q: Can I use this as a message logger?
- While it's not the intended purpose, sure, why not. Do it!
Q: What will happen if I run out of space on my device?
- We have a protection in place to keep you from completely filling up your device. This will make sure that other device critical functions will continue to work. We will reserve at least 50k of free space.
Q: What do I do with the rangetest.csv file when I'm done?
- Go to /static and delete the file.
Q: Can I use this as a sender while on battery power?
- Yes, but your battery will run down quicker than normal. While sending, we tell the device not to go into low-power mode since it needs to keep to a fairly strict timer.
Q: Why is this operating on incoming messages instead of the existing location discovery protocol?
- This module is still young and currently supports monitoring just one port at a time. I decided to use the existing message port because that is easy to test with. A future version will listen to multiple ports to be more promiscuous.