Fix build & use absolute paths across the board

This commit is contained in:
Sacha Weatherstone 2022-01-02 18:03:24 +11:00
parent 187e3cc9aa
commit 8ab2403549
7 changed files with 82 additions and 75 deletions

View file

@ -55,9 +55,9 @@ values={[
Firmware can be downloaded from the [Firmware](/firmware) page. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over Bluetooth from your phone.
:::note
The [T-Beam 0.7](../hardware/supported/tbeam#t-beam---v07) board is an earlier version of the T-Beam board, and due to changes in the design in subsequent iterations this board uses a specific firmware file different from the other T-Beam boards.
The [T-Beam 0.7](/hardware/supported/tbeam#t-beam---v07) board is an earlier version of the T-Beam board, and due to changes in the design in subsequent iterations this board uses a specific firmware file different from the other T-Beam boards.
`firmware-tbeam0.7-1.x.x.bin` is the correct firmware. `firmware-tbeam-1.x.x.bin` is incompatible. For all other [T-Beam](../hardware/supported/tbeam) boards `firmware-tbeam-1.x.x.bin` is the correct selection.
`firmware-tbeam0.7-1.x.x.bin` is the correct firmware. `firmware-tbeam-1.x.x.bin` is incompatible. For all other [T-Beam](/hardware/supported/tbeam) boards `firmware-tbeam-1.x.x.bin` is the correct selection.
:::
## Command Line Interface Instructions

View file

@ -15,7 +15,7 @@ Meshtastic uses LoRa for the long range communications and depending on settings
## Purchase a Radio
The easiest way is to [buy a device with the software already installed](https://www.aliexpress.com/item/4001178678568.html). Other devices are [available](/docs/hardware/supported/tbeam-hardware). In the Americas get the 915MHz version, in Europe the 868MHz, or Asia 923MHz. See this listing by [The Things Network](https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country.html) for frequencies by specific countries.
The easiest way is to [buy a device with the software already installed](https://www.aliexpress.com/item/4001178678568.html). Other devices are [available](/docs/hardware/supported/tbeam). In the Americas get the 915MHz version, in Europe the 868MHz, or Asia 923MHz. See this listing by [The Things Network](https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country.html) for frequencies by specific countries.
## Setup the Radio

View file

@ -6,7 +6,7 @@ sidebar_label: LILYGO® T-Echo
The T-Echo has been in development by LILYGO® over the past few months and has now been released.
### See [Getting Started](../getting-started/flashing-nrf52)
### See [Getting Started](/getting-started/flashing-nrf52)
- firmware file: `firmware-t-echo-1.x.x.uf2`
- [Purchase link](https://www.aliexpress.com/item/1005002842456390.html)

View file

@ -4,13 +4,14 @@ title: Remote node administration
sidebar_label: Remote node administration
---
This feature will allow you to use the multiple channels feature to enable remote administration of meshtastic nodes. This will let you talk through the mesh to some far away node and change that node's settings. This is an advanced feature that (currently) few users would need. Also, keep in mind it is possible (if you are not careful) to assign settings to that remote node that cause it to completely drop off of your mesh. We advise network admins have a test node to test settings with before applying changes to a remote node to prevent this.
This feature will allow you to use the multiple channels feature to enable remote administration of meshtastic nodes. This will let you talk through the mesh to some far away node and change that node's settings. This is an advanced feature that (currently) few users would need. Also, keep in mind it is possible (if you are not careful) to assign settings to that remote node that cause it to completely drop off of your mesh. We advise network admins have a test node to test settings with before applying changes to a remote node to prevent this.
## Creating the admin channel
By default, nodes will **only** respond to administrative commands via the local USB/Bluetooth/TCP interface. This provides basic security to prevent unauthorized access and is how normal administration and settings changes work. The only difference for the remote case is that we are sending those commands over the mesh.
By default, nodes will **only** respond to administrative commands via the local USB/Bluetooth/TCP interface. This provides basic security to prevent unauthorized access and is how normal administration and settings changes work. The only difference for the remote case is that we are sending those commands over the mesh.
Before a node will allow remote admin access, it must have a primary channel:
```bash title="Expected output"
$ meshtastic --info
Connected to radio
@ -22,7 +23,7 @@ Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
So from this output you see can that this node knows about only one channel and that its PSK is set to the default value.
Now we add an admin channel:
Now we add an admin channel:
```bash title="Command"
meshtastic --ch-add admin
@ -33,6 +34,7 @@ The name of the channel is important and must be `admin`.
:::
Your channels will now look like this:
```bash title="Expected output"
$ meshtastic --ch-add admin
Connected to radio
@ -47,7 +49,7 @@ Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
Complete URL (includes all channels): https://www.meshtastic.org/d/#CgUYAyIBAQopIiAdbsTecxuI1u-voyGwOicsKaPt5ICG23ONsjH-vk5CaCoFYWRtaW4
```
Notice that now we have a new secondary channel and the `--info` option prints out TWO URLs. The `Complete URL` includes all of the channels this node understands. The URL contains the preshared keys and should be treated with caution and kept a secret. When deploying remote administration, you only need the node you want to administer and the node you are locally connected to know this new "admin" channel. All of the other nodes will forward the packets as long as they are a member of the primary channel.
Notice that now we have a new secondary channel and the `--info` option prints out TWO URLs. The `Complete URL` includes all of the channels this node understands. The URL contains the preshared keys and should be treated with caution and kept a secret. When deploying remote administration, you only need the node you want to administer and the node you are locally connected to know this new "admin" channel. All of the other nodes will forward the packets as long as they are a member of the primary channel.
## Sharing the admin channel with other nodes
@ -59,9 +61,11 @@ For this step you need physical access to both the nodes.
2. Copy the "Complete URL" someplace for permanent reference/access.
3. Connect to the "remote node" over the USB port.
4. For the "remote node" type
```bash
meshtastic --seturl the-url-from-step-2
```
```bash
meshtastic --seturl the-url-from-step-2
```
5. Run `meshtastic --info` and confirm that the "Complete URL" is the same for both of the nodes.
At this point you can take your remote node and install it far away and still be able to change any of its settings.
@ -101,7 +105,7 @@ The above note needs clarification. Currently, you refer to other nodes with `!#
And you can now confirm via the local node that the remote node has changed:
```bash title="Expected output"
$ meshtastic --nodes
$ meshtastic --nodes
Connected to radio
/----------------------------------------------------------------------------------------------------\
|N| User |AKA| ID | Position |Battery| SNR | LastHeard | Since |
@ -110,7 +114,7 @@ Connected to radio
\----------------------------------------------------------------------------------------------------/
```
Note: you can change **any** parameter, add channels or get info from the remote node. Here's an example of setting ls_secs and printing the complete device info from the remote node:
Note: you can change **any** parameter, add channels or get info from the remote node. Here's an example of setting ls_secs and printing the complete device info from the remote node:
```bash title="Expected output"
$ meshtastic --dest \!28979058 --set ls_secs 301 --info
@ -138,11 +142,11 @@ ls_secs: 301
Completed getting preferences
```
For further reading, I recommend starting out with [Meshtastic-python](../python/python-cli) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
For further reading, I recommend starting out with [Meshtastic-python](/software/python/python-cli) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
[Settings Overview](/docs/settings)
[Complete list of user settings in Protobufs](https://meshtastic.org/docs/developers/protobufs/api#radioconfiguserpreferences)
## Areas for future development
In the future we will add a "deadman timer" to this feature so that the remote node will revert any changes if you fail to send a special "commit changes" command. This will protect against sending bad settings to nodes that you can't physically access. Instead, if the node does not receive a commit message within 10 minutes it will revert all changes and (hopefully) rejoin the mesh.
In the future we will add a "deadman timer" to this feature so that the remote node will revert any changes if you fail to send a special "commit changes" command. This will protect against sending bad settings to nodes that you can't physically access. Instead, if the node does not receive a commit message within 10 minutes it will revert all changes and (hopefully) rejoin the mesh.

View file

@ -7,12 +7,13 @@ sidebar_label: Uses
This section covers using the "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the Meshtastic devices.
:::note
The `meshtastic` command is not run within python but is a script run from your operating system shell prompt. When you type "meshtastic" and the prompt is unable to find the command in Windows, check that the python "scripts" directory [is in your path](https://datatofish.com/add-python-to-windows-path/).
The `meshtastic` command is not run within python but is a script run from your operating system shell prompt. When you type "meshtastic" and the prompt is unable to find the command in Windows, check that the python "scripts" directory [is in your path](https://datatofish.com/add-python-to-windows-path/).
:::
## Getting a list of User Preferences
You can get a list of user preferences by running '--get' with an invalid attribute such as 'all'.
```bash
meshtastic --get all
```
@ -57,7 +58,7 @@ For a full list of preferences which can be set (and their documentation) can be
The channel settings can also be changed, either by using a standard (shareable) meshtastic URL or you can set particular channel parameter (for advanced users).
:::warning
Meshtastic encodes the radio channel and PSK in the channel's URL. All nodes must connect to the channel again by using the URL provided after a change in this section by performing the `--info` switch. Please refer to [Multiple Channel Support](../device/device-channels).
Meshtastic encodes the radio channel and PSK in the channel's URL. All nodes must connect to the channel again by using the URL provided after a change in this section by performing the `--info` switch. Please refer to [Multiple Channel Support](/software/device/device-channels).
:::
```bash
@ -84,7 +85,7 @@ meshtastic --ch-index 1 --ch-set name mychan --ch-set channel_num 4 --info
### Ham radio support
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:
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:
```bash title="Expected Output"
# You should see a result similar to this:
@ -110,7 +111,6 @@ Use "--ch-set psk default" to restore the standard 'default' (minimally secure,
All "ch-set" commands will default to the primary channel at index 0, but can be applied to other channels with the "ch-index" parameter.
## FAQ/common problems
This is a collection of common questions and answers from our friendly forum.
@ -119,7 +119,7 @@ This is a collection of common questions and answers from our friendly forum.
As previously discussed on the [forum](https://meshtastic.discourse.group/t/question-on-permission-denied-dev-ttyusb0/590/3?u=geeksville)
This indicates an OS permission problem for access by your user to the USB serial port. Typically this is fixed by the following.
This indicates an OS permission problem for access by your user to the USB serial port. Typically this is fixed by the following.
```bash
sudo usermod -a -G dialout <username>

View file

@ -9,18 +9,19 @@ 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](../python/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.
Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/software/python/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.
For example, if we wanted to disable sleep mode, like when we put the device into router mode, we could use the command:
```bash
meshtastic --set mesh_sds_timeout_secs 4294967295
```
:::note
See MAXUINT from `mesh_sds_timeout_secs` below:
:::
For a description and more information on what exactly all of these mean, please refer to [Power Management State Machine](../other/power)
For a description and more information on what exactly all of these mean, please refer to [Power Management State Machine](/software/other/power)
## Settings
@ -32,7 +33,7 @@ For a description and more information on what exactly all of these mean, please
| ls_secs | `integer` (seconds) | `0` (see note) |
| mesh_sds_timeout_secs | `integer` (seconds) | `0` |
| min_wake_secs | `integer` (seconds) | `0` |
| phone_sds_timeout_sec | `integer` (seconds) | `0` | Power management state machine option. See the [power page](../other/power) for details. 0 for default of two hours, use the value of MAXUINT or 4294967295 to disable |
| phone_sds_timeout_sec | `integer` (seconds) | `0` | Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of two hours, use the value of MAXUINT or 4294967295 to disable |
| phone_timeout_secs | `integer` (seconds) | `0` |
| screen_on_secs | `integer` (seconds) | `0` |
| sds_secs | `integer` (seconds) | `0` |
@ -66,31 +67,31 @@ Are we operating as a router. Changes behavior in the following ways: The device
### ls_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of 3600
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of 3600
### mesh_sds_timeout_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable
### min_wake_secs
Power management state machine option. See the [power page](../other/power)for details. 0 for default of 10 seconds
Power management state machine option. See the [power page](/software/other/power)for details. 0 for default of 10 seconds
### phone_sds_timeout_sec
Power management state machine option. See the [power page](../other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable
### phone_timeout_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of 15 minutes
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of 15 minutes
### screen_on_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of one minute.
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of one minute.
### sds_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of one year
Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of one year
### send_owner_interval
@ -100,7 +101,7 @@ For instance the default interval of 4 will send the node owner information for
### wait_bluetooth_secs
Wait number of seconds for Bluetooth - Power management state machine option. See the [power page](../other/power) for details. 0 for default of 1 minute
Wait number of seconds for Bluetooth - Power management state machine option. See the [power page](/software/other/power) for details. 0 for default of 1 minute
### is_always_powered
@ -109,19 +110,20 @@ If the device is plugged into the wall (not from battery), you may consider usin
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash
meshtastic --set mesh_sds_timeout_secs 0
```
Note: Probably only want to set the wait_bluetooth_secs this high during testing:
```bash
meshtastic --set wait_bluetooth_secs 28800
```

View file

@ -3,10 +3,10 @@ id: range-test-plugin
title: Range Test Plugin Settings
sidebar_label: Range Test Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
This plugin 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.
@ -17,11 +17,11 @@ Once 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` |
| 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_plugin_enabled
@ -44,7 +44,7 @@ Be sure to turn off either the plugin configured as a sender or the device where
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](../../developers/protobufs/api#portnumsproto) are sent on.
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](/developers/protobufs/api#portnumsproto) are sent on.
:::
### Accessing your CSV
@ -60,56 +60,57 @@ http://198.168.0.X/static/rangetest.csv
| Radio Setting | `range_test_plugin_sender` |
| :-----------: | :------------------------: |
| Long Slow | 60 |
| Long Alt | 30 |
| Medium | 15 |
| Short Fast | 15 |
| 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'},
]}>
<TabItem value="cli">
```bash title="Example - Sender Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_sender 60
```
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Sender Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_sender 60
```
</TabItem>
<TabItem value="android">
TODO
TODO
</TabItem>
</Tabs>
### Receiver Node
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Receiver Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_save true
```
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Receiver Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_save true
```
</TabItem>
<TabItem value="android">
TODO
TODO
</TabItem>
</Tabs>