mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-11-09 23:24:10 -08:00
Remove 1.2 Docs
This commit is contained in:
parent
75ed09afad
commit
9c61d58765
|
@ -1,307 +0,0 @@
|
|||
---
|
||||
id: channel-advanced
|
||||
title: 1.2 Channel Settings - Advanced
|
||||
sidebar_label: 1.2 Channel - Advanced
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
These settings are for advanced users only. If you don't know what you are doing you could damage your radio or break local radio laws. Proceed with caution.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
Most users should not need to change these settings. The default [modem_config](channel#modem_config) settings should work just fine.
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :--------------: | :------------------------------------------------------------------------------------------------: | :---------------------------: |
|
||||
| bandwidth | `10.4`, `15.6`, `20.8`, `31.25`, `41.7`, `62.5`, `125`, `250`, `500` | `125` |
|
||||
| channel_num | Depends on Region | Region Channel Number Default |
|
||||
| coding_rate | `5`, `6`, `7`, `8` | `5` |
|
||||
| frequency_offset | real numbers | `0` |
|
||||
| spread_factor | `7`, `8`, `9`, `10`, `11`, `12` | `7` |
|
||||
| tx_power | `0`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, (dBm) | `0` |
|
||||
|
||||
### bandwidth
|
||||
|
||||
Total amount of spectrum used for the transmission.
|
||||
|
||||
#### Set Bandwidth
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell
|
||||
meshtastic --ch-set bandwidth 125 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### channel_num
|
||||
|
||||
An abstraction that maps to a specific center frequency used for transmission.
|
||||
|
||||
#### Set Channel Number
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### coding_rate
|
||||
|
||||
The amount of forward error correction applied to allow for us to automatically repair errors in the data transmission.
|
||||
|
||||
#### Set Coding Rate
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell
|
||||
meshtastic --ch-set coding_rate 8 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### frequency_offset
|
||||
|
||||
This parameter is for advanced users with advanced test equipment, we do not recommend most users use it. A frequency offset that is added to to the calculated band center frequency. Used to correct for crystal calibration errors.
|
||||
|
||||
#### Configure frequency_offset
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### spread_factor
|
||||
|
||||
LoRa is a spread spectrum technology. spread_factor is how much the signal is spread over the spectrum. SF8 = 2^8 or spread 256 times. SF12 = 2^12 or spread 4096 times.
|
||||
|
||||
#### Set Spread Factor
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell
|
||||
meshtastic --ch-set spread_factor 12 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### tx_power
|
||||
|
||||
Configured transmit power out of the LoRa radio, measured in dBM. Setting this to `0` will use the device default which is the max legal continuous power for your region.
|
||||
|
||||
:::caution
|
||||
Ensure that you are not exceeding your country's regulations.
|
||||
|
||||
`Country regulation - antenna gain = tx_power max setting`
|
||||
:::
|
||||
|
||||
#### Set TX Power
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set Default"
|
||||
meshtastic --ch-set tx_power 0 --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Set to 2dBM"
|
||||
meshtastic --ch-set tx_power 2 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,322 +0,0 @@
|
|||
---
|
||||
id: channel
|
||||
title: 1.2 Channel Settings
|
||||
sidebar_label: 1.2 Channel
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Overview
|
||||
|
||||
Channel settings are an integral part of the way your devices communicate across the mesh. If you have mismatched channel settings, your radios will be unable to communicate with one another.
|
||||
|
||||
## Settings
|
||||
|
||||
<!--- TODO add other channel settings --->
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------: | :---------------------------------------------------------------------------: | :---------------: |
|
||||
| id | `integer` | `0` |
|
||||
| modem_config | `Bw125Cr45Sf128`, `Bw500Cr45Sf128`, `Bw31_25Cr48Sf512`, `Bw125Cr48Sf4096` | `Bw125Cr48Sf4096` |
|
||||
| name | `string` | `""` |
|
||||
| psk | `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `none`, `default`, `random` | `1` |
|
||||
| region | `Unset`, `US`, `EU433`, `EU865`, `CN`, `JP`, `ANZ`, `KR`, `TW`, `RU` | `Unset` |
|
||||
|
||||
### id
|
||||
|
||||
<!--- Used to construct a globally unique channel ID. The full globally unique ID will be: "name.id" where ID is shown as base36. Assuming that the number of meshtastic users is below 20K (true for a long time) the chance of this 64 bit random number colliding with anyone else is super low. And the penalty for collision is low as well, it just means that anyone trying to decrypt channel messages might need to try multiple candidate channels. Any time a non wire compatible change is made to a channel, this field should be regenerated. There are a small number of 'special' globally known (and fairly) insecure standard channels. Those channels do not have a numeric id included in the settings, but instead it is pulled from a table of well known IDs. (see Well Known Channels FIXME) --->
|
||||
|
||||
#### Set Channel ID
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set the PRIMARY channel ID"
|
||||
meshtastic --ch-set id 1234 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
The channel `id` must be an integer.
|
||||
:::
|
||||
|
||||
### modem_config
|
||||
|
||||
| Setting | Name (Range/Speed) | Bandwidth | Coding Rate | Spread Factor | Speed |
|
||||
| :----------------: | :----------------: | :-------: | :---------: | :-------------------: | :--------: |
|
||||
| `Bw500Cr45Sf128` | Short/Fast | 500 kHz | 4/5 | 7 = 128chips/symbol | 18.89 kbps |
|
||||
| `Bw125Cr45Sf128` | Short/Slow | 125 kHz | 4/5 | 7 = 128chips/symbol | 4.69 kbps |
|
||||
| `Bw250Cr47Sf1024` | Medium/Fast | 250 kHz | 4/7 | 10 = 1024chips/symbol | 1.2 kbps |
|
||||
| `Bw250Cr46Sf2048` | Medium/Slow | 250 kHz | 4/6 | 11 = 2048chips/symbol | 0.75 kbps |
|
||||
| `Bw31_25Cr48Sf512` | Long/Fast | 31.25 kHz | 4/8 | 9 = 512chips/symbol | 0.19 kbps |
|
||||
| `Bw125Cr48Sf4096` | Long/Slow | 125 kHz | 4/8 | 12 = 4096chips/symbol | 0.13 kbps |
|
||||
|
||||
#### Set Modem
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set Modem - LongSlow"
|
||||
meshtastic --ch-set modem_config Bw125Cr48Sf4096 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::tip
|
||||
For advanced modem configuration, see [Channel Settings - Advanced](channel-advanced).
|
||||
:::
|
||||
|
||||
### name
|
||||
|
||||
The name of the channel. If this is left an empty string it is assumed that this channel is the special (minimally secure) "Default" channel. Channel Names should be short (less than 12 bytes).
|
||||
|
||||
#### Set Channel Name
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set channel name for the PRIMARY channel"
|
||||
meshtastic --ch-set name MyChannel --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Set channel name for the PRIMARY channel with spaces"
|
||||
meshtastic --ch-set name "My Channel" --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
A channel `id` must be set in order to name a channel.
|
||||
:::
|
||||
|
||||
### psk
|
||||
|
||||
:::note
|
||||
Selecting a `default` or any of the `simple` values from the following table will use publicly known encryption keys. They're shipped with Meshtastic source code and thus, anyone can listen to messages encrypted by them. They're great for testing and public channels.
|
||||
:::
|
||||
|
||||
| Setting | Behavior |
|
||||
| :--------------------: | :-----------------------------------------------------------------------------------: |
|
||||
| `none` | Disable Encryption |
|
||||
| `default` | Default Encryption (use the weak encryption key) |
|
||||
| `random` | Generate a secure 256-bit encryption key. Use this setting for private communication. |
|
||||
| `simple0`- `simple254` | Uses a single byte encoding for encryption |
|
||||
|
||||
:::tip
|
||||
If you use Meshtastic for exchanging messages you don't want other people to see, `random` is the setting you should use.
|
||||
:::
|
||||
|
||||
#### Set/Disable Encryption
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set encryption to default on PRIMARY channel"
|
||||
meshtastic --ch-set psk default --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Set encryption to random on PRIMARY channel"
|
||||
meshtastic --ch-set psk random --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Set encryption to single byte on PRIMARY channel"
|
||||
meshtastic --ch-set psk simple15 --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Set encryption to your own key on PRIMARY channel"
|
||||
meshtastic --ch-set psk 0x1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Disable encryption on PRIMARY channel"
|
||||
meshtastic --ch-set psk none --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### region
|
||||
|
||||
The `region` variable sets which region your radio is configured to work in. It is important to ensure that you've set it to the correct region. If left `Unset`, it will default to `US` settings.
|
||||
|
||||
| Name | Center Frequency | Spacing | Number of Channels | Power Limit |
|
||||
| :---: | :--------------: | :-----: | :----------------: | :---------: |
|
||||
| US | 903.08 | 2.16 | 13 | 0 |
|
||||
| EU433 | 433.175 | 0.2 | 8 | 0 |
|
||||
| EU868 | 865.2 | 0.3 | 10 | 0 |
|
||||
| CN | 470.0 | 2.0 | 20 | 0 |
|
||||
| JP | 920.0 | 0.5 | 10 | 13 |
|
||||
| ANZ | 916.0 | 0.5 | 20 | 0 |
|
||||
| KR | 921.9 | 0.2 | 8 | 0 |
|
||||
| TW | 923.0 | 0.2 | 10 | 0 |
|
||||
| RU | 868.9 | 0.2 | 2 | 20 |
|
||||
| Unset | 903.08 | 2.16 | 13 | 0 |
|
||||
|
||||
:::note
|
||||
For more details about `region` settings, you can see the source code [here](https://github.com/meshtastic/firmware/blob/master/src/mesh/RadioInterface.cpp)
|
||||
:::
|
||||
|
||||
#### Set Region
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Unset Region"
|
||||
meshtastic --set region Unset
|
||||
```
|
||||
|
||||
```shell title="Set Region"
|
||||
meshtastic --set region US
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,565 +0,0 @@
|
|||
---
|
||||
id: gps
|
||||
title: 1.2 GPS Settings
|
||||
sidebar_label: 1.2 GPS
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::caution
|
||||
Altering/disabling the GPS functionality does not mean that you will be unable to be found. Via triangulation of your radio, location may be given up to someone if they are determined enough.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
GPS is provided by either the device or your paired phone. More than likely, you will want to keep GPS functionality operational. It is not required, but does assist in some of the time calculations at a bare minimum.
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: |
|
||||
| fixed_position | `true`, `false` | `false` |
|
||||
| gps_accept_2d | `true`, `false` | `false` |
|
||||
| gps_attempt_time | `integer` (seconds) | `0` (see note) |
|
||||
| gps_format | `GpsFormatDec`, `GpsFormatDMS`, `GpsFormatUTM`, `GpsFormatMGRS`, `GpsFormatOLC`, `GpsFormatOSGR` | `GpsFormatDec` |
|
||||
| gps_max_dop | `integer` | `0` |
|
||||
| gps_operation | `GpsOpUnset`, ~~`GpsOpStationary`~~, `GpsOpMobile`, `GpsOpTimeOnly`, `GpsOpDisabled` | `GpsOpUnset` |
|
||||
| gps_update_interval | `integer` (seconds) | `0` (see note) |
|
||||
| location_share | `LocUnset`, `LocEnabled`, `LocDisabled` | `LocUnset` |
|
||||
| position_broadcast_secs | `integer` (seconds) | `0` (see note) |
|
||||
| position_broadcast_smart | `true`, `false` | `false` |
|
||||
| position_flags | `POS_UNDEFINED`, `POS_ALTITUDE`, `POS_ALT_MSL`, `POS_GEO_SEP`, `POS_DOP`, `POS_HVDOP`, `PDOP`, `POS_BATTERY`, `POS_SATINVIEW`, `POS_SEQ_NOS`, `POS_TIMESTAMP` | `POS_UNDEFINED` |
|
||||
|
||||
:::note
|
||||
On `gps_attempt_time`, `gps_update_interval`, & `position_broadcast_secs` when you set these to `0` you are not disabling these features.
|
||||
|
||||
On `gps_attempt_time` and `gps_update_interval`, the value `0` will be interpreted by the device as the default of **30 seconds**. On `position_broadcast_secs` the value `0` will be interpreted as the default of **15 minutes**.
|
||||
|
||||
If you wish to disable any GPS features, see below for more information.
|
||||
:::
|
||||
|
||||
### fixed_position
|
||||
|
||||
If set, this node is at a fixed position. The device will generate GPS updates at the regular `gps_update_interval`, but use whatever the last lat/lon/alt it saved for the node. The lat/lon/alt can be set by an internal GPS or with the help of the mobile device's GPS.
|
||||
|
||||
#### Set/Unset Fixed Position
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set Fixed Position - Current Location"
|
||||
meshtastic --set fixed_position true
|
||||
```
|
||||
|
||||
:::note
|
||||
The device will continue to acquire GPS coordinates according to the `gps_update_interval`, but will use the last saved coordinates as its fixed point.
|
||||
:::
|
||||
|
||||
```shell title="Set Fixed Position - User Defined"
|
||||
meshtastic --setlat 37.8651 --setlon -119.5383
|
||||
```
|
||||
|
||||
```shell title="Unset Fixed Position"
|
||||
meshtastic --set fixed_position false
|
||||
```
|
||||
|
||||
:::note
|
||||
It may take some time to see that the change has taken effect. The GPS location is updated according to the value specified on `gps_update_interval` and the mesh will be notified of the new position in relation to the `position_broadcast_secs` value.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### gps_attempt_time
|
||||
|
||||
Determines the amount of time that a GPS fix should be allowed to take. The default is every 30 seconds. If you increase this value, it will allow the device that amount of time in seconds to acquire coordinates. If the device is unable to get a fix, it will turn off until the next interval. GPS coordinates are updated every [`gps_update_interval`](#gps_update_interval) seconds.
|
||||
|
||||
#### Change GPS attempt time frequency
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set GPS attempt time to default (30 seconds)"
|
||||
meshtastic --set gps_attempt_time 0
|
||||
```
|
||||
|
||||
```shell title="Set GPS attempt time to 45 seconds"
|
||||
meshtastic --set gps_attempt_time 45
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### gps_format
|
||||
|
||||
Determines how the GPS coordinates are displayed on the OLED screen.
|
||||
|
||||
| Value | Description |
|
||||
| :-----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| GpsFormatDec | GPS coordinates are displayed in the normal decimal degrees format: DD.DDDDDD DDD.DDDDDD |
|
||||
| GpsFormatDMS | GPS coordinates are displayed in the degrees minutes seconds format: DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant |
|
||||
| GpsFormatUTM | GPS coordinates are displayed in Universal Transverse Mercator format: ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing |
|
||||
| GpsFormatMGRS | GPS coordinates are displayed in Military Grid Reference System format: ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, E is easting, N is northing |
|
||||
| GpsFormatOLC | GPS coordinates are displayed in Open Location Code (aka Plus Codes) |
|
||||
| GpsFormatOSGR | GPS coordinates are displayed in Ordnance Survey Grid Reference (the National Grid System of the UK). Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, E is the easting, N is the northing |
|
||||
|
||||
#### Specify GPS Screen Display
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Specify GPS format on device screen"
|
||||
meshtastic --set gps_format GpsFormatUTM
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
### gps_operation
|
||||
|
||||
How the GPS hardware in the device is operated.
|
||||
|
||||
:::note
|
||||
This is independent of how our location is shared with other devices. For that see [`location_share`](#location_share).
|
||||
:::
|
||||
|
||||
| Value | Description |
|
||||
| :-----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| GpsOpUnset | **Default**: operates the same as `GpsOpMobile`. |
|
||||
| ~~GpsOpStationary~~ | Note: This mode was removed, because it is identical go `GpsOpMobile` with a `gps_update_interval` of once per day This node is mostly stationary, we should try to get location only once per day, Once we have that position we should turn the GPS to sleep mode This is the recommended configuration for stationary 'router' nodes |
|
||||
| GpsOpMobile | This node is mobile and we should get GPS position at a rate governed by `gps_update_interval` |
|
||||
| GpsOpTimeOnly | We should only use the GPS to get time (no location data should be acquired/stored) Once we have the time we treat `gps_update_interval` as MAXINT (i.e. sleep forever) |
|
||||
| GpsOpDisabled | GPS is always turned off - this mode is not recommended - use `GpsOpTimeOnly` instead. |
|
||||
|
||||
#### Enable/Disable GPS
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set GPS to default settings"
|
||||
meshtastic --set gps_operation GpsOpUnset
|
||||
```
|
||||
|
||||
```shell title="Set GPS to only be used for time"
|
||||
meshtastic --set gps_operation GpsOpTimeOnly
|
||||
```
|
||||
|
||||
```shell title="Disable GPS Completely"
|
||||
meshtastic --set gps_operation GpsOpDisabled
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
`gps_operation GpsOpTimeOnly` is preferred to `gps_operation GpsOPDisabled` because it allows the device to get a hi-res time.
|
||||
:::
|
||||
|
||||
### gps_update_interval
|
||||
|
||||
Determines how often should the device should attempt to acquire a GPS position (in seconds). The length of time the device is allowed to attempt to acquire GPS coordinates each interval is set using [`gps_attempt_time`](#gps_attempt_time). The default is every 30 seconds.
|
||||
|
||||
#### Specify GPS update interval
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set GPS update interval to default settings (every 30 seconds)"
|
||||
meshtastic --set gps_update_interval 0
|
||||
```
|
||||
|
||||
```shell title="Set GPS update interval to every 45 seconds"
|
||||
meshtastic --set gps_update_interval 45
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### location_share
|
||||
|
||||
Determines whether location is shared with other nodes. See more details.
|
||||
|
||||
| Value | Description |
|
||||
| :---------: | :--------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| LocUnset | **Default**: operates the same as `LocEnabled` |
|
||||
| LocEnabled | The device is sharing its location (or the paired phone's location) |
|
||||
| LocDisabled | The device is not sharing its location (if the unit has a GPS it will default to only get time - i.e. [`GpsOpTimeOnly`](#gps_operation)) |
|
||||
|
||||
#### Disable Location Sharing
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Disable Location Sharing"
|
||||
meshtastic --set location_share LocDisabled
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
Disabling location sharing does not disable the GPS functionality, only the location sharing via the mesh.
|
||||
:::
|
||||
|
||||
### position_broadcast_secs
|
||||
|
||||
How often our position is sent to the mesh (but only if it has changed significantly).
|
||||
|
||||
The GPS updates will be sent out every `position_broadcast_secs`, with either the actual GPS location, or an empty location if no GPS fix was achieved. This defaults to broadcast every 15 minutes.
|
||||
|
||||
#### Specify GPS position broadcast frequency
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set GPS update interval to default settings (every 15 minutes)"
|
||||
meshtastic --set position_broadcast_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set GPS update interval to every 60 seconds"
|
||||
meshtastic --set position_broadcast_secs 60
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### position_broadcast_smart
|
||||
|
||||
`position_broadcast_smart` will send out your position at an increased frequency only if your location has changed enough for a position update to be useful.
|
||||
|
||||
Complements `position_broadcast_secs` (doesn't override that setting) but will apply an algorithm to more frequently update your mesh network if you are in motion and then throttle it down when you are standing still. If you use this feature, it's best to leave `position_broadcast_secs` at the default.
|
||||
|
||||
`position_broadcast_smart` will calculate an ideal position update interval based on the data rate of your selected channel configuration.
|
||||
|
||||
As an example, if you configure your radio to use **Long Range / Fast**, if you have traveled at least 144 meters and it's been at least 61 seconds since the last position update, a new position broadcast will be sent out. If you've moved less than 144 meters, we will broadcast the position based on the value of `position_broadcast_secs`.
|
||||
|
||||
The table below is a summary computed values from the algorithm.
|
||||
|
||||
| Long Name | Update every x-seconds | Update distance traveled (meters) |
|
||||
| :-----------------: | :--------------------: | :-------------------------------: |
|
||||
| Long Range / Slow | 88 | 150 |
|
||||
| Long Range / Fast | 61 | 144 |
|
||||
| Medium Range / Slow | 30 | 41 |
|
||||
| Medium Range / Fast | 30 | 30 |
|
||||
| Short Range / Slow | 30 | 30 |
|
||||
| Short Range / Fast | 30 | 30 |
|
||||
|
||||
:::tip
|
||||
A person walking in a straight line will take about 90 seconds to travel 150 meters. That walking speed estimate was used as the baseline for the formula used.
|
||||
:::
|
||||
|
||||
#### Enable/Disable Smart Position Broadcast
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart true
|
||||
```
|
||||
|
||||
```shell title="Disable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### position_flags
|
||||
|
||||
Bit field of boolean configuration options for POSITION messages (bitwise OR of PositionFlags)
|
||||
|
||||
| Value | Description |
|
||||
| :-----------: | :---------------------------------------------------------: | ---- |
|
||||
| POS_UNDEFINED | Required for compilation |
|
||||
| POS_ALTITUDE | Include an altitude value (if available) |
|
||||
| POS_ALT_MSL | Altitude value is MSL |
|
||||
| POS_GEO_SEP | Include geoidal separation |
|
||||
| POS_DOP | Include the DOP value ; PDOP used by default, see below |
|
||||
| POS_HVDOP | If POS_DOP set, send separate HDOP / VDOP values instead of | PDOP |
|
||||
| POS_BATTERY | Include battery level |
|
||||
| POS_SATINVIEW | Include number of "satellites in view" |
|
||||
| POS_SEQ_NOS | Include a sequence number incremented per packet |
|
||||
| POS_TIMESTAMP | Include positional timestamp (from GPS solution) |
|
||||
|
||||
#### Set/Unset Position Flags
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::tip
|
||||
Include each flag desired from the table above separated by a single space.
|
||||
:::
|
||||
|
||||
```shell title="Set Position Flags"
|
||||
meshtastic --pos-fields POS_ALTITUDE POS_ALT_MSL
|
||||
```
|
||||
|
||||
```shell title="Unset Position Flags"
|
||||
meshtastic --pos-fields POS_UNDEFINED
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,124 +0,0 @@
|
|||
---
|
||||
id: ham
|
||||
title: 1.2 Licensed (HAM) Operation
|
||||
sidebar_label: 1.2 Licensed (HAM) Operation
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
By changing these settings, you are self certifying that you are licensed to operate in the mode you have chosen. Failure to comply with your local regulations may result in fines.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
:::note
|
||||
This written US only, may or may not be applicable elsewhere.
|
||||
:::
|
||||
|
||||
Meshtastic can be used by both unlicensed people and licensed operators. If you use Meshtastic with your ham radio license, there are additional privileges and restrictions to consider.
|
||||
|
||||
| Privileges | Restrictions |
|
||||
| :-------------------------------------------------------------: | :-----------------------------------------------------------: |
|
||||
| <ul><li>Additional Power</li><li>Higher gain antennas</li></ul> | <ul><li>Unencrypted</li><li>Identified with your ID</li></ul> |
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| set-ham | `string` | `""` |
|
||||
|
||||
### set-ham
|
||||
|
||||
If you are a licensed HAM operator, you can set this variable to be your ID.
|
||||
|
||||
:::warning
|
||||
By changing these settings, you are self certifying that you are licensed to operate in the mode you have chosen. Failure to comply with your local regulations may result in fines.
|
||||
:::
|
||||
|
||||
#### Set HAM ID
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set HAM ID"
|
||||
meshtastic --set-ham KI1345
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
Toggling `set-ham` changes your device settings in the following ways.
|
||||
|
||||
| Setting | `set-ham` Default | Normal Default |
|
||||
| :----------------------: | :---------------: | :---------------------------------------: |
|
||||
| `is_licensed` (Protobuf) | `true` | `false` |
|
||||
| `long_name` (Protobuf) | `id` | User Defined |
|
||||
| `psk` (Protobuf) | `""` | See [Channel Settings - psk](channel#psk) |
|
||||
| `short_name` (Protobuf) | TODO | User Defined |
|
||||
|
||||
# Ham Operators
|
||||
|
||||
(This written US only, may be applicable elsewhere)
|
||||
|
||||
Meshtastic can be used by both unlicensed people and licensed operators.
|
||||
|
||||
Having a ham radio license grants you addition privilages and restrictions.
|
||||
|
||||
# Additional privilages
|
||||
|
||||
- Additional power
|
||||
- Higher gain antennas
|
||||
|
||||
# Restrictions
|
||||
|
||||
- Unencrypted
|
||||
- Identified with your ID
|
||||
|
||||
# Let's do it!
|
||||
|
||||
Remember, by doing this you are self certifying that you are licensed operate in the mode you have chosen. Failure to comply with your local regulations may result in fines.
|
||||
|
||||
## Use the Python CLI
|
||||
|
||||
Meshtastic is designed to be used without a radio operator license. If you do have a license you can set your operator ID and turn off encryption with the [Python CLI](/docs/software/python/cli/usage#ham-radio-support):
|
||||
|
||||
```shell title="Expected Output"
|
||||
# You should see a result similar to this:
|
||||
mydir$ meshtastic --port /dev/ttyUSB1 --set-ham KI1345
|
||||
Connected to radio
|
||||
Setting Ham ID to KI1345 and turning off encryption
|
||||
Writing modified channels to device
|
||||
```
|
|
@ -1,78 +0,0 @@
|
|||
---
|
||||
id: gps-modules
|
||||
title: External GPS Modules
|
||||
sidebar_label: GPS Modules
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
External GPS modules can be installed to extend the capabilities of simple boards.
|
||||
|
||||
## GY-GPS6MV2 GPS module
|
||||
|
||||
- Based on the ublox/u-blox NEO-6M module
|
||||
- Input: 3 to 5V
|
||||
- Interface: RS232 TTL
|
||||
- Default baud rate: 9600 bps
|
||||
- Output: NMEA sentences
|
||||
|
||||
[<img src="/img/hardware/gy-gps6mv2.jpg" alt="GY-GPS6MV2" style={{zoom:'50%'}} />](/img/hardware/gy-gps6mv2.jpg)
|
||||
|
||||
### LILYGO TTGO Lora32 v2.1-1.6
|
||||
|
||||
- Wiring instructions:
|
||||
|
||||
| GPS Module Pin | TTGO Lora32 v2.1-1.6 Pin |
|
||||
| :------------: | :----------------------: |
|
||||
| VCC | 3.3V |
|
||||
| RX | IO13 |
|
||||
| TX | IO15 |
|
||||
| GND | GND |
|
||||
|
||||
- Once the module is connected, it should be detected automatically by the firmware.
|
||||
|
||||
### LILYGO TTGO Lora32 v2.0
|
||||
|
||||
- Wiring instructions:
|
||||
|
||||
| GPS Module Pin | TTGO Lora32 v2.0 Pin |
|
||||
| :------------: | :------------------: |
|
||||
| VCC | 3.3V |
|
||||
| RX | 13 |
|
||||
| TX | 36 |
|
||||
| GND | GND |
|
||||
|
||||
- Once the module is connected, it should be detected automatically by the firmware.
|
||||
|
||||
### LILYGO TTGO Lora32 v1.3
|
||||
|
||||
- Wiring instructions:
|
||||
|
||||
| GPS Module Pin | TTGO Lora32 v1.3 Pin |
|
||||
| :------------: | :------------------: |
|
||||
| VCC | 3.3V |
|
||||
| RX | 13 |
|
||||
| TX | 36 |
|
||||
| GND | GND |
|
||||
|
||||
- Once the module is connected, it should be detected automatically by the firmware.
|
||||
|
||||
### LILYGO TTGO Lora32 V1.0
|
||||
|
||||
- This board does not support external GPS Modules.
|
||||
|
||||
### Heltec Lora32 v1.0, v2.0 and v2.1
|
||||
|
||||
- Wiring instructions:
|
||||
|
||||
| GPS Module Pin | Heltec Lora32 Pin |
|
||||
| :------------: | :---------------: |
|
||||
| VCC | 3.3V |
|
||||
| RX | 33 |
|
||||
| TX | 36 |
|
||||
| GND | GND |
|
||||
|
||||
- Once the module is connected, it should be detected automatically by the firmware.
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
id: heltec
|
||||
title: Heltec device
|
||||
sidebar_label: Heltec
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
## WiFi LoRa 32 (V2) * Not Recommended - Support may be dropped
|
||||
|
||||
It continues to be a struggle to support this very old ESP32 chip, not officially supported in 1.3 / 2.0 and support may be dropped completely.
|
||||
|
||||
Using this device with a battery is not recommended.
|
||||
|
||||
- ESP32 - Wifi & Bluetooth
|
||||
- SX127x - LoRa Transceiver
|
||||
- Frequency options:
|
||||
- 433 MHz
|
||||
- 470-510 MHz
|
||||
- 863-870 MHz
|
||||
- 902-928 MHz
|
||||
- Built in 0.96 inch OLED display
|
||||
- U.FL antenna connector
|
||||
- Reset and Program switches
|
||||
- No GPS
|
||||
|
||||
- Firmware file: `firmware-heltec-1.x.x.bin`
|
||||
|
||||
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec-v2.png" style={{zoom:'25%'}} />](/img/hardware/heltec-v2.png)
|
||||
|
||||
[<img src="Heltec WiFi LoRa 32 (V2) Pinouts" src="/img/hardware/heltec_v2_pinmap.png" style={{zoom:'25%'}} />](/img/hardware/heltec_v2_pinmap.png)
|
||||
|
||||
There are two versions of the Heltec (V2). Below is a picture highlighting the visual differences:
|
||||
|
||||
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec_v2_vs_v21.png" style={{zoom:'25%'}} />](/img/hardware/heltec_v2_vs_v21.png)
|
||||
|
||||
- See [hardware update log](https://docs.heltec.org/en/node/esp32/dev-board/hardware_update_log.html) for more details
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
id: 1.2_EOL
|
||||
title: Version 1.2 End of life (EOL)
|
||||
sidebar_label: 1.2 End of life (EOL)
|
||||
sidebar_position: 20
|
||||
---
|
||||
|
||||
Meshtastic 1.2 was a beta version that has been superceded by 1.3. Version 1.2 is fundamentally incompatible with any 1.3 versions of device firmware, flashing utilities, or client applications.
|
||||
|
||||
- Last 1.2 Python api version install: pip install meshtastic==1.2.95
|
||||
- Final 1.2 Meshtastic Flasher install: pip install meshtastic-flasher==1.0.106 (Do not attempt to install 1.3.x firmware with this release)
|
||||
- [Final 1.2 Device Firmware](https://github.com/meshtastic/firmware/releases/tag/v1.2.65.0adc5ce)
|
||||
- [Final 1.2 Android App](https://github.com/meshtastic/Meshtastic-Android/releases/tag/1.2.67)
|
|
@ -1,315 +0,0 @@
|
|||
---
|
||||
id: misc
|
||||
title: 1.2 Miscellaneous Settings
|
||||
sidebar_label: 1.2 Miscellaneous
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Overview
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------------: | :------------------------------------: | :-----: |
|
||||
| auto_screen_carousel_secs | `integer` (seconds) | `0` |
|
||||
| debug_log_enabled | `true`, `false` | `false` |
|
||||
| factory_reset | `true`, `false` | `false` |
|
||||
| ignore_incoming | `string` – list of node nums to ignore | `0` |
|
||||
| hop_limit | `0`-`7` | `0` |
|
||||
| serial_disabled | `true`, `false` | `false` |
|
||||
|
||||
### auto_screen_carousel_secs
|
||||
|
||||
Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. Potentially useful for devices without user buttons.
|
||||
|
||||
#### Configure auto_screen_carousel_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set auto_screen_carousel_secs to default"
|
||||
meshtastic --set auto_screen_carousel_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set auto_screen_carousel_secs to 120 seconds"
|
||||
meshtastic --set auto_screen_carousel_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### debug_log_enabled
|
||||
|
||||
By default we turn off logging as soon as an API client connects (to keep shared serial link quiet and save bandwidth). Set this to true to leave the debug log outputting even when API is active.
|
||||
|
||||
#### Enable/Disable Debug Log
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable debug log"
|
||||
meshtastic --set debug_log_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable debug log"
|
||||
meshtastic --set debug_log_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### factory_reset
|
||||
|
||||
This setting is never saved to disk, but if set, all device settings will be returned to factory defaults. (Region, serial number etc... will be preserved)
|
||||
|
||||
#### Factory reset
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Example - Factory reset"
|
||||
meshtastic --set factory_reset true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ignore_incoming
|
||||
|
||||
If true, radio should not try to be smart about what packets to queue to the phone bool keep_all_packets = 101; If true, we will try to capture all the packets sent on the mesh, not just the ones destined to our node. bool promiscuous_mode = 102; For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in ignore_incoming will have packets they send dropped on receive (by router.cpp)
|
||||
|
||||
#### Enable/Disable ignore_incoming
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable ignore_incoming"
|
||||
meshtastic --set ignore_incoming true
|
||||
```
|
||||
|
||||
```shell title="Disable ignore_incoming"
|
||||
meshtastic --set ignore_incoming false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_disabled
|
||||
|
||||
If set, this will disable the SerialConsole by not initializing the StreamAPI.
|
||||
|
||||
#### Enable/Disable Serial
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable serial"
|
||||
meshtastic --set serial_disabled false
|
||||
```
|
||||
|
||||
```shell title="Disable serial"
|
||||
meshtastic --set serial_disabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### hop_limit
|
||||
|
||||
Overrides the default number of hops a message will be passed. If not set, will default to 3 hops.
|
||||
|
||||
:::note
|
||||
Meshtastic allows a maximum of 7 hops (this is a limit of the protocol). Setting a hop_limit of greater than 7 will be replaced with 7 on the device.
|
||||
:::
|
||||
|
||||
#### Configure hop_limit
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set hop_limit to default (3 hops)"
|
||||
meshtastic --set hop_limit 0
|
||||
```
|
||||
|
||||
```shell title="Set hop_limit to max (7 hops)"
|
||||
meshtastic --set hop_limit 7
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,468 +0,0 @@
|
|||
---
|
||||
id: mqtt
|
||||
title: 1.2 MQTT Settings
|
||||
sidebar_label: 1.2 MQTT
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::note
|
||||
This is still under development, use at your own risk. Report any bugs you see by creating an issue on the [meshtastic/firmware](https://github.com/meshtastic/firmware) repository or comment on our forum.
|
||||
:::
|
||||
|
||||
:::caution
|
||||
You may want to change your [GPS location sharing settings](gps#location_share) if you are enabling this. It will broadcast your location over the internet.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
If your device is connected to WiFi you can enable it to forward messages along to an MQTT server. This allows users on the local mesh to communicate with users on the internet.
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------: | :---------------: | :-----: |
|
||||
| downlink_enabled | `true`, `false` | `false` |
|
||||
| mqtt_disabled | `true`, `false` | `false` |
|
||||
| mqtt_encryption_enabled | `true`, `false` | `false` |
|
||||
| mqtt_password | `string` | `""` |
|
||||
| mqtt_server | `string` | `""` |
|
||||
| mqtt_username | `string` | `""` |
|
||||
| uplink_enabled | `true`, `false` | `false` |
|
||||
|
||||
### downlink_enabled
|
||||
|
||||
This is a channel specific setting. If your channel has this set to `true` and you are connected to WiFi, the device will forward along messages from the MQTT server specified [here](#mqtt_server) to the mesh from this device.
|
||||
|
||||
#### Enable/Disable downlink_enabled
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable downlink_enabled on PRIMARY channel"
|
||||
meshtastic --ch-set downlink_enabled true --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Disable downlink_enabled on PRIMARY channel"
|
||||
meshtastic --ch-set downlink_enabled false --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Enable downlink_enabled on OTHER channel"
|
||||
meshtastic --ch-set downlink_enabled true --ch-index 1
|
||||
```
|
||||
|
||||
```shell title="Disable downlink_enabled on OTHER channel"
|
||||
meshtastic --ch-set downlink_enabled false --ch-index 1
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mqtt_disabled
|
||||
|
||||
If a meshtastic node is able to reach the internet it will normally attempt to gateway any channels that are marked as `uplink_enabled` or `downlink_enabled`. But if this flag is set, all MQTT features will be disabled and no servers will be contacted.
|
||||
|
||||
#### Enable/Disable MQTT
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable MQTT (Default)"
|
||||
meshtastic --set mqtt_disabled false
|
||||
```
|
||||
|
||||
```shell title="Disable MQTT"
|
||||
meshtastic --set mqtt_disabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mqtt_encryption_enabled
|
||||
|
||||
Determines whether or not the device sends the packets encrypted to/from your MQTT server.
|
||||
|
||||
:::tip
|
||||
If you are using the default Meshtastic MQTT server, this setting will take no effect. All packets will continue to be encrypted regardless of this setting. Only custom servers will honor this setting.
|
||||
:::
|
||||
|
||||
#### Enable/Disable MQTT Encryption
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Publish decrypted packets to MQTT (Default)"
|
||||
meshtastic --set mqtt_encryption_enabled false
|
||||
```
|
||||
|
||||
```shell title="Publish encrypted packets to MQTT"
|
||||
meshtastic --set mqtt_encryption_enabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mqtt_password
|
||||
|
||||
MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default password `large4cats`.
|
||||
|
||||
#### Configure mqtt_password
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set mqtt_password"
|
||||
meshtastic --set mqtt_password mypassword
|
||||
```
|
||||
|
||||
```shell title="Set mqtt_password (with spaces)"
|
||||
meshtastic --set mqtt_password "my password"
|
||||
```
|
||||
|
||||
```shell title="Unset mqtt_password (Default)"
|
||||
meshtastic --set mqtt_password ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mqtt_server
|
||||
|
||||
The server to use for our MQTT global message gateway feature. If not set, the default server will be used
|
||||
|
||||
#### Enable/Disable MQTT Server
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::tip
|
||||
When the mqtt_server is set to `""`, it will default to `mqtt.meshtastic.org`
|
||||
:::
|
||||
|
||||
```shell title="Enable MQTT Server - Public Meshtastic MQTT Server (Default)"
|
||||
meshtastic --set mqtt_server ""
|
||||
```
|
||||
|
||||
```shell title="Enable MQTT Server - Personal MQTT Server (by IP)"
|
||||
meshtastic --set mqtt_server 198.168.0.2
|
||||
```
|
||||
|
||||
```shell title="Enable MQTT Server - Personal MQTT Server (by URL)"
|
||||
meshtastic --set mqtt_server mqtt.mydomain.com
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mqtt_username
|
||||
|
||||
MQTT username to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default username `meshdev`.
|
||||
|
||||
#### Configure mqtt_username
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set mqtt_username"
|
||||
meshtastic --set mqtt_username myusername
|
||||
```
|
||||
|
||||
```shell title="Set mqtt_username (with spaces)"
|
||||
meshtastic --set mqtt_username "my username"
|
||||
```
|
||||
|
||||
```shell title="Unset mqtt_username (Default)"
|
||||
meshtastic --set mqtt_username ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### uplink_enabled
|
||||
|
||||
This is a channel specific setting. If your channel has this set to `true` and you are connected to WiFi, the device will forward along messages to whatever MQTT server is specified in [mqtt_server](#mqtt_server).
|
||||
|
||||
#### Enable/Disable uplink_enabled
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable uplink_enabled on PRIMARY channel"
|
||||
meshtastic --ch-set uplink_enabled true --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Disable uplink_enabled on PRIMARY channel"
|
||||
meshtastic --ch-set uplink_enabled false --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="Enable uplink_enabled on OTHER channel"
|
||||
meshtastic --ch-set uplink_enabled true --ch-index 1
|
||||
```
|
||||
|
||||
```shell title="Disable uplink_enabled on OTHER channel"
|
||||
meshtastic --ch-set uplink_enabled false --ch-index 1
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
<!--- TODO --->
|
||||
|
||||
## Examples
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set server"
|
||||
meshtastic --set mqtt_server 192.168.123.234
|
||||
```
|
||||
|
||||
```shell title="Enable MQTT server to mesh"
|
||||
meshtastic --ch-set uplink_enabled true --ch-set downlink_enabled true --ch-index 0
|
||||
```
|
||||
|
||||
```shell title="View raw encoded messages using mosquitto"
|
||||
mosquitto_sub -h 192.168.123.234 -v -t msh/#
|
||||
```
|
||||
|
||||
:::note
|
||||
FIXME some documentation says msh/# , some says mesh/# . As of 1.2.39 the messages are on msh/#
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,498 +0,0 @@
|
|||
---
|
||||
id: power
|
||||
title: 1.2 Power Settings
|
||||
sidebar_label: 1.2 Power
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Overview
|
||||
|
||||
Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/docs/software/python/cli)). Some of these options are implicit in other commands. For example, when you set the device to router mode using `is_router true`, it is implied that deep sleep is disabled and we want to constantly listen for messages. Below is a list of all user-definable settings and the acceptable values that these settings can use.
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------: |
|
||||
| charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` |
|
||||
| is_always_powered | `true`, `false` | `false` |
|
||||
| is_low_power | `true`, `false` | `false` |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
| ls_secs | `integer` (seconds) | `0` |
|
||||
| mesh_sds_timeout_secs | `integer` (seconds) | `0` |
|
||||
| min_wake_secs | `integer` (seconds) | `0` |
|
||||
| on_battery_shutdown_after_secs | `integer` (seconds) | `0` |
|
||||
| phone_timeout_secs | `integer` (seconds) | `0` |
|
||||
| screen_on_secs | `integer` (seconds) | `0` |
|
||||
| sds_secs | `integer` (seconds) | `0` |
|
||||
| wait_bluetooth_secs | `integer` (seconds) | `0` |
|
||||
|
||||
:::note
|
||||
|
||||
When you change the following settings to `0` they assume the following defaults:
|
||||
|
||||
- `ls_secs`: 1 hour
|
||||
- `mesh_sds_timeout_secs`: 2 hours
|
||||
- `min_wake_secs`: 10 seconds
|
||||
- `phone_timeout_secs`: 15 minutes
|
||||
- `screen_on_secs`: 1 minute
|
||||
- `sds_secs`: 1 year
|
||||
- `wait_bluetooth_secs`: 1 minute
|
||||
|
||||
:::
|
||||
|
||||
### charge_current
|
||||
|
||||
Sets the current of the battery charger.
|
||||
|
||||
#### Specify charge_current
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Unset charge current"
|
||||
meshtastic --set charge_current MAUnset
|
||||
```
|
||||
|
||||
```shell title="Set charge current"
|
||||
meshtastic --set charge_current MA100
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### is_always_powered
|
||||
|
||||
Circumvents the logic block for determining whether the device is powered or not. Useful for devices with finicky ADC issues on the battery sense pins.
|
||||
|
||||
#### Enable/Disable is_always_powered
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable is_always_powered"
|
||||
meshtastic --set is_always_powered true
|
||||
```
|
||||
|
||||
```shell title="Disable is_always_powered"
|
||||
meshtastic --set is_always_powered false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### is_low_power
|
||||
|
||||
If set, we are powered from a low-current source (i.e. solar), so even if it looks like we have power flowing in we should try to minimize power consumption as much as possible.
|
||||
|
||||
:::note
|
||||
|
||||
You do **not** need to set this if you've set `is_router` (it is implied in that case).
|
||||
|
||||
:::
|
||||
|
||||
#### Enable/Disable is_low_power
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable is_low_power"
|
||||
meshtastic --set is_low_power true
|
||||
```
|
||||
|
||||
```shell title="Disable is_low_power"
|
||||
meshtastic --set is_low_power false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### is_router
|
||||
|
||||
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight).
|
||||
|
||||
#### Enable/Disable is_router
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable is_router"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
|
||||
```shell title="Disable is_router"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ls_secs
|
||||
|
||||
0 for default of 3600.
|
||||
|
||||
#### Configure ls_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set ls_secs to default (1 hour/3600 seconds)"
|
||||
meshtastic --set ls_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set ls_secs to 120 seconds"
|
||||
meshtastic --set ls_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### mesh_sds_timeout_secs
|
||||
|
||||
0 for default of two hours, use the MAXUINT or 4294967295 to disable.
|
||||
|
||||
#### Configure mesh_sds_timeout_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set mesh_sds_timeout_secs to default (2 hour/7200 seconds)"
|
||||
meshtastic --set mesh_sds_timeout_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set mesh_sds_timeout_secs to 120 seconds"
|
||||
meshtastic --set mesh_sds_timeout_secs 120
|
||||
```
|
||||
|
||||
```shell title="Disable mesh_sds_timeout_secs (using MAXUINT)"
|
||||
meshtastic --set mesh_sds_timeout_secs 4294967295
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### min_wake_secs
|
||||
|
||||
0 for default of 10 seconds.
|
||||
|
||||
#### Configure min_wake_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set min_wake_secs to default (10 seconds)"
|
||||
meshtastic --set min_wake_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set min_wake_secs to 120 seconds"
|
||||
meshtastic --set min_wake_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### on_battery_shutdown_after_secs
|
||||
|
||||
If non-zero, the device will fully power off this many seconds after external power is removed.
|
||||
|
||||
#### Enable/Disable on_battery_shutdown_after_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Disable on_battery_shutdown_after_secs"
|
||||
meshtastic --set on_battery_shutdown_after_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set device to shutdown after 120 seconds on battery"
|
||||
meshtastic --set on_battery_shutdown_after_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### phone_timeout_secs
|
||||
|
||||
0 for default of 15 minutes.
|
||||
|
||||
#### Configure phone_timeout_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set phone_timeout_secs to default (15 minutes)"
|
||||
meshtastic --set phone_timeout_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set phone_timeout_secs to 120 seconds"
|
||||
meshtastic --set phone_timeout_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### screen_on_secs
|
||||
|
||||
- Greater than Meshtastic 1.3 - 0 for default of 10 minutes
|
||||
- Less than Meshtastic v1.3 - 0 for default of 1 minute
|
||||
|
||||
#### Configure screen_on_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set screen_on_secs to default (1 minute)"
|
||||
meshtastic --set screen_on_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set screen_on_secs to 120 seconds"
|
||||
meshtastic --set screen_on_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### sds_secs
|
||||
|
||||
0 for default of one year.
|
||||
|
||||
#### Configure sds_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set sds_secs to default (1 year)"
|
||||
meshtastic --set sds_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set sds_secs to 120 seconds"
|
||||
meshtastic --set sds_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### wait_bluetooth_secs
|
||||
|
||||
0 for default of 1 minute.
|
||||
|
||||
#### Configure wait_bluetooth_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set wait_bluetooth_secs to default (60 seconds)"
|
||||
meshtastic --set wait_bluetooth_secs 0
|
||||
```
|
||||
|
||||
```shell title="Set wait_bluetooth_secs to 120 seconds"
|
||||
meshtastic --set wait_bluetooth_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,82 +0,0 @@
|
|||
---
|
||||
id: router
|
||||
title: 1.2 Router Settings
|
||||
sidebar_label: 1.2 Router
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Overview
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-------: | :---------------: | :-----: |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
|
||||
### is_router
|
||||
|
||||
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight)
|
||||
|
||||
#### Enable/Disable router mode
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable router mode"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
|
||||
```shell title="Disable router mode"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
Toggling `is_router` changes your device settings in the following ways.
|
||||
|
||||
| Setting | `is_router` Default | Normal Default |
|
||||
| :-----------------------: | :-----------------: | :------------: |
|
||||
| `position_broadcast_secs` | 12 hours | 15 minutes |
|
||||
| `wait_bluetooth_secs` | 1 | 60 |
|
||||
| `mesh_sds_timeout_secs` | NODE_DELAY_FOREVER | 2 hours |
|
||||
| `ls_secs` | 1 day | 1 hour |
|
||||
|
||||
### Altered Behaviors
|
||||
|
||||
#### Screen Wake
|
||||
|
||||
#### Bluetooth
|
|
@ -1,274 +0,0 @@
|
|||
---
|
||||
id: canned-message-module
|
||||
title: Canned Message Plugin Settings
|
||||
sidebar_label: Canned Message Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
:::note
|
||||
This plugin requires attaching a peripheral accessory to your device. It will not work without one. It also requires use of the [Rotary Encoder](input-broker-module) to configure the input source.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
The CannedMessage Plugin will allow you to send messages to the mesh network from the device without using the phone app. You can predefine text messages to choose from.
|
||||
|
||||
:::tip
|
||||
Once plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :--------------------------------------: | :---------------: | :-----: |
|
||||
| canned_message_plugin_allow_input_source | `rotEnc1`, `_any` | `_any` |
|
||||
| canned_message_plugin_enabled | `true`, `false` | `false` |
|
||||
| canned_message_plugin_messages | `string` | `""` |
|
||||
| canned_message_plugin_send_bell | `true`, `false` | `false` |
|
||||
| (Messages)\* | `string` | `""` |
|
||||
|
||||
- Messages can be set with a dedicated option:
|
||||
|
||||
`--set-canned-message "<messages>"`
|
||||
|
||||
### canned_message_plugin_allow_input_source
|
||||
|
||||
Input event source accepted by the canned message plugin.
|
||||
|
||||
| Value | Description |
|
||||
| :-------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| `_any` | Default. Allows any peripheral input device connected to the device. |
|
||||
| `rotEnc1` | Hardcoded value naming the input device that this plugin listens to. This could allow multiple input devices to be named with future software development. At present, this doesn't do anything differently than the default setting. |
|
||||
|
||||
#### Set input source
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set Allowed Input Source"
|
||||
meshtastic --set canned_message_plugin_allow_input_source "_any"
|
||||
```
|
||||
|
||||
```shell title="Specify Allowed Input Source"
|
||||
meshtastic --set canned_message_plugin_allow_input_source "rotEnc1"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### canned_message_plugin_enabled
|
||||
|
||||
Enables the plugin.
|
||||
|
||||
:::tip
|
||||
Using the canned message plugin requires you set up the [Rotary Encoder](input-broker-module). See [prerequisites](#prerequisites) below.
|
||||
:::
|
||||
|
||||
#### Enable/Disable the plugin
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable Canned Message Plugin"
|
||||
meshtastic --set canned_message_plugin_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable Canned Message Plugin"
|
||||
meshtastic --set canned_message_plugin_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### canned_message_plugin_send_bell
|
||||
|
||||
CannedMessagePlugin also sends a "bell character" with the messages.
|
||||
The [External Notification Plugin](external-notification-module) can benefit from this feature as it utilizes the bell character.
|
||||
|
||||
_We have an "External Notification Plugin", that can be set up to beep, when new message arrives.
|
||||
This plugin can also be configured to beep only when message contains the "bell character".
|
||||
See plugin documentation (link above) for details._
|
||||
|
||||
#### Enable/Disable bell character
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable Bell Character"
|
||||
meshtastic --set canned_message_plugin_send_bell true
|
||||
```
|
||||
|
||||
```shell title="Disable Bell Character"
|
||||
meshtastic --set canned_message_plugin_send_bell false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Messages
|
||||
|
||||
CLI has a dedicated option for canned message plugin to set predefines messages: `--set-canned-message <message>`
|
||||
Predefined messages separated by `|` characters.
|
||||
|
||||
You can define up to 50 messages with a total length 800 bytes.
|
||||
|
||||
Existing configuration can be queried with CLI option: `--get-canned-message`
|
||||
|
||||
#### Set canned messages
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set Canned Messages"
|
||||
meshtastic --set canned_message_plugin_messages "I'm fine|I'm out|I'm back|Need helping hand|Help me with saw|I need an alpinist|I need ambulance|Keep Calm|On my way|I will be late|I'm already waiting|We have company|Beer is cold|Roger"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
### Prerequisites
|
||||
|
||||
<!--- TODO add link to hardware pages to first bullet point --->
|
||||
|
||||
- Attach a compatible peripheral device. Take note of the GPIO numbers you use, as they will be used in the following step.
|
||||
- Once attached, configure peripheral device with [Rotary Encoder](input-broker-module) Settings.
|
||||
|
||||
:::note
|
||||
Replace each `GPIO` (x3) below with the GPIO numbers from hardware setup.
|
||||
|
||||
```shell title="Canned Message Plugin - Required Rotary Encoder Settings"
|
||||
meshtastic --set rotary1_pin_a GPIO
|
||||
meshtastic --set rotary1_pin_b GPIO
|
||||
meshtastic --set rotary1_pin_press GPIO
|
||||
meshtastic --set rotary1_event_cw KEY_UP
|
||||
meshtastic --set rotary1_event_ccw KEY_DOWN
|
||||
meshtastic --set rotary1_event_press KEY_SELECT
|
||||
meshtastic --set rotary1_enabled True
|
||||
```
|
||||
|
||||
:::
|
||||
That's it! With a functioning and enabled rotary encoder, you're ready to begin configuring the Canned Message Plugin.
|
|
@ -1,337 +0,0 @@
|
|||
---
|
||||
id: external-notification-module
|
||||
title: External Notification Plugin Settings
|
||||
sidebar_label: External Notification Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
|
||||
:::note
|
||||
This plugin requires attaching a peripheral accessory to your device. It will not work without one.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
The External Notification Plugin will allow you to connect a speaker, LED, or other device to notify you when a message has been received from the mesh network.
|
||||
|
||||
:::tip
|
||||
Once plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------------------------: | :----------------------: | :-----: |
|
||||
| ext_notification_plugin_active | `true`, `false` | `false` |
|
||||
| ext_notification_plugin_alert_bell | `true`, `false` | `false` |
|
||||
| ext_notification_plugin_alert_message | `true`, `false` | `false` |
|
||||
| ext_notification_plugin_enabled | `true`, `false` | `false` |
|
||||
| ext_notification_plugin_output | `integer` | `0` |
|
||||
| ext_notification_plugin_output_ms | `integer` (milliseconds) | `0` |
|
||||
|
||||
### ext_notification_plugin_active
|
||||
|
||||
Specifies whether the external circuit is triggered when the device's GPIO is low or high.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Specify High/Low GPIO triggers circuit
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="GPIO active high"
|
||||
meshtastic --set ext_notification_plugin_active true
|
||||
```
|
||||
|
||||
```shell title="GPIO active low (default)"
|
||||
meshtastic --set ext_notification_plugin_active false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ext_notification_plugin_alert_bell
|
||||
|
||||
Specifies if an alert should be sent when receiving an incoming bell.
|
||||
|
||||
#### Enable/Disable alert on incoming bell
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable alert on incoming bell"
|
||||
meshtastic --set ext_notification_plugin_alert_bell true
|
||||
```
|
||||
|
||||
```shell title="Disable alert on incoming bell"
|
||||
meshtastic --set ext_notification_plugin_alert_bell false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ext_notification_plugin_alert_message
|
||||
|
||||
Specifies if an alert should be sent when receiving an incoming message.
|
||||
|
||||
#### Enable/Disable Alert on incoming message
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable alert on incoming message"
|
||||
meshtastic --set ext_notification_plugin_alert_message true
|
||||
```
|
||||
|
||||
```shell title="Disable alert on incoming message"
|
||||
meshtastic --set ext_notification_plugin_alert_message false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ext_notification_plugin_enabled
|
||||
|
||||
Enables the plugin.
|
||||
|
||||
#### Enable/Disable the plugin
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable / Disable Plugin"
|
||||
meshtastic --set ext_notification_plugin_enabled true
|
||||
meshtastic --set ext_notification_plugin_enabled false
|
||||
```
|
||||
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ext_notification_plugin_output
|
||||
|
||||
Specifies the GPIO that your external circuit is attached to on the device.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Specify GPIO for circuit to monitor
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` in the below command with the GPIO number your circuit is attached to.
|
||||
:::
|
||||
|
||||
```shell title="Specify GPIO that circuit is connected to"
|
||||
meshtastic --set ext_notification_plugin_output GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### ext_notification_plugin_output_ms
|
||||
|
||||
Specifies how long in milliseconds you would like your external circuit triggered. Default is `1000`. (Because of the way that defaults are handled in the protobufs `0` is interpreted as `1000`)
|
||||
|
||||
#### Specify how many milliseconds to trigger circuit
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set to default (1000ms)"
|
||||
meshtastic --set ext_notification_plugin_output_ms 0
|
||||
```
|
||||
|
||||
```shell title="Set to other value"
|
||||
meshtastic --set ext_notification_plugin_output_ms 1500
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
id: 1.2_EOL
|
||||
title: 1.2 Module Config
|
||||
sidebar_label: 1.2 Module Config
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
Modules are included in the firmware and allow users to extend the functionality of their mesh or device.
|
||||
Plugins are included in the firmware and allow users to extend the functionality of their mesh or device.
|
||||
|
||||
The list of current modules is as follows:
|
||||
|
||||
| Name | Description |
|
||||
|:----:|:-----------:|
|
||||
| Canned Message Plugin | Set a number of predefined messages to send out directly from the device with the use of an input device like a rotary encoder. |
|
||||
| External Notification Plugin | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc) |
|
||||
| Rotary Encoder Plugin | Attach and define input devices such as external keyboards and rotary encoders. |
|
||||
| Range Test Plugin | Send messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV. |
|
||||
| Serial Plugin | Send messages across the mesh by sending strings over a serial port. |
|
||||
| Store and Forward Plugin | Set a designated node to store messages and resend them to nodes with intermittent connection to a mesh. |
|
||||
| Telemetry Plugin | Attach sensors to the device and transmit readings on a regular interval to the mesh. |
|
||||
|
||||
:::tip
|
||||
Once Plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
|
@ -1,464 +0,0 @@
|
|||
---
|
||||
id: input-broker-module
|
||||
title: Rotary Encoder
|
||||
sidebar_label: Rotary Encoder
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
:::note
|
||||
This module requires attaching a peripheral accessory to your device. It will not work without one.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
Meshtastic supports hardwired rotary encoders as input devices.
|
||||
Currently, one rotary encoder (`rotary1`) is defined, but later more rotary encoders
|
||||
can be added (if needed) the same way.
|
||||
|
||||
:::tip
|
||||
Once module settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------: | :---------------: | :-----------: |
|
||||
| rotary1_enabled | `true`, `false` | `false` |
|
||||
| rotary1_event_cw | `InputEventChar` | (not defined) |
|
||||
| rotary1_event_ccw | `InputEventChar` | (not defined) |
|
||||
| rotary1_event_press | `InputEventChar` | (not defined) |
|
||||
| rotary1_pin_a | `integer` | (not defined) |
|
||||
| rotary1_pin_b | `integer` | (not defined) |
|
||||
| rotary1_pin_press | `integer` | (not defined) |
|
||||
|
||||
### rotary1_enabled
|
||||
|
||||
Enable the rotary encoder #1
|
||||
|
||||
#### Enable/Disable rotary1
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable rotary1"
|
||||
meshtastic --set rotary1_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable rotary1"
|
||||
meshtastic --set rotary1_enabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_event_cw
|
||||
|
||||
Generate input event on CW of this kind.
|
||||
|
||||
:::tip
|
||||
For using with CannedMessageModule you must choose value `KEY_UP` here.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 event cw
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set rotary1 event cw to 'KEY_UP'"
|
||||
meshtastic --set rotary1_event_press KEY_UP
|
||||
```
|
||||
|
||||
```shell title="Unset rotary1 event cw"
|
||||
meshtastic --set rotary1_event_press ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_event_ccw
|
||||
|
||||
Generate input event on CCW of this kind.
|
||||
|
||||
:::tip
|
||||
For using with CannedMessageModule you must choose value `KEY_DOWN` here.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 event ccw
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set rotary1 event ccw to 'KEY_DOWN'"
|
||||
meshtastic --set rotary1_event_ccw KEY_DOWN
|
||||
```
|
||||
|
||||
```shell title="Unset rotary1 event ccw"
|
||||
meshtastic --set rotary1_event_ccw ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_event_press
|
||||
|
||||
Generate input event on Press of this kind.
|
||||
|
||||
:::tip
|
||||
For using with CannedMessageModule you must choose value `KEY_SELECT` here.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 event press
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set rotary1 event press to 'KEY_SELECT'"
|
||||
meshtastic --set rotary1_event_press KEY_SELECT
|
||||
```
|
||||
|
||||
```shell title="Unset rotary1 event press"
|
||||
meshtastic --set rotary1_event_press ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_pin_a
|
||||
|
||||
GPIO pin for rotary encoder A port.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 pin a
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
||||
:::
|
||||
|
||||
```shell title="Specify rotary1 pin a"
|
||||
meshtastic --set rotary1_pin_a GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_pin_b
|
||||
|
||||
GPIO pin for rotary encoder B port.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 pin b
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
||||
:::
|
||||
|
||||
```shell title="Specify rotary1 pin b"
|
||||
meshtastic --set rotary1_pin_b GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### rotary1_pin_press
|
||||
|
||||
GPIO pin for rotary encoder Press port.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Specify rotary1 pin press
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
||||
:::
|
||||
|
||||
```shell title="Specify rotary1 pin press"
|
||||
meshtastic --set rotary1_pin_press GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
<!--- TODO add link to hardware page --->
|
||||
|
||||
Configuring the rotary encoder module require attaching the compatible hardware.
|
||||
|
||||
## Examples
|
||||
|
||||
### Configure rotary encoder for Canned Message Module
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace each `GPIO` (x3) below with the GPIO numbers from hardware setup.
|
||||
:::
|
||||
|
||||
```shell title="Canned Message Module - Required Rotary Encoder Module Settings"
|
||||
meshtastic --set rotary1_pin_a GPIO
|
||||
meshtastic --set rotary1_pin_b GPIO
|
||||
meshtastic --set rotary1_pin_press GPIO
|
||||
meshtastic --set rotary1_event_cw KEY_UP
|
||||
meshtastic --set rotary1_event_ccw KEY_DOWN
|
||||
meshtastic --set rotary1_event_press KEY_SELECT
|
||||
meshtastic --set rotary1_enabled True
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,283 +0,0 @@
|
|||
---
|
||||
id: range-test-module
|
||||
title: Range Test Plugin Settings
|
||||
sidebar_label: Range Test Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Overview
|
||||
|
||||
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.
|
||||
|
||||
:::tip
|
||||
Once module settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------------: | :-----------------: | :-----: |
|
||||
| range_test_plugin_enabled | `true`, `false` | `false` |
|
||||
| range_test_plugin_save | `true`, `false` | `false` |
|
||||
| range_test_plugin_sender | `integer` (Seconds) | `0` |
|
||||
|
||||
### range_test_pluigin_enabled
|
||||
|
||||
Enables the plugin.
|
||||
|
||||
#### Enable/Disable the plugin
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable the module"
|
||||
meshtastic --set range_test_plugin_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable the module"
|
||||
meshtastic --set range_test_plugin_enabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### range_test_plugin_save
|
||||
|
||||
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.
|
||||
|
||||
#### Enable/Disable range test save `csv`
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable range test save"
|
||||
meshtastic --set range_test_plugin_save true
|
||||
```
|
||||
|
||||
```shell title="Disable range test save"
|
||||
meshtastic --set range_test_plugin_save false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### range_test_plugin_sender
|
||||
|
||||
Number of seconds to wait between sending packets. Using the long_slow channel configuration, it's best not to go more frequent than once every 60 seconds. You can be more aggressive with faster settings. `0` is default which disables sending messages.
|
||||
|
||||
#### Enable/Disable range test sender
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable range test sender (send every 60 seconds)"
|
||||
meshtastic --set range_test_plugin_sender 60
|
||||
```
|
||||
|
||||
```shell title="Disable range test sender"
|
||||
meshtastic --set range_test_plugin_sender 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
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 plugin configured as a sender or the device where the plugin 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 plugin on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](/docs/development/firmware/portnum) are sent on.
|
||||
:::
|
||||
|
||||
```plaintext title="Example URLs"
|
||||
http://meshtastic.local
|
||||
http://198.168.0.15
|
||||
```
|
||||
|
||||
### Recommended Sender Settings
|
||||
|
||||
| Radio Setting | `range_test_plugin_sender` |
|
||||
| :-----------: | :------------------------: |
|
||||
| Long Slow | 60 |
|
||||
| Long Alt | 30 |
|
||||
| Medium | 15 |
|
||||
| Short Fast | 15 |
|
||||
|
||||
## Examples
|
||||
|
||||
### Sender Node
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Example - Sender Node"
|
||||
meshtastic --set range_test_plugin_enabled true
|
||||
meshtastic --set range_test_plugin_sender 60
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Receiver Node
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Example - Receiver Node"
|
||||
meshtastic --set range_test_plugin_enabled true
|
||||
meshtastic --set range_test_plugin_save true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,321 +0,0 @@
|
|||
---
|
||||
id: serial-module
|
||||
title: Serial Plugin Settings
|
||||
sidebar_label: Serial Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
:::note
|
||||
This plugin requires attaching a peripheral accessory to your device. It will not work without one.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
This is a simple interface to send messages over the mesh network by sending strings over a serial port. Anything you send the node will be turned into a message sent out over the mesh, and anything received from the mesh will be sent to the serial port. Note that this plugin does not (yet) allow arbitrary protobuf commands to be sent over the serial connection.
|
||||
|
||||
:::tip
|
||||
Once plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
:::tip
|
||||
Connect the TX pin to the other device's RX pin, and vice versa. Connect their grounds to each other (not necessary if they're both plugged into the same USB power source.)
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-------------------: | :-----------------: | :-----: |
|
||||
| serial_plugin_enabled | `true`, `false` | `false` |
|
||||
| serial_plugin_echo | `true`, `false` | `false` |
|
||||
| serial_plugin_mode | `integer` | `0` |
|
||||
| serial_plugin_rxd | `integer` (GPIO) | `0` |
|
||||
| serial_plugin_timeout | `integer` (seconds) | `0` |
|
||||
| serial_plugin_txd | `integer` (GPIO) | `0` |
|
||||
|
||||
### serial_plugin_enabled
|
||||
|
||||
Enables the plugin.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable plugin"
|
||||
meshtastic --set serial_plugin_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable plugin"
|
||||
meshtastic --set serial_plugin_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_plugin_echo
|
||||
|
||||
If set, any packets you send will be echoed back to your device.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable serial_plugin_echo"
|
||||
meshtastic --set serial_plugin_echo true
|
||||
```
|
||||
|
||||
```shell title="Disable serial_plugin_echo"
|
||||
meshtastic --set serial_plugin_echo false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_plugin_mode
|
||||
|
||||
<!--- TODO --->
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_plugin_rxd
|
||||
|
||||
Set the GPIO pin to the RXD pin you have set up.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` in the below command with the GPIO number your circuit is attached to.
|
||||
:::
|
||||
|
||||
```shell title="Set RXD to GPIO pin number"
|
||||
meshtastic --set serial_plugin_rxd GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_plugin_timeout
|
||||
|
||||
The amount of time to wait before we consider your packet as "done".
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set serial_plugin_timeout to 15 seconds"
|
||||
meshtastic --set serial_plugin_timeout 15
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### serial_plugin_txd
|
||||
|
||||
Set the GPIO pin to the TXD pin you have set up.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
Replace `GPIO` in the below command with the GPIO number your circuit is attached to.
|
||||
:::
|
||||
|
||||
```shell title="Set TXD to GPIO pin number"
|
||||
meshtastic --set serial_plugin_txd GPIO
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -1,336 +0,0 @@
|
|||
---
|
||||
id: store-and-forward-module
|
||||
title: Store & Forward Plugin Settings
|
||||
sidebar_label: Store & Forward Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::info
|
||||
Currently only available for ESP32 based devices with external PSRAM. Requires the device to be set as a router.
|
||||
|
||||
**Don't enable Store and Forward Plugin on multiple nodes.**
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
:::caution
|
||||
This is a work in progress and is partially available. Stability is not guaranteed.
|
||||
:::
|
||||
|
||||
The Store Forward Plugin is an implementation of a Store and Forward system to enable resilient messaging in the event that a client device is disconnected from the main network.
|
||||
|
||||
Because of the increased network traffic for this overhead, it's not advised to use this if you are duty cycle limited for your airtime usage nor is it advised to use this for SF12 (Long Range / Slow).
|
||||
|
||||
:::tip
|
||||
Once plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------------------------------: | :---------------: | :-----: |
|
||||
| store_forward_plugin_enabled | `true`, `false` | `false` |
|
||||
| store_forward_plugin_heartbeat | `true`, `false` | `false` |
|
||||
| store_forward_plugin_history_return_max | `integer` | `0` |
|
||||
| store_forward_plugin_history_return_window | `integer` | `0` |
|
||||
| store_forward_plugin_records | `integer` | `0` |
|
||||
|
||||
### store_forward_plugin_enabled
|
||||
|
||||
Enables the plugin.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable the plugin"
|
||||
meshtastic --set store_forward_plugin_enabled true
|
||||
```
|
||||
|
||||
```shell title="Disable the plugin"
|
||||
meshtastic --set store_forward_plugin_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### store_forward_plugin_heartbeat
|
||||
|
||||
The Store & Forward Router sends a periodic message onto the network. This allows connected devices to know that a router is in range and listening to received messages. A client like Android, iOS, or Web can (if supported) indicate to the user whether a store and forward router is available.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set store_forward_plugin_heartbeat to default"
|
||||
meshtastic --set store_forward_plugin_heartbeat 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### store_forward_plugin_history_return_max
|
||||
|
||||
Sets the maximum number of messages to return to a client device.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set store_forward_plugin_history_return_max to default"
|
||||
meshtastic --set store_forward_plugin_history_return_max 0
|
||||
```
|
||||
|
||||
```shell title="Set store_forward_plugin_history_return_max to 100 messages"
|
||||
meshtastic --set store_forward_plugin_history_return_max 100
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### store_forward_plugin_history_return_window
|
||||
|
||||
Limits the time period (in minutes) a client device can request.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set store_forward_plugin_history_return_window to default"
|
||||
meshtastic --set store_forward_plugin_history_return_window 0
|
||||
```
|
||||
|
||||
```shell title="Set store_forward_plugin_history_return_window to 1 day (1440 minutes)"
|
||||
meshtastic --set store_forward_plugin_history_return_window 1440
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### store_forward_plugin_records
|
||||
|
||||
Set this to the maximum number of records to save. Best to leave this at the default (`0`) where the plugin will use 2/3 of your device's available PSRAM. This is about 11,000 records.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set store_forward_plugin_records to default (≈11,000 records)"
|
||||
meshtastic --set store_forward_plugin_records 0
|
||||
```
|
||||
|
||||
```shell title="Set store_forward_plugin_records to 100 records"
|
||||
meshtastic --set store_forward_plugin_records 100
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
### How it works
|
||||
|
||||
![Store & Forward - Overview](/img/modules/store_and_forward/store_and_forward-overview.png)
|
||||
|
||||
### Requirements
|
||||
|
||||
Initial Requirements:
|
||||
|
||||
- Must be installed on a router node.
|
||||
- This is an artificial limitation, but is in place to enforce best practices.
|
||||
- Router nodes are intended to be always online. If this plugin misses any messages, the reliability of the stored messages will be reduced.
|
||||
- Esp32 Processor based device with external PSRAM. (tbeam v1.0 and tbeamv1.1, and maybe others)
|
||||
|
||||
### Usage Overview
|
||||
|
||||
- To use / test this you will want at least 3 devices
|
||||
- One device will (currently) need be a tbeam v1.0 and tbeamv1.1 configured as a Meshtastic router. Other devices with built in PSRAM will be supported at some point.
|
||||
- Two others will be regular clients. Nothing special required.
|
||||
|
||||
### Meshtastic channel configuration
|
||||
|
||||
Don't use this on the "Long Range / Slow" or "Long Range / Fast" channel settings. You're welcome to try and report back, but those channels have a [very low bitrate](/docs/overview/radio-settings#pre-defined).
|
||||
|
||||
Either use a custom channel configuration with at an at least 1kbit data rate or use "Medium Range / Fast".
|
||||
|
||||
Recommended channel setting is for 1.343kbps:
|
||||
|
||||
```shell title="Recommended channel setting for S&F plugin"
|
||||
meshtastic --setchan spread_factor 11 --setchan coding_rate 5 --setchan bandwidth 500
|
||||
```
|
||||
|
||||
With an aftermarket coaxial antenna or moxon antenna, that will give you roughly the same range as "Long Range / Slow" and 5x the bitrate.
|
||||
|
||||
### Router setup
|
||||
|
||||
:::warning
|
||||
Don't enable the Store and Forward plugin on multiple nodes!
|
||||
:::
|
||||
|
||||
- Configure your device as a router.
|
||||
- Name your router node something that makes it easily identifiable, aka "Router".
|
||||
- Configure the Store and Forward plugin
|
||||
```shell title="Required - Enable the plugin"
|
||||
meshtastic --set plugin true
|
||||
```
|
||||
```shell title="Optional - Set maximum number of records to save to device"
|
||||
meshtastic --set store_forward_plugin_records 100
|
||||
```
|
||||
:::tip
|
||||
Best to leave `store_forward_plugin_records` at the default (`0`) where the plugin will use 2/3 of your device's available PSRAM. This is about 11,000 records.
|
||||
:::
|
||||
|
||||
### Client Usage
|
||||
|
||||
Currently, no special configuration is required. To request your history sent to you, send the command into the message field "SF". That's it. This will eventually change to make it easier. At the moment, that message will be sent to everyone on the mesh but we'll (eventually) make it easier to use where there'll be a button (or maybe it'll be transparent) and the command isn't sent as a text message to the mesh.
|
||||
|
||||
Available Commands:
|
||||
|
||||
| Command | Definition |
|
||||
| :-----: | :------------------------------------------: |
|
||||
| SF | Send the last few messages I may have missed |
|
||||
| SFm | Send a 240 byte payload (Used for testing) |
|
||||
|
||||
The Store and Forward plugin will only service one client at a time. If a second client requests messages while the S&F is busy, the S&F will send a private message to the second client that they will need to wait.
|
|
@ -1,499 +0,0 @@
|
|||
---
|
||||
id: telemetry-module
|
||||
title: Environmental Measurement Plugin Settings
|
||||
sidebar_label: Environmental Measurement Plugin
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
|
||||
:::note
|
||||
The environment metrics feature of this plugin requires attaching a peripheral accessory to your device. It will not work without one.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
In addition to key device metrics such as battery level, the Environment Monitoring Plugin will also allow nodes to send environmental metrics from externally connected sensors. Currently supported sensors are BME280, BME680, DHT11, DHT12, DHT21, DHT22, Dallas 1-wire DS18B20 and MCP9808.
|
||||
|
||||
:::tip
|
||||
Once plugin settings are changed, a **reset** is required for them to take effect.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------------------------------------------: | :-----------------: | :-----: |
|
||||
| environmental_measurement_plugin_device_update_interval | `integer` (seconds) | `0` |
|
||||
| environmental_measurement_plugin_display_fahrenheit | `true`, `false` | `false` |
|
||||
| environmental_measurement_plugin_measurement_enabled | `true`, `false` | `false` |
|
||||
| environmental_measurement_plugin_read_error_count_threshold | `integer` | `0` |
|
||||
| environmental_measurement_plugin_recovery_interval | `integer` (seconds) | `0` |
|
||||
| environmental_measurement_plugin_screen_enabled | `true`, `false` | `0` |
|
||||
| environmental_measurement_plugin_sensor_pin | `integer` | `0` |
|
||||
| environmental_measurement_plugin_sensor_type | `0-6` | `0` |
|
||||
| environmental_measurement_plugin_update_interval | `integer` (seconds) | `0` |
|
||||
|
||||
### environmental_measurement_plugin_device_update_interval
|
||||
|
||||
Interval in seconds of how often we should try to send our measurements to the mesh.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set plugin update interval to default"
|
||||
meshtastic --set environmental_measurement_plugin_device_update_interval 0
|
||||
```
|
||||
|
||||
```shell title="Set plugin update interval to 120 seconds"
|
||||
meshtastic --set environmental_measurement_plugin_device_update_interval 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_display_fahrenheit
|
||||
|
||||
The sensor is always read in Celsius, but the user can opt to view the temperature display in Fahrenheit using this setting.
|
||||
|
||||
#### Display Farenheit/Celsius
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Display Farenheit"
|
||||
meshtastic --set environmental_measurement_plugin_display_fahrenheit true
|
||||
````
|
||||
|
||||
```shell title="Display Celsius"
|
||||
meshtastic --set environmental_measurement_plugin_display_fahrenheit false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_measurement_enabled
|
||||
|
||||
Enables the plugin to utilize environmental metrics.
|
||||
|
||||
#### Enable/Disable the plugin
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable Plugin"
|
||||
meshtastic --set environmental_measurement_plugin_measurement_enabled true
|
||||
````
|
||||
|
||||
```shell title="Disable Plugin"
|
||||
meshtastic --set environmental_measurement_plugin_measurement_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_read_error_count_threshold
|
||||
|
||||
Sometimes sensor reads can fail. If this happens, we will retry a configurable number of attempts. Each attempt will be delayed by the minimum required refresh rate for that sensor
|
||||
|
||||
#### Configure environmental_measurement_plugin_read_error_count_threshold
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Configure environmental_measurement_plugin_read_error_count_threshold to 3 tries"
|
||||
meshtastic --set environmental_measurement_plugin_read_error_count_threshold 3
|
||||
````
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_recovery_interval
|
||||
|
||||
Sometimes we can end up with more than read_error_count_threshold failures. In this case, we will stop trying to read from the sensor for a while. Wait this long until trying to read from the sensor again.
|
||||
|
||||
#### Configure environmental_measurement_plugin_recovery_interval
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Configure environmental_measurement_plugin_recovery_interval to 120 seconds"
|
||||
meshtastic --set environmental_measurement_plugin_recovery_interval 120
|
||||
````
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_screen_enabled
|
||||
|
||||
Enable/Disable the Environmental Measurement Plugin on-device display.
|
||||
|
||||
#### Enable/Disable the plugin on device screen
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable on device screen"
|
||||
meshtastic --set environmental_measurement_plugin_screen_enabled true
|
||||
````
|
||||
|
||||
```shell title="Disable on device screen"
|
||||
meshtastic --set environmental_measurement_plugin_screen_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_sensor_pin
|
||||
|
||||
:::note
|
||||
The preferred setup is using I2C, so the `environmental_measurement_plugin_sensor_pin` may not be needed.
|
||||
:::
|
||||
|
||||
Specify the preferred GPIO Pin for sensor readings. May not be needed if using I2C.
|
||||
|
||||
:::caution
|
||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
||||
:::
|
||||
|
||||
#### Set plugin sensor pin
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set plugin sensor pin"
|
||||
meshtastic --set environmental_measurement_plugin_sensor_pin PINNUMBER
|
||||
````
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### environmental_measurement_plugin_sensor_type
|
||||
|
||||
Specify the sensor type.
|
||||
|
||||
:::important
|
||||
The sensor values changed between 1.2 and 1.3. The docs represent the 1.3 values. When configuring devices on 1.2, please subtract 1 from the numbers below for the appropriate sensor.
|
||||
:::
|
||||
|
||||
| Value | Description | Sensor Features |
|
||||
| :---: | :---------------------: | :--------------------------------------: |
|
||||
| `1` | DHT11 | Temperature, Humidity |
|
||||
| `2` | DS18B20 (Dallas 1-wire) | Temperature |
|
||||
| `3` | DHT12 | Temperature, Humidity |
|
||||
| `4` | DHT21 | Temperature, Humidity |
|
||||
| `5` | DHT22 | Temperature, Humidity |
|
||||
| `6` | BME280 | Temperature, Humidity, Pressure |
|
||||
| `7` | BME680 | Temperature, Humidity, Pressure, VOC Gas |
|
||||
| `8` | MCP9808 | Precision Temperature |
|
||||
|
||||
#### Set sensor type
|
||||
|
||||
:::important
|
||||
The sensor values changed between 1.2 and 1.3. The docs represent the 1.3 values. When configuring devices on 1.2, please subtract 1 from the numbers on the table above for the appropriate sensor.
|
||||
:::
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
The CLI is able to take the `value` or the `name` of the sensor from the table above.
|
||||
:::
|
||||
|
||||
```shell title="Set sensor type to DS18B20"
|
||||
meshtastic --set environmental_measurement_plugin_sensor_type 2
|
||||
````
|
||||
|
||||
```shell title="Set sensor type to DS18B20"
|
||||
meshtastic --set environmental_measurement_plugin_sensor_type DS18B20
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
#### Set plugin update interval
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set plugin update interval to 120 seconds"
|
||||
meshtastic --set environmental_measurement_plugin_update_interval 120
|
||||
````
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
### Hardware
|
||||
|
||||
The sensors can be wired differently, here's [one example](https://randomnerdtutorials.com/esp32-ds18b20-temperature-arduino-ide) for sensor DS18B20.
|
||||
|
||||
### Known Problems
|
||||
|
||||
- No default configuration values are currently set, so this must be done when enabling the plugin.
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
id: community-atak
|
||||
title: ATAK module
|
||||
sidebar_label: 1.2 ATAK module
|
||||
---
|
||||
|
||||
:::note
|
||||
This is a community project maintained by @paulmandal.
|
||||
Development can be followed on [GitHub](https://github.com/paulmandal/atak-forwarder).
|
||||
Support should be sought from the respective authors.
|
||||
:::
|
||||
|
||||
This is a module for ATAK (Android Team Awareness Kit) that uses Meshtastic to provide off-grid communications. This includes plotting the position of others on the map, transmission of markers and routes, and chat messages. It has been signed by the TAK Product Center for use with the Play Store version of ATAK. He is currently distributing development builds via [Google Drive](https://drive.google.com/drive/folders/1xeKJnn9tmzkkmuDbMp0LCLOV9OzHU-Ex), aiming to publish it to the Play Store in the future.
|
||||
|
||||
![ATAK Module](/img/atak-animation.gif)
|
||||
|
||||
The builds of the module on the Google Drive are now signed for the Play Store version of ATAK, as of 6/3/2021.
|
||||
|
||||
The ATAK module requires the Meshtastic Android app to be installed.
|
||||
|
||||
- A walk-through on how to [set up ATAK](https://paul-mandal.medium.com/atak-for-hikers-d96d5246193e).
|
||||
- The module source is available on [GitHub](https://github.com/paulmandal/atak-forwarder), along with instructions for setting it up.
|
||||
- Development builds are available on [Google Drive](https://drive.google.com/drive/folders/1xeKJnn9tmzkkmuDbMp0LCLOV9OzHU-Ex).
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
id: community-go
|
||||
title: Go command line interface
|
||||
sidebar_label: 1.2 Go CLI
|
||||
---
|
||||
|
||||
:::note
|
||||
This is a community project maintained by @lmatte7.
|
||||
Development can be followed on [GitHub](https://github.com/lmatte7/meshtastic-go).
|
||||
Support should be sought from the respective authors.
|
||||
:::
|
||||
|
||||
This is a command line interface for Meshtastic devices that has been built using the Go programming language developed by Google. This allows for an executable file to be downloaded for your operating system and run without installing other pre-requisites. The only requirement is for the [CP210x USB to UART bridge drivers](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers) to be installed. A selection of executables for different operating systems are available, and further operating systems can be supported as required.
|
||||
|
||||
### Command syntax
|
||||
|
||||
A full list of commands can be viewed by running `--help`. Each command also has its own `--help` flag that provides more information on its subcommands and flags.
|
||||
|
||||
Every command requires the `--port` flag to be set to the port the radio is attached to. This can be set to a serial port (like `/dev/cu.SLAB_USBtoUART`) or an IP address depending on which communication method should be used to communicate with the radio. The CLI will automatically determine if TCP or serial communications should be used depending on what value is provided to `--port`.
|
||||
|
||||
```
|
||||
NAME:
|
||||
meshtastic-go - Interface with meshtastic radios
|
||||
|
||||
USAGE:
|
||||
meshtastic-go [global options] command [command options] [arguments...]
|
||||
|
||||
VERSION:
|
||||
v0.2
|
||||
|
||||
AUTHOR:
|
||||
Lucas Matte <lmatte7@gmail.com>
|
||||
|
||||
COMMANDS:
|
||||
info Show radio information
|
||||
message Interact with radio messaging functionality
|
||||
channel Update channel information
|
||||
prefs Update user preferences
|
||||
location Set location
|
||||
help, h Shows a list of commands or help for one command
|
||||
|
||||
GLOBAL OPTIONS:
|
||||
--port value, -p value specify a port
|
||||
--help, -h show help (default: false)
|
||||
--version, -v print the version (default: false)
|
||||
```
|
||||
|
||||
Further information is available on the project's GitHub [Readme.md](https://github.com/lmatte7/meshtastic-go/blob/main/README.md).
|
||||
The latest executables can be downloaded from [GitHub](https://github.com/lmatte7/meshtastic-go/releases/latest).
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
id: community-overview
|
||||
title: Community applications
|
||||
sidebar_label: Community apps
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
The Meshtastic ecosystem is highly extensible, and a number of community projects have been made to fit different people's needs. If you wish to create your own application or module, please read the information in the developers section, and tell us about your project on the forum.
|
||||
|
||||
Current community projects:
|
||||
|
||||
- [1.2 Meshtastic module for ATAK](/docs/1.2-End-of-life/software/community/community-atak) (Android Team Awareness Kit)
|
||||
- [1.2 PyGUI](/docs/1.2-End-of-life/software/community/community-pygui) - Platform independent graphical user interface for Meshtastic devices
|
||||
- [1.2 Go CLI](/docs/1.2-End-of-life/software/community/community-go) - A command line interface using Go that requires no pre-requisites to be installed
|
||||
|
||||
Support for these projects should be sought from their respective authors.
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
id: community-pygui
|
||||
title: PyGUI application
|
||||
sidebar_label: 1.2 PyGUI app
|
||||
---
|
||||
|
||||
:::note
|
||||
This is a community project maintained by @ZebusJesus.
|
||||
Development can be followed on [GitHub](https://github.com/ZebusJesus/Meshtastic-PyGUI).
|
||||
Support should be sought from the respective authors.
|
||||
:::
|
||||
|
||||
PyGUI is a platform independent graphical user interface for meshtastic devices. It allows the sending of messages, changing of a lot of settings, monitoring of packets, and uploading firmware.
|
||||
|
||||
![Python GUI](/img/pygui.jpg)
|
||||
|
||||
This can be installed using pip.
|
||||
|
||||
```powershell title="Windows"
|
||||
python -m pip install --upgrade meshtastic-pygui
|
||||
```
|
||||
|
||||
```shell title="macOS/Linux"
|
||||
pip3 install --upgrade meshtastic-pygui
|
||||
```
|
||||
|
||||
And launched using python.
|
||||
|
||||
```powershell title="Windows"
|
||||
python -m meshtastic_pygui
|
||||
```
|
||||
|
||||
```shell title="MacOS/Linux"
|
||||
python3 -m meshtastic_pygui
|
||||
```
|
||||
|
||||
The project can be found on [GitHub](https://github.com/ZebusJesus/Meshtastic-PyGUI).
|
|
@ -1,382 +0,0 @@
|
|||
---
|
||||
id: mqtt
|
||||
title: MQTT
|
||||
sidebar_label: 1.2 MQTT
|
||||
---
|
||||
|
||||
## MQTT
|
||||
|
||||
Meshtastic devices with wifi hardware (ESP32) are able to connect to an MQTT broker to uplink and downlink mesh packets. This is useful for a number of purposes:
|
||||
|
||||
- Connecting your mesh to the official Meshtastic MQTT broker. This makes your devices appear on the world map, and provides a limited copy of your mesh traffic, translated into JSON.
|
||||
- Using a custom MQTT broker to bridge several mesh networks together, via the internet (or just a local IP network)
|
||||
- Using a custom MQTT broker and a translator program to decode the raw protobuf packets and translate them into a plain text form for use in other systems. eg plotting temperature readings in Grafana, or device positions in Traccar.
|
||||
- Using or emitting packets directly in/from smart home control software such as Home Assistant or other consumers that can work with JSON messages.
|
||||
|
||||
When MQTT enabled, the Meshtastic device simply uplinks and/or downlinks every raw protobuf packet that it sees to the MQTT broker. In addition, some packet types are serialized or deserialized from/to JSON messages for easier use in consumers. All packets are sent to the broker, whether they originate from another device on the mesh, or the gateway node itself.
|
||||
|
||||
Packets may be encrypted. If you use the default meshtastic MQTT server, packets are always encrypted. If you use a custom MQTT broker (ie set `mqtt_server`), the `mqtt_encryption_enabled` setting applies, which by default is false.
|
||||
|
||||
IMPORTANT: When MQTT is turned on, you are potentially broadcasting your entire mesh traffic onto the public internet. This includes messages and position information.
|
||||
|
||||
### MQTT Topics
|
||||
|
||||
The device will uplink and downlink raw ([protobuf](https://developers.google.com/protocol-buffers)) packets to the `msh/` prefix:
|
||||
|
||||
`msh/1/c/ShortFast/!12345678` where
|
||||
|
||||
- `!12345678` is the address of the gateway device.
|
||||
- `ShortFast` is the channel name.
|
||||
|
||||
The payload is a raw protobuf. Looking at the MQTT traffic with a program like `mosquitto_sub` will tell you it's working, but you won't get much useful information out of it. For example:
|
||||
|
||||
```
|
||||
苓????"!
|
||||
!937bed1cTanksTnk"D???05??=???aP`
|
||||
ShortFast !937bed1c
|
||||
```
|
||||
|
||||
Packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON and then forwarded to the `msh/1/json/CHANNELID/DEVICEID` topic: `TEXT_MESSAGE_APP`, `ENVIRONMENTAL_MEASUREMENT_APP`, `NODEINFO_APP` and `POSITION_APP`.
|
||||
|
||||
An example of a received `NODEINFO_APP` message:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 452664778,
|
||||
"channel": 0,
|
||||
"from": 2130636288,
|
||||
"payload": {
|
||||
"hardware": 10,
|
||||
"id": "!7efeee00",
|
||||
"longname": "base0",
|
||||
"shortname": "BA0"
|
||||
},
|
||||
"sender": "!7efeee00",
|
||||
"timestamp": 1646832724,
|
||||
"to": -1,
|
||||
"type": "nodeinfo"
|
||||
}
|
||||
```
|
||||
|
||||
If the message received contains valid JSON in the payload, the JSON is deserialized and added as a JSON object rather than a string containing the serialized JSON.
|
||||
|
||||
**Sent messages** will be checked if the MQTT payload contains a valid JSON-encoded envelope:
|
||||
|
||||
```json
|
||||
{
|
||||
"sender": "SENDER",
|
||||
"payload": {
|
||||
"key":"value"
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`sender` and `payload` fields are required for a valid envelope. If a valid MQTT message is found, the message is sent over the radio as a message of type `TEXT_MESSAGE_APP` with the serialized `payload` value in the message payload.
|
||||
|
||||
### Basic Configuration
|
||||
|
||||
Check out [MQTT Settings](/docs/settings/moduleconfig/mqtt) for full information. For quick start instructions, read on.
|
||||
|
||||
- Connect your gateway node to wifi, by setting the `wifi_ssid` and `wifi_password` preferences.
|
||||
- Configure your broker settings: `mqtt_server`, `mqtt_username`, and `mqtt_password`. If all are left blank, the device will connect to the Meshtastic broker.
|
||||
- Set `uplink_enabled` and `downlink_enabled` as appropriate for each channel. Most users will just have a single channel (at channel index 0). `meshtastic --ch-index 0 --ch-set uplink_enabled true`
|
||||
|
||||
`uplink_enabled` will tell the device to publish mesh packets to MQTT.
|
||||
`downlink_enabled` will tell the device to subscribe to MQTT, and forward any packets from there onto the mesh.
|
||||
|
||||
### Getting plain data out of the mesh
|
||||
|
||||
As of firmware 1.2.53, it is possible for the device to decrypt the protobufs before publishing to MQTT. To translate this into a plain format:
|
||||
|
||||
- Set up a gateway node to uplink packets to your MQTT broker:
|
||||
- `meshtastic --set wifi_ssid XXXX`
|
||||
- `meshtastic --set wifi_password XXXX`
|
||||
- `meshtastic --set mqtt_server 192.168.1.1`
|
||||
- `meshtastic --set mqtt_username XXXX`
|
||||
- `meshtastic --set mqtt_password XXXX`
|
||||
- `meshtastic --set mqtt_encryption_enabled false`
|
||||
- `meshtastic --ch-index 0 --ch-set uplink_enabled true`
|
||||
- Grab the meshtastic-mqtt script from [here](https://github.com/joshpirihi/meshtastic-mqtt)
|
||||
- `git clone https://github.com/joshpirihi/meshtastic-mqtt && cd meshtastic-mqtt`
|
||||
- Edit `meshtastic_mqtt/meshtastic_mqtt.py` and enter your mqtt broker details
|
||||
- Install the script with `pip install .`
|
||||
- Run `meshtastic-mqtt`. It will print some debug output by default, and publish the plain values to the `meshtastic/` prefix.
|
||||
- View the plain data with `mosquitto_sub -h YOUR_MQTT_SERVER -t meshtastic/# -v`
|
||||
- You can then consume the data easily in other systems. For example, nodered->influx db->grafana.
|
||||
|
||||
#Original brainstorming for MQTT:
|
||||
|
||||
## Abstract
|
||||
|
||||
:::note
|
||||
|
||||
This is a mini-doc/RFC sketching out a development plan to satisfy a number of 1.1 goals.
|
||||
|
||||
:::
|
||||
|
||||
- [MQTT](https://opensource.com/article/18/6/mqtt) internet accessible API. Issue #[369](https://github.com/meshtastic/firmware/issues/169)
|
||||
- An open API to easily run custom mini-apps on the devices
|
||||
- A text messaging bridge when a node in the mesh can gateway to the internet. Issue #[353](https://github.com/meshtastic/firmware/issues/353) and this nicely documented [android issue](https://github.com/meshtastic/Meshtastic-Android/issues/2).
|
||||
- An easy way to let desktop app developers remotely control GPIOs. Issue #[182](https://github.com/meshtastic/firmware/issues/182)
|
||||
- Remote attribute access (to change settings of distant nodes). Issue #182
|
||||
|
||||
## Short term goals
|
||||
|
||||
- We want a clean API for novice developers to write mini "apps" that run **on the device** with the existing messaging/location "apps".
|
||||
- We want the ability to have a gateway web service, so that if any node in the mesh can connect to the internet (via its connected phone app or directly) then that node will provide bidirectional messaging between nodes and the internet.
|
||||
- We want an easy way for novice developers to remotely read and control GPIOs (because this is an often requested use case), without those developers having to write any device code.
|
||||
- We want a way to gateway text messaging between our current private meshes and the broader internet (when that mesh is able to connect to the internet)
|
||||
- We want a way to remotely set any device/channel parameter on a node. This is particularly important for administering physically inaccessible router nodes. Ideally this mechanism would also be used for administering the local node (so one common mechanism for both cases).
|
||||
- This work should be independent of our current (semi-custom) LoRa transport, so that in the future we can swap out that transport if we wish (to QMesh or Reticulum?)
|
||||
- Our networks are (usually) very slow and low bandwidth, so the messaging must be very airtime efficient.
|
||||
|
||||
## Long term goals
|
||||
|
||||
- Store and forward messaging should be supported, so apps can send messages that might be delivered to their destination in **hours** or **days** if a node/mesh was partitioned.
|
||||
|
||||
## Multiple Channel support / Security
|
||||
|
||||
Mini-apps API can bind to particular channels. They will only see messages sent on that channel.
|
||||
|
||||
During the 1.0 timeframe only one channel was supported per node. Starting in the 1.1 tree we will do things like "remote admin operations / channel settings etc..." are on the "Control" channel and only especially trusted users should have the keys to access that channel.
|
||||
|
||||
FIXME - explain this more, talk about how useful for users and security domains.
|
||||
|
||||
- add channels as security
|
||||
|
||||
## On device API
|
||||
|
||||
For information on the related on-device API see [here](/docs/developers/protobufs/api).
|
||||
|
||||
## MQTT transport
|
||||
|
||||
Any gateway-device will contact the MQTT broker.
|
||||
|
||||
### Topics
|
||||
|
||||
The "mesh/crypt/CHANNELID/NODEID/PORTID" [topic](https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices) will be used for messages sent from/to a mesh.
|
||||
|
||||
Gateway nodes will forward any MeshPacket from a local mesh channel with uplink_enabled. The packet (encapsulated in a ServiceEnvelope) will remain encrypted with the key for the specified channel.
|
||||
|
||||
For any channels in the local node with downlink_enabled, the gateway node will forward packets from MQTT to the local mesh. It will do this by subscribing to mesh/crypt/CHANNELID/# and forwarding relevant packets.
|
||||
|
||||
If the channelid 'well known'/public it could be decrypted by a web service (if the web service was provided with the associated channel key), in which case it will be decrypted by a web service and appear at "mesh/clear/CHANNELID/NODEID/PORTID". Note: This is not in the initial deliverable.
|
||||
|
||||
FIXME, discuss how text message global mirroring could scale (or not)
|
||||
FIXME, possibly don't global mirror text messages - instead rely on matrix/riot?
|
||||
FIXME, discuss possible attacks by griefers and how they can be prevented
|
||||
|
||||
#### Service Envelope
|
||||
|
||||
The payload published on mesh/... will always be wrapped in a [ServiceEnvelope protobuf](/docs/developers/protobufs/api#serviceenvelope).
|
||||
|
||||
ServiceEnvelope will include the message, and full information about arrival time, who forwarded it, source channel, source mesh id, etc...
|
||||
|
||||
#### NODEID
|
||||
|
||||
The unique ID for a node. A hex string that starts with an ! symbol.
|
||||
|
||||
#### USERID
|
||||
|
||||
A user ID string. This string is either a user ID if known or a nodeid to simply deliver the message to whoever the local user is of a particular device (i.e. person who might see the screen). FIXME, see what riot.im uses and perhaps use that convention? Or use the signal +phone number convention? Or the email addr?
|
||||
|
||||
#### CHANNELID
|
||||
|
||||
FIXME, figure out how channelids work
|
||||
|
||||
### Gateway nodes
|
||||
|
||||
Any meshtastic node that has a direct connection to the internet (either via a helper app or installed Wifi/4G/satellite hardware) can function as a "Gateway node".
|
||||
|
||||
Gateway nodes (via code running in the phone) will contain two tables to whitelist particular traffic to either be delivered toward the internet, or down toward the mesh. Users that are developing custom apps will be able to customize these filters/subscriptions.
|
||||
|
||||
Since multiple gateway nodes might be connected to a single mesh, it is possible that duplicate messages will be published on any particular topic. Therefore, subscribers to these topics should
|
||||
deduplicate if needed by using the packet ID of each message.
|
||||
|
||||
### Optional web services
|
||||
|
||||
#### Public MQTT broker service
|
||||
|
||||
An existing public [MQTT broker](https://mosquitto.org) will be the default for this service, but clients can use any MQTT broker they choose.
|
||||
|
||||
FIXME - figure out how to avoid impersonation (because we are initially using a public MQTT server with no special security options). FIXME, include some ideas on this in the ServiceEnvelope documentation.
|
||||
|
||||
#### Riot.im messaging bridge
|
||||
|
||||
@Geeksville will run a riot.im bridge that talks to the public MQTT broker and sends/receives into the riot.im network.
|
||||
|
||||
There is apparently [already](https://github.com/derEisele/tuple) a riot.im [bridge](https://matrix.org/bridges) for MQTT. That will possibly need to be customized a bit. But by doing this, we should be able to let random riot.im users send/receive messages to/from any meshtastic device. (FIXME ponder security). See this [issue](https://github.com/meshtastic/Meshtastic-Android/issues/2#issuecomment-645660990) with discussion with the dev.
|
||||
|
||||
### Deprecated concepts
|
||||
|
||||
:::caution
|
||||
|
||||
All of the following concepts have been deprecated
|
||||
|
||||
:::
|
||||
|
||||
You can ignore these for now...
|
||||
|
||||
#### MESHID (deprecated)
|
||||
|
||||
Earlier drafts of this document included the concept of a MESHID. That concept has been removed for now, but might be useful in the future. The old idea is listed below:
|
||||
|
||||
A unique ID for this mesh. There will be some sort of key exchange process so that the mesh ID can not be impersonated by other meshes.
|
||||
|
||||
#### DESTCLASS (deprecated)
|
||||
|
||||
Earlier drafts of this document included the concept of a DESTCLASS. That concept has been removed for now, but might be useful in the future. The old idea is listed below:
|
||||
|
||||
The type of DESTID this message should be delivered to. A short one letter sequence:
|
||||
|
||||
| Symbol | Description |
|
||||
| ------ | ------------------------------------------------------------- |
|
||||
| R | riot.im |
|
||||
| L | local mesh node ID or ^all |
|
||||
| A | an application specific message, ID will be an APP ID |
|
||||
| S | SMS gateway, DESTID is a phone number to reach via Twilio.com |
|
||||
| E | Emergency message, see bug #FIXME for more context |
|
||||
|
||||
#### DESTID (deprecated)
|
||||
|
||||
Earlier drafts of this document included the concept of a DESTCLASS. That concept has been removed for now, but might be useful in the future. The old idea is listed below:
|
||||
|
||||
Can be...
|
||||
|
||||
- an internet username: kevinh@geeksville.com
|
||||
- ^ALL for anyone
|
||||
- An app ID (to allow apps out on the web to receive arbitrary binary data from nodes or simply other apps using meshtastic as a transport). They would connect to the MQTT broker and subscribe to their topic
|
||||
|
||||
## Rejected idea: RAW UDP
|
||||
|
||||
:::warning
|
||||
|
||||
This idea has been rejected
|
||||
|
||||
:::
|
||||
|
||||
A number of commenters have requested/proposed using UDP for the transport. We've considered this option and decided to use MQTT instead for the following reasons:
|
||||
|
||||
- Most UDP uses cases would need to have a server anyways so that nodes can reach each other from anywhere (i.e. if most gateways will be behind some form of NAT which would need to be tunneled)
|
||||
- Raw UDP is dropped **very** aggressively by many cellular providers. MQTT from the gateway to a broker can be done over a TCP connection for this reason.
|
||||
- MQTT provides a nice/documented/standard security model to build upon
|
||||
- MQTT is fairly wire efficient with multiple broker implementations/providers and numerous client libraries for any language. The actual implementation of MQTT is quite simple.
|
||||
|
||||
## Development plan
|
||||
|
||||
Given the previous problem/goals statement, here's the initial thoughts on the work items required. As this idea becomes a bit more fully baked we should add details
|
||||
on how this will be implemented and guesses at approximate work items.
|
||||
|
||||
### Work items
|
||||
|
||||
- Change nodeIDs to be base64 instead of eight hex digits.
|
||||
- DONE Refactor the position features into a position "mini-app". Use only the new public on-device API to implement this app.
|
||||
- DONE Refactor the on device texting features into a messaging "mini-app". (Similar to the position mini-app)
|
||||
- Add new multi channel concept
|
||||
- Send new channels to python client
|
||||
- Let python client add channels
|
||||
- Add portion of channelid to the raw LoRa packet header
|
||||
- Confirm that we can now forward encrypted packets without decrypting at each node
|
||||
- Use a channel named "remotehw" to secure the GPIO service. If that channel is not found, don't even start the service. Document this as the standard method for securing services.
|
||||
- Add first cut of the "gateway node" code (i.e. MQTT broker client) to the python API (very little code needed for this component)
|
||||
- Confirm that texting works to/from the internet
|
||||
- Confirm that positions are optionally sent to the internet
|
||||
- Add the first cut of the "gateway node" code to the android app (very little code needed for this component)
|
||||
|
||||
### Enhancements in following releases
|
||||
|
||||
The initial gateway will be added to the python tool. But the gateway implementation is designed to be fairly trivial/dumb. After the initial release, the actual gateway code can be ported to also run inside the android app. In fact, we could have ESP32 based nodes include a built-in "gateway node" implementation.
|
||||
|
||||
Store and forward could be added so that nodes on the mesh could deliver messages (i.e. text messages) on an "as possible" basis. This would allow things like "hiker sends a message to friend - mesh can not currently reach friend - eventually (days later) mesh can somehow reach friend, message gets delivered"
|
||||
|
||||
### Mini tutorial on how to get up and running with mosquitto on a mac
|
||||
|
||||
1. install mqtt server
|
||||
|
||||
```
|
||||
brew install mosquitto
|
||||
```
|
||||
|
||||
2. start the mqtt server
|
||||
|
||||
```
|
||||
brew services restart mosquitto
|
||||
```
|
||||
|
||||
3. Do a quick test of server, start a subscriber on a topic:
|
||||
|
||||
Note: this will wait until you press control-c (publish a message, see below)
|
||||
|
||||
```
|
||||
mosquitto_sub -t test/hello
|
||||
```
|
||||
|
||||
4. In another window, publish a message to that topic:
|
||||
|
||||
```
|
||||
mosquitto_pub -h localhost -q 0 -t test/hello -m 'yo!'
|
||||
```
|
||||
|
||||
5. For Meshtastic to be able to access that server, two settings need to be changed in the
|
||||
`/usr/local/etc/mosquitto/mosquitto.conf` file:
|
||||
|
||||
```
|
||||
listener 1883 0.0.0.0
|
||||
allow_anonymous true
|
||||
```
|
||||
|
||||
6. Restart the service:
|
||||
|
||||
```
|
||||
brew services restart mosquitto
|
||||
```
|
||||
|
||||
7. If you are using the mac firewall, you will need to go into: System Preferences > Security & Privacy > Firewall > Firewall Options and add it.
|
||||
|
||||
### Sending/receiving messages on mosquitto server using python
|
||||
|
||||
Here is an example publish message in python:
|
||||
|
||||
```
|
||||
#!/usr/bin/env python3
|
||||
import paho.mqtt.client as mqtt
|
||||
from random import randrange, uniform
|
||||
import time
|
||||
|
||||
client = mqtt.Client("some_client_id")
|
||||
client.connect('localhost')
|
||||
|
||||
while True:
|
||||
randNumber = uniform(20.0, 21.0)
|
||||
client.publish("env/test/TEMPERATURE", randNumber)
|
||||
print("Just published " + str(randNumber) + " to topic TEMPERATURE")
|
||||
time.sleep(1)
|
||||
```
|
||||
|
||||
Here is example subscribe in python:
|
||||
|
||||
```
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import paho.mqtt.client as paho
|
||||
|
||||
def on_message(mosq, obj, msg):
|
||||
print("%-20s %d %s" % (msg.topic, msg.qos, msg.payload))
|
||||
mosq.publish('pong', 'ack', 0)
|
||||
|
||||
def on_publish(mosq, obj, mid):
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
client = paho.Client()
|
||||
client.on_message = on_message
|
||||
client.on_publish = on_publish
|
||||
|
||||
client.connect("localhost", 1883, 60)
|
||||
|
||||
client.subscribe("env/test/TEMPERATURE", 0)
|
||||
|
||||
while client.loop() == 0:
|
||||
pass
|
||||
```
|
|
@ -1,387 +0,0 @@
|
|||
---
|
||||
id: wifi
|
||||
title: 1.2 WiFi Settings
|
||||
sidebar_label: 1.2 WiFi
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::info
|
||||
Enabling WiFi will disable bluetooth. Only one method will work at a time.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
The ESP32 based devices have the ability to connect to WiFi as a client and also are able to create a software based access point (SoftAP). WiFi can be configured in either mode with the settings below. You can [force the device to boot into SoftAP mode](#software-access-point) by rebooting the device with the program switch depressed. If forced into AP mode, it will revert to previous settings after a reboot.
|
||||
|
||||
:::note
|
||||
The device can be either a WiFi client or a software access point. It **cannot** operate as both at the same time.
|
||||
:::
|
||||
|
||||
:::tip
|
||||
The first time your device restarts after enabling the WiFi access point, it will take an additional 20-30 seconds to boot. This is to generate self-signed SSL keys. The keys will be saved for future reuse.
|
||||
:::
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------: | :---------------: | :-----: |
|
||||
| wifi_ap_mode | `true`, `false` | `false` |
|
||||
| wifi_password | string | `""` |
|
||||
| wifi_ssid | string | `""` |
|
||||
|
||||
:::note
|
||||
`wifi_ssid` & `wifi_password` are both **case sensitive** values.
|
||||
:::
|
||||
|
||||
### wifi_ap_mode
|
||||
|
||||
A boolean value that toggles the [Software Access Point](#software-access-point)
|
||||
|
||||
#### Enable/Disable Software Access Point
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enable SoftAP"
|
||||
meshtastic --set wifi_ap_mode true
|
||||
```
|
||||
|
||||
```shell title="Disable SoftAP"
|
||||
meshtastic --set wifi_ap_mode false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### wifi_password
|
||||
|
||||
In [SoftAP](#software-access-point) mode, this is the password to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks password. This string is case sensitive.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set WiFi password"
|
||||
meshtastic --set wifi_password mypassword
|
||||
```
|
||||
|
||||
```shell title="Set WiFi password (with spaces)"
|
||||
meshtastic --set wifi_password "my password"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### wifi_ssid
|
||||
|
||||
In [SoftAP](#software-access-point) mode, this is the SSID broadcast to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks SSID. This string is case sensitive.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Set WiFi network"
|
||||
meshtastic --set wifi_ssid mynetwork
|
||||
```
|
||||
|
||||
```shell title="Set WiFi network (with spaces)"
|
||||
meshtastic --set wifi_ssid "my network"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
### Software Access Point
|
||||
|
||||
With the SoftAP enabled, a DNS server will run on the device. The DNS server will respond to all DNS requests with the IP address of your device. This will simplify device discovery because you will not have to remember the device's IP – any unencrypted HTTP request will direct you to the right location.
|
||||
|
||||
If you set your SoftAP up using a client like the CLI and have a screen attached to your device, the final page will display something similar to the following:
|
||||
|
||||
```
|
||||
WiFi: Software AP
|
||||
IP: 192.168.42.1 (0/4)
|
||||
SSID: myNetwork / PWD: myPassword (alternating)
|
||||
http://meshtastic.local
|
||||
* * * * *
|
||||
```
|
||||
|
||||
You should then be able to connect to the node using either the displayed IP address or the HTTP link.
|
||||
|
||||
#### Force SoftAP
|
||||
|
||||
You can also enable the SoftAP by following these directions:
|
||||
|
||||
- Hold down the user button
|
||||
- Press and release the reset button
|
||||
- Count to two
|
||||
- Let go of the user button
|
||||
|
||||
This will reboot the device with the SSID set to `meshtasticAdmin` and the password set to `12345678`. Using the Force SoftAP method, once you reboot, the SoftAP will be turned off.
|
||||
|
||||
If you have a screen attached to your device, the final page will display something similar to the following:
|
||||
|
||||
```
|
||||
WiFi: Software AP (Admin)
|
||||
IP: 192.168.42.1 (0/4)
|
||||
SSID: meshtasticAdmin / PWD: 12345678 (alternating)
|
||||
http://meshtastic.local
|
||||
* * * * *
|
||||
```
|
||||
|
||||
You should then be able to connect to the node using either the displayed IP address or the HTTP link.
|
||||
|
||||
### WiFi Client
|
||||
|
||||
With `wifi_ssid` & `wifi_password` populated, the device will now to connect to your network. Make sure you are in range of your WiFi. If you have a single device on your local network it's easy to connect to your device `http://meshtastic.local`. If you have multiple devices you will need to connect using their respective IP addresses.
|
||||
|
||||
If you have a screen attached to your device, the final page will display something similar to the following:
|
||||
|
||||
```
|
||||
WiFi: Software AP (Admin)
|
||||
IP: 192.168.42.1 (0/4)
|
||||
SSID: myNetwork
|
||||
http://meshtastic.local
|
||||
* * * * *
|
||||
```
|
||||
|
||||
You should then be able to connect to the node using either the displayed IP address or the HTTP link.
|
||||
|
||||
### Disable WiFi
|
||||
|
||||
To disable WiFi completely, set `wifi_ap_mode` to `false`, and both `wifi_ssid` & `wifi_password` to an empty string `""`.
|
||||
|
||||
## Examples
|
||||
|
||||
### Enable WiFi (as client)
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Enabling WiFi Client"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
|
||||
:::note
|
||||
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
|
||||
|
||||
```shell title="Example with spaces"
|
||||
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
In the above example, the device will join a network with the SSID `mywifissid` and the password `mywifipassword`.
|
||||
|
||||
### Enable WiFi (as SoftAP)
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Software Access Point Example"
|
||||
meshtastic --set wifi_ap_mode true --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
|
||||
:::note
|
||||
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
|
||||
|
||||
```shell title="Example with spaces"
|
||||
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
In the above example, the device will broadcast a network with the SSID `mywifissid` and the password `mywifipassword`.
|
||||
|
||||
### Disable WiFi Completely
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```shell title="Example - Disabling WiFi"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid "" --set wifi_password ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
Loading…
Reference in a new issue