mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-27 14:39:54 -08:00
Merge branch 'master' into android-channels
This commit is contained in:
commit
a1e6fc4a43
|
@ -10,6 +10,8 @@ sidebar_position: 2
|
||||||
|
|
||||||
The routing protocol for Meshtastic is really quite simple (and sub-optimal). If you want to test its theoretical performance, you can have a look at the [simulator](https://github.com/GUVWAF/Meshtasticator). The protocol is heavily influenced by the mesh routing algorithm used in [RadioHead](https://www.airspayce.com/mikem/arduino/RadioHead) (which was used in very early versions of this project). It has four conceptual layers.
|
The routing protocol for Meshtastic is really quite simple (and sub-optimal). If you want to test its theoretical performance, you can have a look at the [simulator](https://github.com/GUVWAF/Meshtasticator). The protocol is heavily influenced by the mesh routing algorithm used in [RadioHead](https://www.airspayce.com/mikem/arduino/RadioHead) (which was used in very early versions of this project). It has four conceptual layers.
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/7v6UbC5blJU?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
### A Note About Protocol Buffers
|
### A Note About Protocol Buffers
|
||||||
|
|
||||||
Because we want our devices to work across various vendors and implementations, we use [Protocol Buffers](https://github.com/meshtastic/protobufs) pervasively. For purposes of this document you mostly only
|
Because we want our devices to work across various vendors and implementations, we use [Protocol Buffers](https://github.com/meshtastic/protobufs) pervasively. For purposes of this document you mostly only
|
||||||
|
|
|
@ -14,6 +14,8 @@ This is a simple interface to send messages over the mesh network by sending str
|
||||||
|
|
||||||
![image](https://user-images.githubusercontent.com/9000580/205529843-962c3187-8411-452c-b729-42c58b1571f5.png)
|
![image](https://user-images.githubusercontent.com/9000580/205529843-962c3187-8411-452c-b729-42c58b1571f5.png)
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/HdOiGKBtapw?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
## Serial Module Config Values
|
## Serial Module Config Values
|
||||||
|
|
||||||
### Enabled
|
### Enabled
|
||||||
|
|
|
@ -24,247 +24,6 @@ The Store & Forward Module is an implementation of a Store and Forward system to
|
||||||
|
|
||||||
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 (EU_868 and EU_433) nor is it advised to use this for presets using SF11 or SF12 (e.g. all of the LongRange and VeryLongRange presets).
|
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 (EU_868 and EU_433) nor is it advised to use this for presets using SF11 or SF12 (e.g. all of the LongRange and VeryLongRange presets).
|
||||||
|
|
||||||
## Settings
|
|
||||||
|
|
||||||
| Setting | Acceptable Values | Default |
|
|
||||||
| :---------------------------------: | :---------------: | :-----: |
|
|
||||||
| store_forward.enabled | `true`, `false` | `false` |
|
|
||||||
| store_forward.heartbeat | `true`, `false` | `false` |
|
|
||||||
| store_forward.history_return_max | `integer` | `0` |
|
|
||||||
| store_forward.history_return_window | `integer` | `0` |
|
|
||||||
| store_forward.records | `integer` | `0` |
|
|
||||||
|
|
||||||
### Enabled
|
|
||||||
|
|
||||||
Enables the 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">
|
|
||||||
|
|
||||||
```shell title="Enable the module"
|
|
||||||
meshtastic --set store_forward.enabled true
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Disable the module"
|
|
||||||
meshtastic --set store_forward.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>
|
|
||||||
|
|
||||||
### 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.heartbeat to default"
|
|
||||||
meshtastic --set store_forward.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>
|
|
||||||
|
|
||||||
### 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.history_return_max to default"
|
|
||||||
meshtastic --set store_forward.history_return_max 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward.history_return_max to 100 messages"
|
|
||||||
meshtastic --set store_forward.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>
|
|
||||||
|
|
||||||
### 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.history_return_window to default"
|
|
||||||
meshtastic --set store_forward.history_return_window 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward.history_return_window to 1 day (1440 minutes)"
|
|
||||||
meshtastic --set store_forward.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>
|
|
||||||
|
|
||||||
### Records
|
|
||||||
|
|
||||||
Set this to the maximum number of records to save. Best to leave this at the default (`0`) where the module 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.records to default (≈11,000 records)"
|
|
||||||
meshtastic --set store_forward.records 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward.records to 100 records"
|
|
||||||
meshtastic --set store_forward.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
|
## Details
|
||||||
|
|
||||||
### How it works
|
### How it works
|
||||||
|
@ -325,3 +84,123 @@ Available Commands:
|
||||||
| SF | Send the last hour worth of messages I may have missed |
|
| SF | Send the last hour worth of messages I may have missed |
|
||||||
|
|
||||||
The Store and Forward module 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.
|
The Store and Forward module 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.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
### Enabled
|
||||||
|
|
||||||
|
Enables the module.
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
### History Return Max
|
||||||
|
|
||||||
|
Sets the maximum number of messages to return to a client device.
|
||||||
|
|
||||||
|
### History Return Window
|
||||||
|
|
||||||
|
Limits the time period (in minutes) a client device can request.
|
||||||
|
|
||||||
|
### Records
|
||||||
|
|
||||||
|
Set this to the maximum number of records to save. Best to leave this at the default (`0`) where the module will use 2/3 of your device's available PSRAM. This is about 11,000 records.
|
||||||
|
|
||||||
|
### Client Config
|
||||||
|
|
||||||
|
<Tabs
|
||||||
|
groupId="settings"
|
||||||
|
defaultValue="cli"
|
||||||
|
values={[
|
||||||
|
{label: 'Android', value: 'android'},
|
||||||
|
{label: 'Apple', value: 'apple'},
|
||||||
|
{label: 'CLI', value: 'cli'},
|
||||||
|
{label: 'Web', value: 'web'},
|
||||||
|
]}>
|
||||||
|
|
||||||
|
<TabItem value="android">
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Store and Forward Config options are available for Android.
|
||||||
|
|
||||||
|
1. Open the Meshtastic App
|
||||||
|
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Store & Forward**
|
||||||
|
:::
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="apple">
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Store and Forward configuration is not currently available via the Apple clients.
|
||||||
|
:::
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem value="cli">
|
||||||
|
|
||||||
|
| Setting | Acceptable Values | Default |
|
||||||
|
| :---------------------------------: | :---------------: | :-----: |
|
||||||
|
| store_forward.enabled | `true`, `false` | `false` |
|
||||||
|
| store_forward.heartbeat | `true`, `false` | `false` |
|
||||||
|
| store_forward.history_return_max | `integer` | `0` |
|
||||||
|
| store_forward.history_return_window | `integer` | `0` |
|
||||||
|
| store_forward.records | `integer` | `0` |
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
|
||||||
|
|
||||||
|
```shell title="Example:"
|
||||||
|
meshtastic --set store_forward.enabled true --set store_forward.history_return_max 0
|
||||||
|
```
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Examples of CLI Usage
|
||||||
|
|
||||||
|
```shell title="Enable the module"
|
||||||
|
meshtastic --set store_forward.enabled true
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Disable the module"
|
||||||
|
meshtastic --set store_forward.enabled false
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set store_forward.heartbeat to default"
|
||||||
|
meshtastic --set store_forward.heartbeat 0
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```shell title="Set store_forward.history_return_max to default"
|
||||||
|
meshtastic --set store_forward.history_return_max 0
|
||||||
|
```
|
||||||
|
```shell title="Set store_forward.history_return_max to 100 messages"
|
||||||
|
meshtastic --set store_forward.history_return_max 100
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set store_forward.history_return_window to default"
|
||||||
|
meshtastic --set store_forward.history_return_window 0
|
||||||
|
```
|
||||||
|
```shell title="Set store_forward.history_return_window to 1 day (1440 minutes)"
|
||||||
|
meshtastic --set store_forward.history_return_window 1440
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set store_forward.records to default (≈11,000 records)"
|
||||||
|
meshtastic --set store_forward.records 0
|
||||||
|
```
|
||||||
|
```shell title="Set store_forward.records to 100 records"
|
||||||
|
meshtastic --set store_forward.records 100
|
||||||
|
```
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
|
||||||
|
<TabItem value="web">
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Store and Forward configuration is not currently available via the web client.
|
||||||
|
:::
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
|
|
|
@ -12,6 +12,8 @@ The Telemetry Module provides three types of data over the mesh: Device metrics
|
||||||
|
|
||||||
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry and Air Quality must be enabled for them to be instrumented and their readings sent over the mesh.
|
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry and Air Quality must be enabled for them to be instrumented and their readings sent over the mesh.
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/6jj1s-fsPlc?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
### Currently Supported Sensor Types
|
### Currently Supported Sensor Types
|
||||||
|
|
||||||
| Sensor | I<sup>2</sup>C Address | Data Points |
|
| Sensor | I<sup>2</sup>C Address | Data Points |
|
||||||
|
|
|
@ -14,6 +14,8 @@ Only nodes that know the encryption key of the channel you use can be tracked. A
|
||||||
|
|
||||||
In order to use it, make sure your devices use firmware version 2.0.8 or higher.
|
In order to use it, make sure your devices use firmware version 2.0.8 or higher.
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/PKUmaELKaUo?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
## Traceroute Module Client Availability
|
## Traceroute Module Client Availability
|
||||||
|
|
||||||
<Tabs
|
<Tabs
|
||||||
|
|
|
@ -20,6 +20,8 @@ The antenna's design will affect:
|
||||||
While the LoRa devices we use for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an antenna or with a poorly matched antenna. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
While the LoRa devices we use for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an antenna or with a poorly matched antenna. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/V3f-Y3EfsBU?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
## Important considerations
|
## Important considerations
|
||||||
|
|
||||||
### What transmission frequency are you using?
|
### What transmission frequency are you using?
|
||||||
|
|
BIN
docs/software/integrations/app.png
Normal file
BIN
docs/software/integrations/app.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
|
@ -7,7 +7,11 @@ sidebar_position: 1
|
||||||
|
|
||||||
## CalTopo / SARTopo
|
## CalTopo / SARTopo
|
||||||
|
|
||||||
Meshtastic can integrate with [CalTopo](https://caltopo.com/) Desktop edition quite easily through the product's APRS over serial support.
|
Meshtastic can integrate with [CalTopo](https://caltopo.com/) Desktop edition quite easily through the product's APRS over serial support functionality.
|
||||||
|
|
||||||
|
<object data="https://www.youtube.com/embed/z_51FAPPl34
|
||||||
|
?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||||
|
|
||||||
|
|
||||||
### Configuring the Meshtastic device
|
### Configuring the Meshtastic device
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 308 KiB After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
Before Width: | Height: | Size: 533 KiB After Width: | Height: | Size: 2.1 MiB |
Loading…
Reference in a new issue