Merge branch 'master' into i18n
|
@ -4,14 +4,16 @@ sidebar_label: Contributing
|
|||
slug: /contributing
|
||||
sidebar_position: 3
|
||||
---
|
||||
### Volunteer Based Development
|
||||
|
||||
Meshtastic is a team of volunteers, and as such there is always plenty of ways to help. This project gets great contributions from people in their off hours. Those contributors work on the features they are interested in. It is a very open and welcoming developer community, and we are always looking for help to improve Meshtastic.
|
||||
Meshtastic is a team of volunteers, and as such there are always plenty of ways to help. This project gets great contributions from people in their off hours. Those contributors work on the features they are interested in. It is a very open and welcoming developer community, and we are always looking for help to improve Meshtastic.
|
||||
|
||||
- If you're a developer, there's plenty stuff to do. Dig in!
|
||||
- If you're interacting with Meshtastic radios, we could use help with testing, documenting, and providing feedback.
|
||||
- If you're into Web Development, check out the different web repos.
|
||||
- If you're into Kotlin and Android, check out the link to the repo below.
|
||||
- If you're into Python, check out the link to the repo below
|
||||
- If you're into SwiftUI, check out the link to the repo below
|
||||
- If you're into Ham Radio and LoRa, then this is a great project for you!
|
||||
- ... basically... we would love to have your help and feedback
|
||||
|
||||
|
@ -27,20 +29,20 @@ Most communication and interactions happen with protocol buffers. The [Meshtasti
|
|||
|
||||
### Device Firmware
|
||||
|
||||
The [firmware](https://github.com/meshtastic/firmware) is where all of the firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code. Think Arduino. It is where the first level of hardware interaction begins and ends.
|
||||
The [firmware repo](https://github.com/meshtastic/firmware) is where all of the device firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code. Think Arduino. It is where the first level of hardware interaction begins and ends.
|
||||
|
||||
### Firmware Modules
|
||||
|
||||
[Modules](/docs/settings/moduleconfig) are also implemented mainly in the firmware repo above. Typically, you would add functionality in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client/device use/interact with the module and that is where the Device support comes into play.
|
||||
[Modules](/docs/settings/moduleconfig) extend device and mesh functionality beyond core functions. These are also implemented mainly in the firmware repo above. Typically, you would add functions in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client or device, use or interact with the module. This is where Device Interface support comes into play.
|
||||
|
||||
### CLI Apps (Device Interface)
|
||||
|
||||
- **Meshtastic Python CLI** - The [meshtastic/Meshtastic-python](https://github.com/meshtastic/Meshtastic-python) repository is typically where the first device interaction takes place, but that is not a requirement. This repo has a command line utility that allows you to interact with most functionality with the devices. This python library can also be consumed for other applications.
|
||||
- **Meshtastic Python CLI** - The [meshtastic/Meshtastic-python repository](https://github.com/meshtastic/Meshtastic-python) is a command line utility that allows you to interact with most of the device settings and functionality. This python library can also be consumed for other applications. See [Meshtastic Python Development](/docs/development/python/) for more details
|
||||
|
||||
### Web Apps (Device Interface)
|
||||
|
||||
- **Meshtastic Web** - The [meshtastic/web](https://github.com/meshtastic/web) repository is where the hosted web server on the ESP32 devices in Typescript is developed. See the [Web interface overview](/docs/software/web-client) for more details.
|
||||
- **Meshtastic JS** - The [meshtastic/meshtastic.js](https://github.com/meshtastic/meshtastic.js) repository is a JavaScript library that provides an interface for Meshtastic devices.
|
||||
- **Meshtastic Web** - The [meshtastic/web repository](https://github.com/meshtastic/web) is where the hosted web server on the ESP32 devices in Typescript is developed. See the [Web Development Overview](/docs/development/web/) for more details.
|
||||
- **Meshtastic JS** - The [meshtastic/meshtastic.js](https://github.com/meshtastic/meshtastic.js) repository is a JavaScript library that provides an interface for Meshtastic devices. See [Javascript Development](/docs/development/js) for more details
|
||||
|
||||
@sachaw has been making tons of progress on the web app and would love help with:
|
||||
|
||||
|
@ -49,13 +51,13 @@ The [firmware](https://github.com/meshtastic/firmware) is where all of the firmw
|
|||
- Chat scroll lock
|
||||
- Various module support
|
||||
|
||||
### Mobile Apps (Device Interface)
|
||||
### Mobile and Desktop Apps (Device Interface)
|
||||
|
||||
There are two phone apps that interact with the Meshtastic devices:
|
||||
There are Android, iOS, iPadOS, and macOS apps that interact with Meshtastic devices:
|
||||
|
||||
- **Android App** - The [meshtastic/Meshtastic-Android](https://github.com/meshtastic/Meshtastic-Android) repository repo contains the Kotlin code for Android based interactions with Meshtastic devices. See the [Android development instructions](/docs/development/android) on how to create a development environment and build the Meshtastic Android App.
|
||||
- **Apple Apps** - The iOS applications are in the process of a complete re-write in Swift and will have the new repo published soon. Note: There are a couple of earlier implementations.
|
||||
- **Android App** - The [meshtastic/Meshtastic-Android](https://github.com/meshtastic/Meshtastic-Android) repository contains the Kotlin code for Android based interactions with Meshtastic devices. See the [Android development instructions](/docs/development/android) on how to create a development environment and build the Meshtastic Android App.
|
||||
- **Apple Apps** - The [meshtastic/Meshtastic-Apple](https://github.com/meshtastic/Meshtastic-Apple) repository contains the SwiftUI client applications code for iPhone, iPad and Mac.
|
||||
|
||||
### Documentation
|
||||
|
||||
This website is in the [Meshtastic](https://github.com/meshtastic/meshtastic) repository.
|
||||
The Meshtastic website (the one you are looking at right now) is in the [meshtastic/Meshtastic](https://github.com/meshtastic/meshtastic) repository. See [Maintaining Documentation](docs/development/docs) for more details.
|
||||
|
|
|
@ -97,11 +97,11 @@ Push the left PWR button for about 1 second.
|
|||
|
||||
### Where do I purchase the device hardware?
|
||||
|
||||
Each [supported device](/docs/hardware/devices/tbeam) has a "Purchase Link".
|
||||
Each [supported device](/docs/supported-hardware) has a "Purchase Link".
|
||||
|
||||
### I have my hardware. How do I install the firmware and any required drivers?
|
||||
|
||||
[See our guide here](/docs/getting-started/flashing-firmware).
|
||||
[See our guide here](/docs/getting-started).
|
||||
|
||||
### How do I update the firmware to the latest version?
|
||||
|
||||
|
@ -117,8 +117,7 @@ Once the node wakes up from sleep, your phone will relay any delayed messages th
|
|||
|
||||
### How can I tell the device not to sleep?
|
||||
|
||||
- Android instructions see: [Android Usage](/docs/software/android/usage#configuration-options)
|
||||
- Python CLI instructions see: [Python Usage](/docs/software/python/cli/usage#changing-settings)
|
||||
See [Device Power Configuration](/docs/settings/config/power) options.
|
||||
|
||||
### I am in Europe and my device seems to stop transmitting after a while, what is going on?
|
||||
|
||||
|
@ -148,21 +147,15 @@ If you use your HAM radio license with Meshtastic, consider both the privileges
|
|||
#### Restrictions
|
||||
|
||||
- Plain-Text Only
|
||||
- On amateur radio bands, encryption is illegal. [FCC Part 97.113.C](https://www.ecfr.gov/current/title-47/chapter-I/subchapter-D/part-97/subpart-B/section-97.113)
|
||||
- On amateur radio bands, encryption is illegal. [FCC Part 97.113.A.4](https://www.ecfr.gov/current/title-47/chapter-I/subchapter-D/part-97/subpart-B/section-97.113#p-97.113(a)(4))
|
||||
- Lack of Privacy
|
||||
- As a HAM operator, it is a requirement that you identify yourself by your call sign periodically when transmitting. Your call sign will be publicly transmitted at least once every 10 minutes at minimum. [FCC Part 97.119.A](https://www.ecfr.gov/current/title-47/chapter-I/subchapter-D/part-97/subpart-B/section-97.119)
|
||||
- As a HAM operator, it is a requirement that you identify yourself by your call sign periodically when transmitting. Your call sign will be publicly transmitted at least once every 10 minutes at minimum. [FCC Part 97.119.A](https://www.ecfr.gov/current/title-47/chapter-I/subchapter-D/part-97/subpart-B/section-97.119#p-97.119(a))
|
||||
|
||||
### How do I set my HAM call sign?
|
||||
|
||||
Please see instructions for [Enabling HAM License from the Python CLI](/docs/software/python/cli/usage#ham-radio-support)
|
||||
|
||||
<!-- Flasher -->
|
||||
|
||||
## Flasher
|
||||
|
||||
### Why does my operating system flag Meshtastic Flasher as having malware?
|
||||
|
||||
The flasher contains no malware and completely passed the Microsoft malware scanning. It appears that a lot of file download services are using the Windows Defender data, so if you're seeing alerts of a detected trojan please [update your Windows Defender definitions](https://www.microsoft.com/en-us/wdsi/defenderupdates).
|
||||
- On Android navigate to Radio configuration -> User and set Long name to your Ham Radio callsign, then activate the slider for 'Licensed amateur radio'.
|
||||
- On iPhone navigate to Settings -> User and set Long Name to your Ham Radio callsign, then activate the slider for 'Licensed Operator'.
|
||||
- Instructions for Enabling HAM License from the Python CLI can be found [here](/docs/software/python/cli/usage#ham-radio-support).
|
||||
|
||||
### What if I'm still having issues on Windows 10?
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ The current implementation provides optional confidentiality to members of a con
|
|||
- Pairing from client-to-device is by:
|
||||
- direct USB cable
|
||||
- BT pairing
|
||||
- Devices are 'promiscuous' and will pair with any near-by client. Network confidentiality requires physical protextion of all nodes.
|
||||
- Devices are 'promiscuous' and will pair with any near-by client. Network confidentiality requires physical protection of all nodes.
|
||||
|
||||
### Phase 2 - Strong device and client identity
|
||||
|
||||
|
@ -75,9 +75,9 @@ The current implementation provides optional confidentiality to members of a con
|
|||
|
||||
- Know who sent a message (strong binding of messages to a particular node and/or terminal device)
|
||||
- This would be an optional feature for a message
|
||||
- Optionaly enforce identity based restrictions on some actions performed at nodes and/or clients
|
||||
- Optionally enforce identity based restrictions on some actions performed at nodes and/or clients
|
||||
- Optional support of strong pairing of a client to a device/node and restrict ability to manage and receive messages based on the pairing.
|
||||
- The BT paring and the cryptographic paring are separate (to simplify pahse 1 deployment and testing)
|
||||
- The BT paring and the cryptographic paring are separate (to simplify phase 1 deployment and testing)
|
||||
- Above features should be architected to be ‘cryptographically strong’ and algorithm agile.
|
||||
|
||||
**Phase 2 Proposed mechanisms:**
|
||||
|
@ -93,7 +93,7 @@ The current implementation provides optional confidentiality to members of a con
|
|||
Wrapped data to contain any of the existing message types.
|
||||
- initial ‘cipher suite’ **only** signs a message
|
||||
- new signed/authenticated messages to:
|
||||
- device->client: provide ownership status of device (owner is identifed by a public key)
|
||||
- device->client: provide ownership status of device (owner is identified by a public key)
|
||||
- client->device: set owner key (must be existing device owner or owner null)
|
||||
- any->all. Broadcast public key and associated info (crude initial key distribution)
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
<object data="https://www.youtube.com/embed/7v6UbC5blJU?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
### 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
|
||||
|
|
|
@ -88,11 +88,7 @@ The link budget used by these calculations assumes a transmit power of 17dBm and
|
|||
|
||||
### Custom Settings
|
||||
|
||||
You may want to select other channels for your usage. The other settings can be set by using the Python API.
|
||||
|
||||
```shell
|
||||
meshtastic --ch-set spread_factor 10 --ch-set coding_rate 4 --ch-set bandwidth 125 --ch-index 0
|
||||
```
|
||||
Custom settings can be applied by using [supported software](/docs/software).
|
||||
|
||||
After applying the settings, you will need to restart the device. After your device is restarted, it will generate a new crypto key and you will need to share the newly generated QR Code or URL to all your other devices.
|
||||
|
||||
|
@ -113,18 +109,8 @@ Some example settings:
|
|||
|
||||
The link budget used by these calculations assumes a transmit power of 17dBm and an antenna with 0dB gain. Adjust your link budget assumptions based on your actual devices.
|
||||
|
||||
These channel settings may have not been tested. Use at your own discretion. Share on <https://meshtastic.discourse.group> with your successes or failure.
|
||||
These channel settings may not have been tested. Use at your own discretion. Share on <https://meshtastic.discourse.group> with your successes or failure.
|
||||
|
||||
## Cryptography
|
||||
|
||||
The pre-shared key (PSK) used by the devices can be modified.
|
||||
|
||||
- 0 = No crypto
|
||||
- 1 = Default channel key
|
||||
- 2 - 10 = The default channel key, except with 1 through 9 added to the last byte
|
||||
|
||||
Use of cryptography can also be modified. To disable cryptography (maybe useful if you have Ham radio license):
|
||||
|
||||
```shell
|
||||
meshtastic --setchan psk 0
|
||||
```
|
||||
The pre-shared key (PSK) used by the devices can be an AES128 or AES256 sequence. Alternatively, encryption can be turned off, which may be useful if you are operating under a Ham Radio license.
|
|
@ -28,16 +28,16 @@ Specify pairing mode.
|
|||
`FIXED_PIN` uses the fixed PIN that should then be additionally specified.
|
||||
Finally, `NO_PIN` disables PIN authentication.
|
||||
|
||||
### Fixed PIN
|
||||
|
||||
If your pairing mode is set to `FIXED_PIN`, the default value is 123456. For all other pairing modes, this number is ignored. A custom integer (6 digits) can be set via the Bluetooth config options.
|
||||
|
||||
### Default Pairing Mode
|
||||
|
||||
The default pairing mode will be determined based on whether the device has or does not have a screen attached to it during the first boot (or with a stale device state) unless manually configured via the Bluetooth config options.
|
||||
|
||||
- **Screen Attached:** If your device boots up for the first time (or with a stale device state), and a screen is detected, the default pairing mode will be set to `RANDOM_PIN`. Should the attached screen be removed after the device has already been booted, the default pairing mode of `RANDOM_PIN` will remain unless manually changed to `FIXED_PIN` or `NO_PIN`. It is recommended the pairing mode be updated prior to removing the attached screen.
|
||||
- **No Screen Attached:** If your device boots up for the first time (or with a stale device state), and no screen is detected, the default paring mode will be set to `FIXED_PIN` with the aforementioned default value unless manually configured to a custom value.
|
||||
- **No Screen Attached:** If your device boots up for the first time (or with a stale device state), and no screen is detected, the default paring mode will be set to `FIXED_PIN` with the default value listed below unless manually configured to a custom value.
|
||||
|
||||
### Fixed PIN
|
||||
|
||||
If your pairing mode is set to `FIXED_PIN`, the default value is 123456. For all other pairing modes, this number is ignored. A custom integer (6 digits) can be set via the Bluetooth config options.
|
||||
|
||||
## Configure Bluetooth Config
|
||||
|
||||
|
@ -57,7 +57,7 @@ values={[
|
|||
All Bluetooth config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Bluetooth Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Bluetooth**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -62,17 +62,7 @@ To ensure devices with different PRIMARY channel name transmit on the same frequ
|
|||
|
||||
## Channel Settings Values
|
||||
|
||||
The Channel Settings options are: ID, Name, PSK, Downlink Enabled, and Uplink Enabled. Channel settings are embedded in the `Channel` protobuf as a `ChannelSettings` protobuf and sent as an admin message.
|
||||
|
||||
:::note
|
||||
The full globally unique ID will be constructed from the Name and ID (`<name>.<id>`) where ID is base36 encoded. 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. The penalty for collision is low as well.
|
||||
:::
|
||||
|
||||
### ID
|
||||
|
||||
Used to construct a globally unique channel ID.
|
||||
|
||||
Set to `0` by default.
|
||||
The Channel Settings options are: Name, PSK, Downlink Enabled, and Uplink Enabled. Channel settings are embedded in the `Channel` protobuf as a `ChannelSettings` protobuf and sent as an admin message.
|
||||
|
||||
### Name
|
||||
|
||||
|
@ -103,6 +93,8 @@ If enabled, messages from the mesh will be sent to the **public** internet throu
|
|||
|
||||
Set to `false` by default for all channels.
|
||||
|
||||
## Examples
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
|
@ -116,8 +108,25 @@ values={[
|
|||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
Limited Channel Config options are available on Android. QR code scanning is available.
|
||||
Channel Config options are available on Android.
|
||||
:::
|
||||

|
||||
|
||||
The Radio Configuration tab can be used for common tasks:
|
||||
1. View your current channel configuration QR code and URL.
|
||||
2. Quickly create or modify your primary channel.
|
||||
3. Select a modem preset for all your channels i.e. `Long Range / Fast`.
|
||||
|
||||
See [Android App Usage](/docs/software/android/usage#setup-a-channel) for more further instruction on setting up your primary channel.
|
||||
|
||||
[](/img/android/android-channel-edit.png)
|
||||
|
||||
Tap the Channel Name (or the pen icon) to access the Channel Menu:
|
||||
|
||||
1. Add, remove, or modify secondary channels
|
||||
2. Create or modify encryption keys
|
||||
3. Enable uplink and downlink for individual channels
|
||||
|
||||
|
||||
</TabItem>
|
||||
|
||||
|
@ -145,11 +154,6 @@ meshtastic --ch-set name "My Channel" --ch-set psk random --ch-set uplink_enable
|
|||
|
||||
:::
|
||||
|
||||
### Id
|
||||
|
||||
```shell title="Set the PRIMARY channel ID"
|
||||
meshtastic --ch-set id 1234 --ch-index 0
|
||||
```
|
||||
|
||||
### Name
|
||||
|
||||
|
@ -192,7 +196,7 @@ meshtastic --ch-set psk base64:puavdd7vtYJh8NUVWgxbsoG2u9Sdqc54YvMLs+KNcMA= --ch
|
|||
```
|
||||
|
||||
:::tip
|
||||
Use this to copy and paste the `base64` encoded (single channel) key from the meshtastic --info command. Please dont use the omnibus (all channels) code here, it is not a valid key.
|
||||
Use this to copy and paste the `base64` encoded (single channel) key from the meshtastic --info command. Please don't use the omnibus (all channels) code here, it is not a valid key.
|
||||
:::
|
||||
|
||||
```shell title="Disable encryption on PRIMARY channel"
|
||||
|
|
|
@ -88,7 +88,7 @@ values={[
|
|||
Device Config is available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Device Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Device**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ sidebar_label: Display
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
The display config options are: Screen On Duration, Auto Carousel Interval, Always Point North and GPS Format. Display config uses an admin message sending a `Config.Display` protobuf.
|
||||
The display config options are: Screen On Duration, Auto Carousel Interval, Always Point North, GPS Format, Preferred Display Units, OLED Definition, Display Mode, Heading Bold, and Wake on Tap or Motion. Display config uses an admin message sending a `Config.Display` protobuf.
|
||||
|
||||
## Device Config Values
|
||||
|
||||
|
@ -18,7 +18,7 @@ How long the screen remains on after the user button is pressed or messages are
|
|||
|
||||
### Auto Carousel Interval
|
||||
|
||||
Automatically toggles to the next page on the screen like a carousel, based the specified interval.
|
||||
Automatically toggles to the next page on the screen like a carousel, based on the specified interval.
|
||||
|
||||
### Always Point North
|
||||
|
||||
|
@ -39,15 +39,15 @@ Acceptable values:
|
|||
| `OLC` | Open Location Code (Plus Codes) |
|
||||
| `OSGR` | Ordnance Survey Grid Reference |
|
||||
|
||||
### Prefered display units
|
||||
### Preferred Display Units
|
||||
|
||||
switch between `METRIC` (default) and `IMPERIAL` units
|
||||
Switch between `METRIC` (default) and `IMPERIAL` units
|
||||
|
||||
### Flip Screen
|
||||
|
||||
If enabled, the screen will be rotated 180 degrees, for cases that mount the screen upside down
|
||||
|
||||
### OLED Defintion
|
||||
### OLED Definition
|
||||
|
||||
The type of OLED Controller is auto-detected by default, but can be defined with this setting if the auto-detection fails. For the SH1107, we assume a square display with 128x128 Pixels like the GME128128-1.
|
||||
|
||||
|
@ -62,7 +62,7 @@ Acceptable values:
|
|||
|
||||
### Display Mode
|
||||
|
||||
The display mode can be set to `NORMAL` (default), `TWOCOLOR` or `INVERTED`. The `TWOCOLOR` mode is intended for OLED displays with the first line of output being a different color than the rest of the display. The `INVERTED` mode will invert that bicolor area, resulting in a white background headline on monochrome displays.
|
||||
The display mode can be set to `DEFAULT` (default), `TWOCOLOR`, `INVERTED` or `COLOR`. The `TWOCOLOR` mode is intended for OLED displays with the first line of output being a different color than the rest of the display. The `INVERTED` mode will invert that bicolor area, resulting in a white background headline on monochrome displays.
|
||||
|
||||
### Heading Bold
|
||||
|
||||
|
@ -90,7 +90,7 @@ values={[
|
|||
Display Config is available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Display Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Display**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -114,12 +114,12 @@ All display config options are available in the python CLI. Example commands are
|
|||
| --------------------------------- | --------------------------------------------------------- | ----------------------------- |
|
||||
| display.auto_screen_carousel_secs | `integer` | Default of `0` is off. |
|
||||
| display.compass_north_top | `false`, `true` | `false` |
|
||||
| display.flip_screen | `fasle`, `true` | `false` |
|
||||
| display.flip_screen | `false`, `true` | `false` |
|
||||
| display.gps_format | `DEC`, `DMS`, `UTM`, `MGRS`, `OLC`, `OSGR` | `DEC` |
|
||||
| display.oled | `OLED_AUTO`, `OLED_SSD1306`, `OLED_SH1106`, `OLED_SH1107` | `OLED_AUTO` |
|
||||
| display.screen_on_secs | `integer` | Default of `0` is 10 minutes. |
|
||||
| display.units | `METRIC`, `IMPERIAL` | `METRIC` |
|
||||
| display.displaymode | `NORMAL`, `TWOCOLOR`, `INVERTED` | `NORMAL` |
|
||||
| display.displaymode | `DEFAULT`, `TWOCOLOR`, `INVERTED`, `COLOR` | `DEFAULT` |
|
||||
| display.heading_bold | `false`, `true` | `false` |
|
||||
| display.wake_on_tap_or_motion | `false`, `true` | `false` |
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import Tabs from "@theme/Tabs";
|
|||
import TabItem from "@theme/TabItem";
|
||||
import LoRaRegions from "../../blocks/_lora-regions.mdx";
|
||||
|
||||
The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Enabled, Channel Number and Ignore Incoming Array. LoRa config uses an admin message sending a `Config.LoRa` protobuf.
|
||||
The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Enabled, Channel Number, Ignore Incoming Array, Override Duty Cycle Limit, SX126x RX Boosted Gain, and Override Frequency. LoRa config uses an admin message sending a `Config.LoRa` protobuf.
|
||||
|
||||
:::note
|
||||
In order to communicate fully, devices within a mesh must have identical settings for Region and Modem Preset, or identical custom Modem settings.
|
||||
|
@ -128,17 +128,16 @@ values={[
|
|||
{label: 'Android', value: 'android'},
|
||||
{label: 'Apple', value: 'apple'},
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Flasher', value: 'flasher'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
|
||||
LoRa Config options such as Region, Modem Preset, and Hop Limit can be configured on Android.
|
||||
LoRa Config options are available on Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > LoRa Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > LoRa**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -146,7 +145,7 @@ LoRa Config options such as Region, Modem Preset, and Hop Limit can be configure
|
|||
<TabItem value="apple">
|
||||
|
||||
:::info
|
||||
Configuration of Region, Modem Preset and Hop Limit is available on iOS, iPadOS and macOS at Settings > Radio Configuration > LoRa.
|
||||
Configuration of Region, Modem Preset, Transmit Enabled, Hop Limit, Channel Number and RX Boosted gain is available on iOS, iPadOS and macOS at Settings > Radio Configuration > LoRa.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -169,7 +168,7 @@ LoRa config commands are available in the python CLI. Example commands are below
|
|||
| lora.frequency_offset | `0` to `1000000` | `0` |
|
||||
| lora.hop_limit | `1`,`2`,`3`,`4`,`5`,`6`,`7` | `3` |
|
||||
| lora.tx_power | `0` to `30` | `0` |
|
||||
| lora.tx_enabled | `false`, `false` | `true` |
|
||||
| lora.tx_enabled | `false`, `true` | `true` |
|
||||
| lora.channel_num | `0`, `1` to `NUM_CHANNELS` | `0` |
|
||||
| lora.override_duty_cycle | `false`, `true` | `false` |
|
||||
| lora.sx126x_rx_boosted_gain | `false`, `true` | `false` |
|
||||
|
@ -205,15 +204,6 @@ meshtastic --set lora.override_duty_cycle true
|
|||
meshtastic --set lora.override_duty_cycle false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="flasher">
|
||||
|
||||
:::info
|
||||
|
||||
Only `lora.region` can be set via the GUI flasher. Refer to other clients for any other config.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ sidebar_label: Network
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
The Network config options are: WiFi Enabled, WiFi SSID, WiFi PSK, Ethernet Enabled, IPv4 Networking Mode, Static Address and NTP Server. Network config uses an admin message sending a `Config.Network` protobuf.
|
||||
The Network config options are: NTP Server, WiFi Enabled, WiFi SSID, WiFi PSK, Ethernet Enabled, IPv4 Networking Mode, and Static Address. Network config uses an admin message sending a `Config.Network` protobuf.
|
||||
|
||||
:::info
|
||||
Enabling WiFi will disable Bluetooth. Only one connection method will work at a time.
|
||||
|
@ -32,13 +32,13 @@ Set to `false` (Disabled) by default.
|
|||
|
||||
### WiFi SSID
|
||||
|
||||
This is your WiFi Networks SSID.
|
||||
This is your WiFi Network's SSID.
|
||||
|
||||
Empty `""` by default. (Case Sensitive, Max Length: 33)
|
||||
|
||||
### WiFi PSK
|
||||
|
||||
This is your WiFi Networks password.
|
||||
This is your WiFi Network's password.
|
||||
|
||||
Empty `""` by default. (Case Sensitive, Max Length: 64)
|
||||
|
||||
|
@ -79,7 +79,7 @@ values={[
|
|||
Network Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Network Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Network**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -89,7 +89,8 @@ Network Config options are available for Android.
|
|||
|
||||
:::info
|
||||
|
||||
Network config is not available on Apple OS's.
|
||||
Network config options are available on iOS, iPadOS and macOS.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -106,8 +107,10 @@ All Network config options are available in the python CLI.
|
|||
| :------------------: | :---------------: | :--------------: |
|
||||
| network.ntp_server | string | `0.pool.ntp.org` |
|
||||
| network.wifi_enabled | `true`, `false` | `false` |
|
||||
| network.wifi_psk | string | `""` |
|
||||
| network.wifi_ssid | string | `""` |
|
||||
| network.wifi_psk | string | `""` |
|
||||
| network.eth_enabled | `true`, `false` | `false` |
|
||||
| network.address_mode | `DHCP`, `STATIC` | `DHCP` |
|
||||
|
||||
:::tip
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ values={[
|
|||
Position Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Position Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Position**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -9,9 +9,15 @@ import Tabs from "@theme/Tabs";
|
|||
import TabItem from "@theme/TabItem";
|
||||
import calculateADC from "/src/utils/calculateADC";
|
||||
|
||||
The power config options are: Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Mesh Super Deep Sleep Timeout, Super Deep Sleep Interval, Light Sleep Interval and Minimum Wake Interval. Power config uses an admin message sending a `Config.Power` protobuf.
|
||||
:::info
|
||||
Power settings are advanced configuration, most users should choose a role under [Device Config](/docs/settings/config/device) to manage power for their device and shouldn't ever need to adjust these settings.
|
||||
:::
|
||||
|
||||
Power settings are advanced configuration, most users should choose a role under Device Config to manage power for their device and should never need to touch any of these settings.
|
||||
The power config options are: Power Saving, Shutdown after losing power, ADC Multiplier Override, Wait Bluetooth Interval, Mesh Super Deep Sleep Timeout, Super Deep Sleep Interval, Light Sleep Interval, and Minimum Wake Interval. Power config uses an admin message sending a `Config.Power` protobuf.
|
||||
|
||||
:::info
|
||||
ADC Multiplier, Super Deep Sleep, and Light Sleep settings only apply to ESP32-based boards. These settings will have no effect on nRF52 modules.
|
||||
:::
|
||||
|
||||
## Power Config Values
|
||||
|
||||
|
@ -23,7 +29,7 @@ If set, Bluetooth, Wifi, and screen (if applicable) are turned off. When using t
|
|||
|
||||
Automatically shut down a device after a defined time period if power is lost.
|
||||
|
||||
### ADC Multiplier Override `Fixes issues on Heltec v2`
|
||||
### ADC Multiplier Override
|
||||
|
||||
Ratio of voltage divider for battery pin e.g. 3.20 (R1=100k, R2=220k)
|
||||
|
||||
|
@ -85,7 +91,7 @@ It's important to note that this calibration method only maps 4.2V to Battery Ch
|
|||
|
||||
### Wait Bluetooth Interval
|
||||
|
||||
How long wait before turning off BLE in no Bluetooth states
|
||||
How long to wait before turning off BLE in no Bluetooth states
|
||||
|
||||
`0` for default of 1 minute
|
||||
|
||||
|
@ -103,9 +109,9 @@ While in Light Sleep if Mesh Super Deep Sleep Timeout Seconds is exceeded we wil
|
|||
|
||||
`0` for default of one year
|
||||
|
||||
### Light Sleep Interval `ESP32 Only Setting`
|
||||
### Light Sleep Interval
|
||||
|
||||
In light sleep the CPU is suspended, LoRa radio is on, BLE is off an GPS is on
|
||||
In light sleep the CPU is suspended, LoRa radio is on, BLE is off and GPS is on
|
||||
|
||||
`0` for default of five minutes
|
||||
|
||||
|
@ -115,6 +121,14 @@ While in light sleep when we receive packets on the LoRa radio we will wake and
|
|||
|
||||
`0` for default of 10 seconds
|
||||
|
||||
### Device Battery INA2xx Address
|
||||
|
||||
If an INA-2XX device is auto-detected on one of the I2C buses at the specified address, it will be used as the authoritative source for reading device battery level voltage. Setting is ignored for devices with PMUs (e.g. T-beams)
|
||||
|
||||
:::tip
|
||||
I2C addresses are normally represented in hexadecimal and will require conversion to decimal in order to set via Meshtastic clients. For example the I2C address of 0x40 converted to decimal is 64.
|
||||
:::
|
||||
|
||||
## Power Config Client Availability
|
||||
|
||||
<Tabs
|
||||
|
@ -133,7 +147,7 @@ values={[
|
|||
Power Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Power Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Power**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -164,6 +178,7 @@ All Power config options are available in the python CLI.
|
|||
| power.sds_secs | `integer` (seconds) | Default of `0` is 1 year |
|
||||
| power.ls_secs | `integer` (seconds) | Default of `0` is 1 hour |
|
||||
| power.min_wake_secs | `integer` (seconds) | Default of `0` is 10 seconds |
|
||||
| power.device_battery_ina_address | `integer` (I2C address as decimal) | Default of `0` is no address set |
|
||||
|
||||
:::tip
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ values={[
|
|||
User Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > User Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > User**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ The GPIO to use for the DIN signal in the I2S interface.
|
|||
The GPIO to use for the SCK signal in the I2S interface.
|
||||
|
||||
:::info What is this?
|
||||
These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's **no** default pin assigment, setting these is mandatory.
|
||||
These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's **no** default pin assignment, setting these is mandatory.
|
||||
:::
|
||||
|
||||
## Audio Module Config Client Availability
|
||||
|
@ -74,7 +74,8 @@ values={[
|
|||
Audio Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Audio Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Audio**
|
||||
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ The Canned Message Module will allow you to send messages to the mesh network fr
|
|||
|
||||
The canned message module config options are: Enabled, Save, and Sender. Range Test Module config uses an admin message sending a `ConfigModule.CannedMessage` protobuf.
|
||||
|
||||
<object data="https://www.youtube.com/embed/qKQVYUbLLkg?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## Canned Message Module Config Values
|
||||
|
||||
### Enabled
|
||||
|
@ -90,7 +92,7 @@ values={[
|
|||
Canned Message Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Canned Message Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Canned Message**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -146,7 +148,7 @@ meshtastic --set canned_message.send_bell false
|
|||
```
|
||||
|
||||
```shell title="Set Messages"
|
||||
meshtastic --set canned_message.messages "I need an alpinist!|Call Me|Roger Roger|Keep Calm|On my way"
|
||||
meshtastic --set-canned-message "I need an alpinist!|Call Me|Roger Roger|Keep Calm|On my way"
|
||||
```
|
||||
|
||||
```shell title="Set Input Source"
|
||||
|
@ -219,9 +221,9 @@ Example: 1|2|3||5|6|7||9|10|11||13|14|15 - the slots 4,8 and 12 can not be used.
|
|||
|
||||
The CardKB is fully supported in freetext mode and select mode. Use UP/DOWN/ENTER to select a predefined message and send it. For a freetext message, just type it in and press ENTER to send it.
|
||||
|
||||
If you don't want to broadcast your freetext message, you can use the CardKB to send it to a specific node. Just press TAB and select the target node with the LEFT/RIGHT keys. The message will be sent to the node with the matching name and node number. The target node will be remebered for your nexxt message.
|
||||
If you don't want to broadcast your freetext message, you can use the CardKB to send it to a specific node. Just press TAB and select the target node with the LEFT/RIGHT keys. The message will be sent to the node with the matching name and node number. The target node will be remembered for your next message.
|
||||
|
||||
### 3 Buttun up/down and RAK rotary encoder
|
||||
### 3 Button up/down and RAK rotary encoder
|
||||
|
||||
Just use UP/DOWN/ENTER to select a predefined message and send it.
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@ import TabItem from "@theme/TabItem";
|
|||
|
||||
The External Notification Module will allow you to connect a buzzer, speaker, LED, or other device to notify you when a message has been received from the mesh network. You can enable up to 3 pins independently from each other.
|
||||
|
||||
<object data="https://www.youtube.com/embed/MWt3RHMpifo?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## External Notification Module Config Values
|
||||
|
||||
### Enabled
|
||||
|
@ -65,7 +67,7 @@ values={[
|
|||
External Notification Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > External Notification Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > External Notification**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -183,6 +185,6 @@ Ideas for external hardware:
|
|||
- Strobe Light
|
||||
- Siren
|
||||
|
||||
## Known Problems
|
||||
## Known Limitations
|
||||
|
||||
- This module only monitors text messages. We won't trigger on any other packet types.
|
||||
|
|
|
@ -10,11 +10,12 @@ Modules are included in the firmware and allow users to extend the functionality
|
|||
|
||||
| Name | Description |
|
||||
| :------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| [Audio](/docs/settings/moduleconfig/audio) | enable Support for Codec2 Voice Comms on certain devices |
|
||||
| [Audio](/docs/settings/moduleconfig/audio) | Enable Support for Codec2 Voice Comms on certain devices. |
|
||||
| [Canned Message](/docs/settings/moduleconfig/canned-message) | 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](/docs/settings/moduleconfig/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc) |
|
||||
| [External Notification](/docs/settings/moduleconfig/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc). |
|
||||
| [MQTT](/docs/settings/moduleconfig/mqtt) | Forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet. |
|
||||
| [Range Test](/docs/settings/moduleconfig/range-test) | 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 Module](/docs/settings/moduleconfig/serial) | Send messages across the mesh by sending strings over a serial port. |
|
||||
| [Store & Forward](/docs/settings/moduleconfig/store-and-forward-module) | Stores messages on a device for delivery after disconnected clients rejoin the mesh. |
|
||||
| [Telemetry](/docs/settings/moduleconfig/telemetry) | Attach sensors to the device and transmit readings on a regular interval to the mesh. |
|
||||
| [Traceroute](/docs/settings/moduleconfig/traceroute) | Track which nodes are used to hop a message to a certain destination. |
|
||||
|
|
|
@ -58,7 +58,7 @@ values={[
|
|||
MQTT Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > MQTT Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > MQTT**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ values={[
|
|||
Range Test Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Range Test Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Range Test**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@ This is a simple interface to send messages over the mesh network by sending str
|
|||
|
||||

|
||||
|
||||
<object data="https://www.youtube.com/embed/HdOiGKBtapw?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## Serial Module Config Values
|
||||
|
||||
### Enabled
|
||||
|
@ -35,7 +37,7 @@ Available Values:
|
|||
- `PROTO` Exposes the Protobuf Client API on this serial port. You can use this to connect from another device. [API Reference](/docs/development/device/client-api)
|
||||
- `TEXTMSG` Will send the string received over the serial port as a Text Message for Display on the other devices.
|
||||
- `NMEA` Will output a NMEA 0183 Data stream containing the internal GPS or fixed position and other node locations as Waypoints (WPL).
|
||||
- `CALTOPO` Will output NMEA 0183 Waypoints (WPL) every 10 seconds for all valid node locations, to be consumed by [CalTopo / SARTopo](https://caltopo.com/)
|
||||
- `CALTOPO` Will output NMEA 0183 Waypoints (WPL) every 10 seconds for all valid node locations, to be consumed by [CalTopo / SARTopo](/docs/software/integrations/caltopo.mdx).
|
||||
|
||||
### Receive GPIO Pin
|
||||
|
||||
|
@ -83,7 +85,7 @@ values={[
|
|||
Serial Module Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Serial Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Serial**
|
||||
|
||||
:::
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
id: store-and-forward-module
|
||||
title: Store & Forward Module Settings
|
||||
slug: /settings/moduleconfig/store-and-forward-module
|
||||
sidebar_label: Store & Forward
|
||||
---
|
||||
|
||||
|
@ -23,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).
|
||||
|
||||
## 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
|
||||
|
||||
### How it works
|
||||
|
@ -324,3 +84,123 @@ Available Commands:
|
|||
| 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.
|
||||
|
||||
## 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>
|
||||
|
|
|
@ -8,11 +8,11 @@ sidebar_label: Telemetry
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
The Telemetry Module provides two types of data over the mesh. Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your meshtastic device and Environment Metrics from attached I2C sensors.
|
||||
The Telemetry Module provides three types of data over the mesh: Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your Meshtastic device, Environment Metrics from attached I2C sensors, and Air Quality Metrics from attached I2C particle sensors.
|
||||
|
||||
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry 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.
|
||||
|
||||
The telemetry module config options are: Device Metrics Update Interval, Environment Metrics Update Interval, Environment Telemetry Enabled, Show on Device Screen, and Display Fahrenheit.
|
||||
<object data="https://www.youtube.com/embed/6jj1s-fsPlc?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
### Currently Supported Sensor Types
|
||||
|
||||
|
@ -27,39 +27,50 @@ The telemetry module config options are: Device Metrics Update Interval, Environ
|
|||
| LPS22 | 0x5D, 0x5c | Barometric pressure |
|
||||
| SHTC3 | 0x70 | Temperature and humidity |
|
||||
| SHT31 | 0x44 | Temperature and humidity |
|
||||
| PMSA003I| 0x12 | Concentration units by size and particle counts by size |
|
||||
|
||||
## Module Config Values
|
||||
|
||||
### Update Intervals
|
||||
### Environment Telemetry Enabled
|
||||
|
||||
### Device Metrics Update Interval
|
||||
|
||||
How often we should send Device Metrics over the mesh.
|
||||
|
||||
Default is every 15 minutes.
|
||||
Enable the Environment Telemetry (Sensors).
|
||||
|
||||
### Environment Metrics Update Interval
|
||||
|
||||
How often we should send Environment(Sensor) Metrics over the mesh.
|
||||
|
||||
Default is every 15 minutes.
|
||||
Default is `900` seconds (15 minutes).
|
||||
|
||||
## Sensor options
|
||||
### Device Metrics Update Interval
|
||||
|
||||
### Environment Telemetry Enabled
|
||||
How often we should send Device Metrics over the mesh.
|
||||
|
||||
Enable the Environment Telemetry (Sensors)
|
||||
Default is `900` seconds (15 minutes).
|
||||
|
||||
### Show on device screen
|
||||
### Environment Screen Enabled
|
||||
|
||||
Show the Telemetry Module on the device display.
|
||||
Show the environment telemetry data on the device display.
|
||||
|
||||
Default is `false`.
|
||||
|
||||
### Display Fahrenheit
|
||||
|
||||
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit using this setting.
|
||||
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit (on the device display only) using this setting.
|
||||
|
||||
Default is `false`.
|
||||
|
||||
### Air Quality Enabled
|
||||
|
||||
This option is used to enable/disable the sending of air quality metrics from an attached supported sensor over the mesh network.
|
||||
|
||||
Default is `false`.
|
||||
|
||||
### Air Quality Interval
|
||||
|
||||
This option is used to configure the interval (in seconds) that should be used to send air quality metrics from an attached supported sensor over the mesh network.
|
||||
|
||||
Default is `900` seconds (15 minutes).
|
||||
|
||||
## Device Config Client Availability
|
||||
|
||||
<Tabs
|
||||
|
@ -78,7 +89,7 @@ values={[
|
|||
Telemetry Config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Telemetry Config**
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Telemetry**
|
||||
|
||||
:::
|
||||
|
||||
|
@ -104,10 +115,12 @@ All telemetry module config options are available in the python CLI. Example com
|
|||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------------------------: | :-----------------: | :---------------------------------------: |
|
||||
| telemetry.device_update_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
|
||||
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
|
||||
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_screen_enabled | `true`, `false` | `0` |
|
||||
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
|
||||
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_screen_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_update_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
|
||||
| telemetry.air_quality_enabled | `true`, `false` | `false` |
|
||||
| telemetry.air_quality_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
|
||||
|
||||
:::tip
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
<object data="https://www.youtube.com/embed/PKUmaELKaUo?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## Traceroute Module Client Availability
|
||||
|
||||
<Tabs
|
||||
|
|
|
@ -24,8 +24,10 @@ By default, nodes will **only** respond to administrative commands via the local
|
|||
|
||||
Before a node will allow remote admin access, it must have a primary channel:
|
||||
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --info
|
||||
```shell title="Command"
|
||||
meshtastic --info
|
||||
```
|
||||
```markdown title="Expected output"
|
||||
Connected to radio
|
||||
...
|
||||
Channels:
|
||||
|
@ -33,25 +35,22 @@ Channels:
|
|||
Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
|
||||
```
|
||||
|
||||
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.
|
||||
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:
|
||||
|
||||
```shell title="Command"
|
||||
meshtastic --ch-add admin
|
||||
```
|
||||
|
||||
:::note
|
||||
The name of the channel is important and must be `admin`.
|
||||
:::
|
||||
|
||||
Your channels will now look like this:
|
||||
|
||||
```shell title="Command"
|
||||
meshtastic --ch-add admin
|
||||
```
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --ch-add admin
|
||||
Connected to radio
|
||||
Writing modified channels to device
|
||||
$ meshtastic --info
|
||||
```
|
||||
Run `meshtastic --info` and your channels will now look like this:
|
||||
|
||||
```shell title="Expected output"
|
||||
Connected to radio
|
||||
...
|
||||
Channels:
|
||||
|
@ -61,11 +60,11 @@ Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
|
|||
Complete URL (includes all channels): https://meshtastic.org/e/#CgMSAQEKKRIgYyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0moaBWFkbWluEgoIATgDQANIAVAb
|
||||
```
|
||||
|
||||
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, 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
|
||||
|
||||
Creating an "admin" channel automatically generates a preshared key. In order to administer to other nodes remotely, we need to copy the preshared key to the new nodes.
|
||||
Creating an "admin" channel automatically generates a preshared key. In order to administer other nodes remotely, we need to copy the preshared key to the new nodes.
|
||||
|
||||
For this step you need physical access to both the nodes.
|
||||
|
||||
|
@ -80,16 +79,18 @@ 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.
|
||||
At this point you can take your remote node and install it far away. You will still be able to change any of its settings.
|
||||
|
||||
## Remotely administering your node
|
||||
|
||||
Now that both your local node and the remote node contain your secret admin channel key, you can do things like:
|
||||
Now that both your local node and the remote node contain your secret admin channel key, you can now change settings remotely:
|
||||
|
||||
Get the node list from the local node:
|
||||
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --nodes
|
||||
```shell title="Command"
|
||||
meshtastic --nodes
|
||||
```
|
||||
```markdown title="Expected output"
|
||||
Connected to radio
|
||||
/-------------------------------------------------------------------------------------------------------------\
|
||||
|N| User |AKA| ID |Latitude|Longitude|Altitude|Battery| SNR | LastHeard | Since |
|
||||
|
@ -99,19 +100,24 @@ Connected to radio
|
|||
```
|
||||
|
||||
Using the node ID from that list, send a message through the mesh telling that node to change its owner name.
|
||||
The --dest argument value must be in single quotes for linux/mac '!28979058', no quotes for Windows !28979058.
|
||||
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --dest '!28979058' --set-owner "Im Remote"
|
||||
:::info
|
||||
The --dest argument value must be in single quotes for linux/mac: '!28979058', no quotes for Windows: !28979058.
|
||||
:::
|
||||
```shell title="Command"
|
||||
meshtastic --dest '!28979058' --set-owner "Im Remote"
|
||||
```
|
||||
```markdown title="Expected output"
|
||||
Connected to radio
|
||||
Setting device owner to Im Remote
|
||||
INFO:root:Requesting configuration from remote node (this could take a while)
|
||||
Waiting for an acknowledgment from remote node (this could take a while)
|
||||
```
|
||||
|
||||
And you can now confirm via the local node that the remote node has changed:
|
||||
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --nodes
|
||||
```shell title="Command"
|
||||
meshtastic --nodes
|
||||
```
|
||||
```markdown title="Expected output"
|
||||
Connected to radio
|
||||
/----------------------------------------------------------------------------------------------------\
|
||||
|N| User |AKA| ID | Position |Battery| SNR | LastHeard | Since |
|
||||
|
@ -120,35 +126,77 @@ 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 settings from the remote node. Here's an example of setting ls_secs using the `--set` command and printing the position settings from the remote node using the `--get` command:
|
||||
|
||||
```shell title="Expected output"
|
||||
$ meshtastic --dest \!28979058 --set ls_secs 301 --info
|
||||
Connected to radio
|
||||
INFO:root:Requesting configuration from remote node (this could take a while)
|
||||
Set ls_secs to 301
|
||||
Writing modified preferences to device
|
||||
Preferences: { "lsSecs": 301, "region": "TW" }
|
||||
Channels:
|
||||
PRIMARY psk=default { "psk": "AQ==" }
|
||||
SECONDARY psk=secret { "psk": "YyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0mo=", "name": "admin" }
|
||||
Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
|
||||
Complete URL (includes all channels): https://meshtastic.org/e/#CgMSAQEKKRIgYyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0moaBWFkbWluEgoIATgDQANIAVAb
|
||||
```shell title="Command"
|
||||
meshtastic --dest '!28979058' --set power.ls_secs 301 --get position
|
||||
```
|
||||
|
||||
## Admin Channel Setup is Complete
|
||||
|
||||
You've finished setting up and adding two devices to the admin channel. Remember, because this is a mesh network, it doesn't matter which node you are at; you could administer your first device we set up from the second one we added to the channel. And the settings and examples on this page are just a taste of the other settings you can set. Also, if you ever want to view a setting without having to read through the `--info`, you can always do the following:
|
||||
|
||||
```shell title="--get vs. --info"
|
||||
$ meshtastic --dest \!28979058 --get ls_secs
|
||||
```markdown title="Expected output"
|
||||
Connected to radio
|
||||
INFO:root:Requesting preferences from remote node (this could take a while)
|
||||
ls_secs: 301
|
||||
Requesting current config from remote node (this can take a while).
|
||||
|
||||
power:
|
||||
wait_bluetooth_secs: 60
|
||||
mesh_sds_timeout_secs: 7200
|
||||
sds_secs: 4294967295
|
||||
ls_secs: 300
|
||||
min_wake_secs: 10
|
||||
|
||||
Set power.ls_secs to 301
|
||||
Writing modified preferences to device
|
||||
Requesting current config from remote node (this can take a while).
|
||||
Received an ACK.
|
||||
Completed getting preferences
|
||||
Waiting for an acknowledgment from remote node (this could take a while)
|
||||
|
||||
position:
|
||||
position_broadcast_secs: 900
|
||||
position_broadcast_smart_enabled: true
|
||||
gps_enabled: true
|
||||
gps_update_interval: 120
|
||||
gps_attempt_time: 900
|
||||
position_flags: 3
|
||||
rx_gpio: 15
|
||||
tx_gpio: 13
|
||||
broadcast_smart_minimum_distance: 100
|
||||
broadcast_smart_minimum_interval_secs: 30
|
||||
|
||||
Completed getting preferences
|
||||
```
|
||||
|
||||
For further reading, I recommend starting out with [Meshtastic-python](/docs/software/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:
|
||||
To set the `hop_limit` to 4 and then get the lora settings to confirm your new settings:
|
||||
|
||||
```shell title="Command"
|
||||
meshtastic --dest '!28979058' --set lora.hop_limit 4 --get lora
|
||||
```
|
||||
```markdown title="Expected output"
|
||||
lora:
|
||||
use_preset: true
|
||||
region: US
|
||||
hop_limit: 3
|
||||
tx_enabled: true
|
||||
tx_power: 30
|
||||
|
||||
Set lora.hop_limit to 4
|
||||
Writing modified preferences to device
|
||||
Requesting current config from remote node (this can take a while).
|
||||
Received an ACK.
|
||||
Completed getting preferences
|
||||
Waiting for an acknowledgment from remote node (this could take a while)
|
||||
|
||||
lora:
|
||||
use_preset: true
|
||||
region: US
|
||||
hop_limit: 4
|
||||
tx_enabled: true
|
||||
tx_power: 30
|
||||
```
|
||||
## Admin Channel Setup is Complete
|
||||
|
||||
You've finished setting up and adding two devices to the admin channel. Remember, because this is a mesh network, it doesn't matter which node you are at; you could administer your first device we set up from the second one we added to the channel. And the settings and examples on this page are just a taste of the other settings you can set.
|
||||
|
||||
For further reading, I recommend starting out with the [Meshtastic Python CLI Guide](/docs/software/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) and
|
||||
[Complete list of user settings in Protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.User)
|
||||
|
|
|
@ -38,7 +38,7 @@ Typical flow when a phone connects to the device should be the following (if you
|
|||
- There are only three relevant endpoints (and they have built in BLE documentation - so use a BLE tool of your choice to watch them): FromRadio, FromNum (sends notifies when new data is available in FromRadio) and ToRadio
|
||||
- SetMTU size to 512
|
||||
- Write a ToRadio.startConfig protobuf to the "ToRadio" endpoint - this tells the radio you are a new connection and you need the entire NodeDB sent down.
|
||||
- Read repeatedly from the "FromRadio" endpoint. Each time you read you will get back a FromRadio protobuf (see Meshtatastic-protobuf). Keep reading from this endpoint until you get back and empty buffer.
|
||||
- Read repeatedly from the "FromRadio" endpoint. Each time you read you will get back a FromRadio protobuf (see Meshtastic-protobuf). Keep reading from this endpoint until you get back and empty buffer.
|
||||
- See below for the expected sequence for your initial download.
|
||||
- After the initial download, you should subscribe for BLE "notify" on the "FromNum" endpoint. If a notification arrives, that means there are now one or more FromRadio packets waiting inside FromRadio. Read from FromRadio until you get back an empty packet.
|
||||
- Any time you want to send packets to the radio, you should write a ToRadio packet into ToRadio.
|
||||
|
|
|
@ -5,7 +5,7 @@ sidebar_label: Module API
|
|||
sidebar_position: 3
|
||||
---
|
||||
|
||||
The purpose of this tutorial is for writing new core modules that can be ran on a device. In most cases, it is best to start with utilizing the serial module rather than creating a new one. However, if you're interested in creating a new core functionality from scratch, then building a module would be appropriate.
|
||||
The purpose of this tutorial is for writing new core modules that can be run on a device. In most cases, it is best to start with utilizing the serial module rather than creating a new one. However, if you're interested in creating a new core functionality from scratch, then building a module would be appropriate.
|
||||
|
||||
## Key concepts
|
||||
|
||||
|
@ -71,7 +71,7 @@ The easiest way to get started is:
|
|||
cp src/modules/ReplyModule.* src/modules/YourModule.*
|
||||
```
|
||||
3. Change the port number from `PortNum_REPLY_APP` to `PortNum_PRIVATE_APP`.
|
||||
4. Edit the `setupModules()` function located at `modules/Moduless.cpp` to add a call to create an instance of your module (see comment at head of that function).
|
||||
4. Edit the `setupModules()` function located at `modules/Modules.cpp` to add a call to create an instance of your module (see comment at head of that function).
|
||||
5. Rebuild with your new module and install on the device.
|
||||
6. Use the [Meshtastic Python CLI tool](https://github.com/meshtastic/Meshtastic-python) to send a packet to your board, for example:
|
||||
- `meshtastic --dest 1234 --sendping` where _1234_ is another mesh node to send the ping to.
|
||||
|
|
|
@ -18,17 +18,15 @@ Another component that we use is [Vercel](https://vercel.com) — a platform for
|
|||
|
||||
## Documentation Organization
|
||||
|
||||
| Section | File Path | Description |
|
||||
| :----------------------: | :------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| About Meshtastic | `docs/about` | High level explanation of of Meshtastic. |
|
||||
| Meshtastic Software | `docs/software` | Current bulk of documentation running through each Meshtastic project. |
|
||||
| Getting Started | `docs/getting-started` | Instructions on how to get the Meshtastic firmware onto a users device. |
|
||||
| Device Settings | `docs/software/settings` | Details each user setting and provides explanations for what the setting does and how to configure the device using the various clients available (Android, CLI, iOS, Web) |
|
||||
| Hardware Details | `docs/hardware` | Any hardware related content. Any time a user is attaching a peripheral accessory to their device. That includes 3D printed cases, antennas, buttons, chimes, rotary encoders, and screens. |
|
||||
| Radio Mesh Details | `docs/mesh` | This section discusses everything relating to the Meshtastic mesh. Mesh health metrics will be discussed here as well as topics such as signal strength, range and anything else pertaining to "over the air". |
|
||||
| Contribute to Meshtastic | `docs/developers` | Details each of the projects and how they work together to give a developer an idea of how the Meshtastic ecosystem operates. |
|
||||
| About the Documentation | `docs/maintaining-documentation` | This section explains how our documentation is organized, how to make edits to the documentation, view a local copy of your fork of the project. Style guides and tips will also be included here. |
|
||||
| Legal | `docs/legal` | Any legal information. Most changes here will be handled by developers actually working on the projects that require any legal disclosures. Examples include: the Meshtastic trademark, terms of service, and privacy policy. |
|
||||
| Section | File Path | Description |
|
||||
| :----------------------: | :---------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| About Meshtastic | `docs/about` | A high level explanation of Meshtastic plus everything relating to the Meshtastic mesh. This includes radio settings, mesh algorithm and encryption. |
|
||||
| Getting Started | `docs/getting-started` | Instructions on how to get the Meshtastic firmware onto a users device. |
|
||||
| Device Settings | `docs/settings` | Details for both the device and module configurations. Details each user setting and offers explanations on their functionalities in addition to guiding the user on how to configure the device using the various clients available (Android, CLI, iOS, Web).|
|
||||
| Hardware Details | `docs/hardware` | Any hardware related content such as officially supported radios and their peripherals such as 3d printed cases, antennas, buttons, chime, rotary encoders, and screens. |
|
||||
| Meshtastic Software | `docs/software` | An overview of the current software used in conjunction with Meshtastic to include officially supported client and community applications. |
|
||||
| Contribute to Meshtastic | `docs/developers` | Details of the necessary information needed for developers to start contributing to the development of the Meshtastic project. |
|
||||
| Legal | `docs/legal` | Any legal information. Most changes here will be handled by developers actually working on the projects that require any legal disclosures. Examples include: the Meshtastic trademark, terms of service, and privacy policy. |
|
||||
|
||||
## Quick Start
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ sidebar_label: OLED Localization
|
|||
Please note that the used font file format differs from common Adafruit GFX.
|
||||
2. Update the `customFontTableLookup` function in `Screen.h`
|
||||
1. To map the double-byte UTF-8 code to the corresponding extended ASCII character of the desired codepage update the `customFontTableLookup` function in the `Screen.h` file.
|
||||
2. Modify the `switch (last)` statement: use left byte from UTF-8 code in the `case` label to map charachter's right byte to its extended ASCII code by specifying an offset.
|
||||
2. Modify the `switch (last)` statement: use left byte from UTF-8 code in the `case` label to map character's right byte to its extended ASCII code by specifying an offset.
|
||||
3. Define language and font in `Screen.cpp`
|
||||
|
||||
```c
|
||||
|
|
|
@ -41,10 +41,6 @@ pytest -m smoke1
|
|||
You need permissions in the GitHub project to make a build
|
||||
:::
|
||||
|
||||
### Meshtastic-flasher
|
||||
|
||||
A `meshtastic-flasher` release consists of publishing the release to PyPi https://pypi.org/project/meshtastic-flasher/ as well as producing single-executable files that are downloadable from Github https://github.com/meshtastic/Meshtastic-gui-installer/releases.
|
||||
|
||||
#### Instructions - automated
|
||||
|
||||
- Go to Actions / Make Release / Run Workflow https://github.com/meshtastic/Meshtastic-gui-installer/actions/workflows/release.yml
|
||||
|
|
|
@ -49,7 +49,7 @@ A description about the project
|
|||
|
||||
<!--You may optionally include brief install/update instructions here-->
|
||||
|
||||
<!--Any other pertenant sections-->
|
||||
<!--Any other pertinent sections-->
|
||||
|
||||
### Compatibility
|
||||
```
|
||||
|
|
|
@ -5,8 +5,7 @@ sidebar_label: ESP32 partitions
|
|||
---
|
||||
|
||||
:::caution
|
||||
It has been reported that some of this information is out of date. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) should fix these partition issues and update you to the current web interface.
|
||||
|
||||
It has been reported that some of this information is out of date.
|
||||
FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.
|
||||
:::
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ The [T-Beam 0.7](/docs/hardware/devices/tbeam#t-beam---v07) board is an earlier
|
|||
:::
|
||||
|
||||
## Command Line Interface Instructions
|
||||
|
||||
### Install Prerequisite Software
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
|
@ -33,7 +33,6 @@ values={[
|
|||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
### Install Prerequisite Software
|
||||
|
||||
Check if you have `python3` and `pip` installed with the following command
|
||||
|
||||
|
@ -53,18 +52,12 @@ If `pip` is not installed, install with
|
|||
|
||||
```shell
|
||||
sudo apt-get install python3-pip
|
||||
```
|
||||
|
||||
### Install `esptool`
|
||||
|
||||
```shell
|
||||
pip3 install --upgrade esptool
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
### Install Prerequisite Software
|
||||
|
||||
|
||||
OS X comes with `Python 2.7` installed, but not `pip`. The following uses Homebrew to install `python3` which includes `pip3`. On MacOS you will use `pip3` instead > of `pip`.
|
||||
|
||||
|
@ -96,12 +89,6 @@ Confirm `pip3` was installed alongside `python3`
|
|||
|
||||
```shell
|
||||
pip3 -v
|
||||
```
|
||||
|
||||
### Install `esptool`
|
||||
|
||||
```shell
|
||||
pip3 install --upgrade esptool
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
@ -123,15 +110,17 @@ pip --version
|
|||
|
||||
:::
|
||||
|
||||
### Install `esptool`
|
||||
|
||||
```shell
|
||||
pip install --upgrade esptool
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Install `esptool`
|
||||
|
||||
```shell
|
||||
pip3 install --upgrade esptool
|
||||
```
|
||||
|
||||
|
||||
### Confirm Communication With Chip
|
||||
|
||||
<Tabs
|
||||
|
|
|
@ -10,7 +10,7 @@ import TabItem from "@theme/TabItem";
|
|||
import Link from "@docusaurus/Link";
|
||||
|
||||
:::info
|
||||
This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [meshtastic flasher](/docs/software/python/flasher) or [manually flashing](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||
This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [manually flashing](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||
:::
|
||||
|
||||
:::caution
|
||||
|
@ -19,7 +19,7 @@ Make sure not to power the radio on without first attaching the antenna! You cou
|
|||
|
||||
## Background
|
||||
|
||||
Situations that may require usage an external USB to Serial Adapter:
|
||||
Situations that may require using an external USB to Serial Adapter:
|
||||
|
||||
- Due to the chip shortage, recently purchased devices such as the TTGO T-Beam may come with legacy or non-standard USB to Serial adapter chips that are unreliable in some cases.
|
||||
- Certain devices might have defective USB to Serial chip.
|
||||
|
@ -55,10 +55,7 @@ Disconnect your USB to Serial Adapter from the computer before starting this pro
|
|||
|
||||
### Flashing
|
||||
|
||||
After following the steps above, your device should be in flash mode. You can flash your device using the [Meshtastic flasher](/docs/software/python/flasher) or [manual method](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||
|
||||
Example using the Meshtastic Flasher
|
||||

|
||||
After following the steps above, your device should be in flash mode. You can flash your device using the [manual method](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||
|
||||
After flashing the device is complete, reset your device (via the RST button if available).
|
||||
If you have the Meshtastic Python CLI installed, you can run `meshtastic --noproto` to connect the device again over the adapter and view the serial output to confirm Meshtastic installed correctly.
|
||||
|
@ -66,14 +63,9 @@ If you have the Meshtastic Python CLI installed, you can run `meshtastic --nopro
|
|||
|
||||
### Troubleshooting
|
||||
|
||||
In the Meshtastic Flasher, device detection may not work when using the external USB to Serial adapter. You might need to manually select the correct device type from the drop-down.
|
||||
|
||||

|
||||
|
||||
Sometimes you might receive an error for COM port permission in the Meshtastic Flasher or the manual device install scripts, this can be caused by a number of different issues.
|
||||
You might receive an error for COM port permission in the manual device install scripts, this can be caused by a number of different issues.
|
||||
|
||||
You might need to run the process as an administrator, check to ensure software like Cura isn't monopolizing COM ports, or reboot.
|
||||

|
||||
|
||||
## Connect and Configure Device
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
id: python-flasher
|
||||
title: Using Meshtastic Python Flasher
|
||||
sidebar_label: Python Flasher
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import MFlasher from "../../../software/python-flasher.mdx";
|
||||
import Link from "@docusaurus/Link";
|
||||
|
||||
<MFlasher components={props.components} />
|
|
@ -9,4 +9,11 @@ sidebar_position: 2
|
|||
|
||||
The nRF52 based devices have the easiest firmware upgrade process. No driver or software install is required on any platform.
|
||||
|
||||
1. The [Drag & Drop](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop) firmware installation method is considered the "manual process" and recommended as the easiest solution.
|
||||
### Drag & Drop
|
||||
nRF52 devices use the [Drag & Drop](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop) installation method to install firmware releases.
|
||||
|
||||
### Factory Erase
|
||||
You may wish to perform a [Factory Erase](/docs/getting-started/flashing-firmware/nrf52/nrf52-erase) prior to installing firmware to clear data that may change format and location between releases.
|
||||
|
||||
### Convert RAK4631-R to RAK4631
|
||||
If your device did not come with the Arduino bootloader you will need to [perform the conversion](/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r).
|
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
id: python-flasher
|
||||
title: Using Meshtastic Python Flasher
|
||||
sidebar_label: Python Flasher
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Link from "@docusaurus/Link";
|
||||
import MFlasher from "../../../software/python-flasher.mdx";
|
||||
|
||||
<MFlasher components={props.components} />
|
|
@ -57,7 +57,13 @@ Some cables only provide _charging_, verify that your cable is also capable of _
|
|||
|
||||
### Install Serial Drivers
|
||||
|
||||
If you don't have serial drivers installed on your computer, please choose one of the options below and install it before continuing.
|
||||
:::caution
|
||||
|
||||
nRF52 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
|
||||
|
||||
:::
|
||||
|
||||
If you require serial drivers installed on your computer, please choose one of the options below and install it before continuing.
|
||||
|
||||
<div className="indexCtasBody">
|
||||
<div className="split-container">
|
||||
|
|
|
@ -11,6 +11,12 @@ import Link from "@docusaurus/Link";
|
|||
|
||||
## Install nRF52 USB to Serial Drivers
|
||||
|
||||
:::caution
|
||||
|
||||
nRF52 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
|
||||
|
||||
:::
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="windows"
|
||||
|
@ -22,17 +28,16 @@ values={[
|
|||
|
||||
<TabItem value="linux">
|
||||
|
||||
- [CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
|
||||
- [CH34x Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="macos">
|
||||
|
||||
- [CH9102 Driver - macOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
|
||||
|
||||
:::caution
|
||||
:::info
|
||||
|
||||
With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ download the USB device drivers unless required. If you downloaded/installed any already, please remove them.
|
||||
With the latest versions of MacOS, the USB Serial driver is built-in. If you downloaded/installed any already, please remove them.
|
||||
|
||||
:::
|
||||
|
||||
|
@ -47,11 +52,18 @@ Uninstall the kernel extension:
|
|||
3. `sudo rm -rf /Library/Extensions/usbserial.kext`
|
||||
4. Reboot
|
||||
|
||||
|
||||
### Install the CH34x Driver
|
||||
|
||||
- [CH34x Driver- macOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
|
||||
|
||||
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="windows">
|
||||
|
||||
- [CH9102 Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html)
|
||||
- [CH34x Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html)
|
||||
|
||||
</TabItem>
|
||||
|
||||
|
|
|
@ -43,12 +43,13 @@ values={[
|
|||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
1. Navigate to `Apple Menu > About This Mac > System Report... > Hardware > USB`.
|
||||
1. Navigate to `Apple Menu > About This Mac > More Info > System Report... > Hardware > USB`.
|
||||
2. You should see similar to one of the following entries:
|
||||
|
||||
- `CP210X USB to UART Bridge Controller`
|
||||
- `CH9102 USB to UART Bridge Controller`
|
||||
- `WisCore RAK4631 Board`
|
||||
- `USB Single Serial`
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
@ -58,7 +59,8 @@ values={[
|
|||
|
||||
- `Silicon Labs CP210X USB to UART Bridge (COM5)`
|
||||
- `Silicon Labs CH9102 USB to UART Bridge (COM5)`
|
||||
- `FIXME (WISBLOCK OUTPUT)`
|
||||
- `USB-Enhanced-SERIAL CH9102 (COM5)`
|
||||
- `USB Serial Device (COM5)`
|
||||
|
||||
</TabItem>
|
||||
</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.
|
||||
:::
|
||||
|
||||
<object data="https://www.youtube.com/embed/V3f-Y3EfsBU?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## Important considerations
|
||||
|
||||
### What transmission frequency are you using?
|
||||
|
|
|
@ -10,3 +10,7 @@ sidebar_label: Trademark Grants
|
|||
- Details: Meshbrasil.com is an online shop for Meshtastic powered devices and accessories which carry the "Powered by Meshtastic" logo. The use of the Meshtastic Logo and Trademarks does not imply Meshbrasil.com is sponsored or endorsed by Meshtastic. Meshbrasil.com also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: [Garth Vander Houwen](https://garthvh.com/store/)
|
||||
- Details: Garth is a member of the Meshtastic LLC, is the developer of the iOS app and runs an online shop for Meshtastic powered devices which carry the "Powered by Meshtastic" and "Chirpy" logo. The use of the Meshtastic Logo and Trademarks does not imply Garth is sponsored or endorsed by Meshtastic. Garth also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: [Anthony (Tony) Good](https://quantumshadow3d.etsy.com)
|
||||
- Details: Tony is an admin and contributer of computer aided design (CAD)/3D designs primarily for device enclosures and accessories, and runs an online shop for Meshtastic powered devices which carry the "Meshtastic" and "M" logos. The use of the Meshtastic Logo and Trademarks does not imply Tony is sponsored or endorsed by Meshtastic. Tony also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: http://k9rocket.tech
|
||||
- Details: K9 Rocket Technologies is an open technology development company selling and implementing Meshtastic-powered devices. The devices and their respective promotional content carry the "Powered by Meshtastic", "Meshtastic", & "M" logos. The use of the Meshtastic Logo and Trademarks does not imply K9 Rocket Technologies is sponsored or endorsed by Meshtastic. K9 Rocket Technologies also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason
|
||||
|
|
|
@ -19,12 +19,12 @@ You will need a device with Meshtastic installed to go any further. See the [get
|
|||
|
||||
[](/img/android/android-settings-none.png)
|
||||
|
||||
To find devices to connect via Bluetooth click the button on the bottom right corner.
|
||||
To find devices to connect via Bluetooth click the "+" button on the bottom right corner.
|
||||
|
||||
[](/img/android/android-settings-connect.png)
|
||||
|
||||
1. Select the device name, `Meshtastic_bebc` in this example. (You will see devices within range, so make sure to get the right one.)
|
||||
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the screen.
|
||||
1. Select the device name, `Meshtastic_769d` in this example. (You will see devices within range, so make sure to get the right one.)
|
||||
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the device screen.
|
||||
:::note
|
||||
If the device was flashed without a screen connected, it will automatically default to a pairing PIN of '123456'. If it was booted with a screen once, the config is set to random pin. If you remove the screen afterwards, it stays like this.
|
||||
Either set it to use the default pin manually, or factory reset it and it will revert to '123456' after the next boot.
|
||||
|
@ -43,19 +43,24 @@ The cloud icon at the top right corner indicates if you are connected to a devic
|
|||
|
||||
## Common tasks
|
||||
|
||||
### Set your region
|
||||
|
||||
In order to start communicating with your mesh, you must select a region. This setting controls which frequency range your device uses and should be set according to your location. See [Region Settings](https://meshtastic.org/docs/getting-started/initial-config#set-regional-settings) for a list of region codes and their meanings.
|
||||
- Tap on the "Region" dropdown in the top-right corner and make the appropriate selection.
|
||||
|
||||
### Change your name
|
||||
|
||||
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens.
|
||||
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens. Initials, or "short name", can be customized in the Radio configuration - User settings. The four characters displayed after your initials cannot be changed. These are the last four hex digits of the device MAC address. Devices with unset names will display these four characters as the device short name.
|
||||
|
||||
[](/img/android/android-settings-mike.png)
|
||||
|
||||
### Setup a channel
|
||||
|
||||
If you have been sent a QR code or link for Meshtastic, then skip ahead to [Join a Channel](#join-a-channel). Devices have a default channel preconfigured, shown as `#LongSlow-V (Long range / Slow)`. It is OK to use this initially.
|
||||
If you have been sent a QR code or link for Meshtastic, then skip ahead to [Join a Channel](#join-a-channel). Devices have a default channel preconfigured, shown as `#LongFast-I (Long range / Fast)`. It is OK to use this channel if you want your node to be visible to all Meshtastic users (within range) who are using the default channel.
|
||||
|
||||
You can also create a new Channel and share the details with your group. The group is private and only those who have the details can join the group and see the messages. You will need to do this once initially, and then only when you want to change or make a new mesh network group.
|
||||
|
||||
The Channel tab allows you to do this. This screen is initially locked so that you don't change it accidentally. Press the lock symbol, and you will be able to edit. First, select the Channel options, as shown here, and chose the most appropriate option:
|
||||
The Channel tab allows you to create a new private mesh. This screen is initially locked so that you don't change it accidentally. Press the lock symbol, and you will be able to edit. First, select the Channel options, as shown here, and chose the most appropriate option:
|
||||
|
||||
[](/img/android/android-change-channel.png)
|
||||
|
||||
|
@ -67,7 +72,7 @@ You will see a warning because changing the Channel will break communications wi
|
|||
|
||||
[](/img/android/android-new-channel.png)
|
||||
|
||||
The app will generate a new QR code on the screen, and this encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
||||
The app will generate a new QR code on the screen. This encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
||||
|
||||
### Join a channel
|
||||
|
||||
|
@ -112,17 +117,17 @@ You can test changing channels with the QR code shown below.
|
|||
|
||||
[](/img/android/android-messages.png)
|
||||
|
||||
The message window operates like most messaging apps. Note that the `(All) Primary channel` contact is always shown and works as a group chat. Other contacts are for Direct Messaging, or private chat.
|
||||
The message window operates like most messaging apps. Note that your primary channel i.e. `LongFast` contact is always shown and works as a group chat. Other contacts are for direct messaging, or private group chats.
|
||||
|
||||
- Long press contacts or messages for options, like delete.
|
||||
- Long press a node from the Nodes tab to send Direct Messages.
|
||||
- Press a node from the Nodes tab to send Direct Messages.
|
||||
|
||||
With LoRa (or any radio) there is some uncertainty that the messages has been received, so there is a confirmation built-in to the protocol. There are small icons shown to the right of the messages you send:
|
||||
With LoRa (or any radio) there is some uncertainty that the message has been received, so there is a confirmation built-in to the protocol. There are small icons shown to the right of the messages you send:
|
||||
|
||||
- Cloud with an up arrow: the message is queued in the app, waiting to be handed to the device.
|
||||
- Cloud only: the device received the message from the app, and it has been sent and transmitted via LoRa.
|
||||
- Cloud with a check mark: received at least one node's acknowledgement response. Confirmations could be from any one device.
|
||||
- Person with a check mark - The intended recipient of your direct message acknowledged the message.
|
||||
- Person with a check mark - The intended recipient node of your direct message acknowledged the message.
|
||||
- Cloud crossed out: the initial sender did not receive any confirmation within a certain timeout.
|
||||
|
||||
By default there is no long-term store-and-forward of messages, so messages not received during transmission are lost.
|
||||
|
@ -131,19 +136,25 @@ By default there is no long-term store-and-forward of messages, so messages not
|
|||
|
||||
[](/img/android/android-nodes.png)
|
||||
|
||||
The network list shows all the users (devices) that have connected to the same Channel. For each entry, it shows the last time they were active, their location and distance (when available), and their last known power status. In the example above, Lora V2 is the local user, m8n was last heard from 3 minutes ago and is 29m away, and 25C is active and 498m away.
|
||||
The network list shows all the users (devices) that have connected to the same Channel. For each entry, it shows the last time they were active, their location and distance (when available), and their last known power status. In the example above, Monkey is the local user, Rabbit was last heard from 10 minutes ago and is 50m away, and Panda was last heard 11 minutes ago and 5m away.
|
||||
|
||||
This is a list of network nodes, unnamed nodes are shown as `Unknown a3c9` (where `a3c9` is the last 4 hex digits from the MAC address.)
|
||||
|
||||
- Long press a node from the list to send Direct Messages.
|
||||
- Tap on a node from the list to start Direct Messaging, request a position update, or request a [traceroute](/docs/settings/moduleconfig/traceroute).
|
||||
- If you have an [Admin Channel](/docs/configuration/remote-admin) enabled on your devices, tapping on the node will also display an option to remotely configure the node.
|
||||
|
||||
### View the map
|
||||
|
||||
[](/img/android/android-map.png)
|
||||
[](/img/android/android-map.png)
|
||||
|
||||
The Map tab will show a local map with an icon for each active mesh node that has a known position. The users names are shown against the icon.
|
||||
The Map tab will show a local map with an icon for each active mesh node that has a known position. The users names are shown above the icon.
|
||||
|
||||
The map is provided by [Mapbox](https://docs.mapbox.com/help/how-mapbox-works) (free-tier), and the map data is sourced from [OpenStreetMap OSM](https://www.openstreetmap.org). Mapbox currently requires analytics to be enabled for you to use their mapping system. There is currently no off-line maps (phone needs mobile data or Wifi), although this will be improved in the future. If you don't see the features that you'd expect on the map then head over to [OpenStreetMap OSM](https://www.openstreetmap.org) where you can contribute new data to the map.
|
||||
|
||||
[](/img/android/android-map-layers.png)
|
||||
|
||||
- Clicking the layers icon in the top-right will allow you to select the map type.
|
||||
|
||||
[](/img/android/android-map-download.png)
|
||||
|
||||
- Some map types allow downloading for offline use. If offline maps are available for your selected map type, a download icon will appear in the bottom-right corner of the map. Tap this icon and choose the option to Download Region, then select the area you wish to download.
|
||||
|
||||
## Configuration options
|
||||
|
||||
|
@ -157,28 +168,39 @@ Pressing the three vertical dots in the top right corner shows the configuration
|
|||
|
||||
The debug panel allows you to see all packets sent between the application and the device. This can be useful for debugging purposes.
|
||||
|
||||
### Advanced settings
|
||||
### Radio Configuration
|
||||
|
||||
[](/img/android/android-advanced-settings.png)
|
||||
[](/img/android/android-radio-configuration.png)
|
||||
|
||||
#### Broadcast position period
|
||||
|
||||
This allows you to disable or change the frequency with which your location is broadcast across the mesh. By default, this is set to 900 seconds (15 minutes). The minimum time this can be set for the default channel is 375 seconds, the reasons for which have been [discussed on the forum](https://meshtastic.discourse.group/t/lost-messages-while-testing/2455/19).
|
||||
|
||||
#### Device sleep period (now disabled by default & no longer recommended)
|
||||
|
||||
ESP32 devices can enter sleep mode to save battery life. During sleep Bluetooth is turned off. This setting allows the length of the sleep mode to be changed from the default 300 seconds (5 minutes). After this time period, they awake to check the phone for any queued messages and then go back to sleep, alternating between sleep and awake states. Receiving a message over LoRa (the LoRa receiver never switches off) or pressing a program button (if there is one on the device) also awakes the device.
|
||||
Radio Configuration opens a list of all radio and module configuration settings.
|
||||
- See [Device Config](/docs/settings/config) for radio settings.
|
||||
- See [Module Config](/docs/settings/moduleconfig) for module settings.
|
||||
- At the end of this list are buttons for Reboot, Shutdown, Factory reset, and NodeDB reset.
|
||||
|
||||
### Export rangetest.csv
|
||||
|
||||
This allows you to save all your position data with GPS coordinates into a .csv (comma separated value) file on your phone. This feature is similar but independent from the device range test module, and results may differ.
|
||||
Allows you to save all your network's position data with GPS coordinates into a .csv (comma separated value) file on your phone. This file can be imported into the spreadsheet application of your choice for easy viewing. This feature is similar but independent from the device [range test module](/docs/settings/moduleconfig/range-test), and results may differ.
|
||||
|
||||
### Theme
|
||||
|
||||
[](/img/android/android-settings-theme.png)
|
||||
|
||||
This allows you to change between light and dark themes, or to select the system default.
|
||||
Allows you to change between light and dark themes, or to select the system default.
|
||||
|
||||
### Language
|
||||
|
||||
Allows you to select a language for the application's user interface.
|
||||
|
||||
### Show Introduction
|
||||
|
||||
Opens the introduction slideshow.
|
||||
|
||||
### Quick chat options
|
||||
|
||||
[](/img/android/android-quick-chat.png)
|
||||
|
||||
Brings up an editor to create and edit quick response messages. These will appear as buttons in the chat window. Messages have the option to send instantly, or be appended to your message and sent manually.
|
||||
|
||||
### About
|
||||
|
||||
Clicking this shows the current app version.
|
||||
Displays the current app version.
|
||||
|
|
BIN
docs/software/integrations/app.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
62
docs/software/integrations/caltopo.mdx
Normal file
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
id: integrations-caltopo
|
||||
title: CalTopo / SARTopo
|
||||
sidebar_label: CalTopo / SARTopo
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
## CalTopo / SARTopo
|
||||
|
||||
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
|
||||
|
||||
To configure our Meshtastic device for this integration, we have a couple of different options, both of which utilize the [Serial module](/docs/settings/moduleconfig/serial):
|
||||
|
||||
#### Enabling serial over the device's USB port
|
||||
```shell title="Serial over USB"
|
||||
meshtastic --set serial.enabled true --set serial.baud BAUD_9600 --set serial.mode CALTOPO --set serial.override_console_serial_port true
|
||||
```
|
||||
|
||||
#### Enabling serial over an external USB to Serial adapter
|
||||
```shell title="External serial adapter"
|
||||
meshtastic --set serial.enabled true --set serial.baud BAUD_9600 --set serial.mode CALTOPO --set serial.txd = 13 --set serial.rxd = 14
|
||||
```
|
||||
|
||||
:::info
|
||||
Ensure that serial baud rate is set to `9600` on both the Meshtastic device and the CalTopo / SARTopo `topo.properties` configuration
|
||||
:::
|
||||
|
||||
|
||||
### Setting up CalTopo / SARTopo
|
||||
|
||||
To setup CalTopo for Meshtastic integration using the Live Tracking via APRS, refer to the official [documentation](https://training.caltopo.com/all_users/share/live-tracking#aprs).
|
||||
|
||||
Example `topo.properties` file configuration for use with Meshtastic:
|
||||
|
||||

|
||||
|
||||
After starting CalTopo Desktop, NMEA waypoint location sentences should be streamed into the logs from the connected Meshtastic device every 10 seconds:
|
||||
|
||||

|
||||
|
||||
In the desktop's web UI for your CalTopo map, scroll down and check the **Shared Locations** checkbox under **Realtime Data**. Your nodes should appear on the map as points if they are connected correctly.
|
||||
|
||||

|
||||
|
||||
You can click on one or more of the node points and in the resulting tooltip, click **Record to Map**
|
||||
|
||||

|
||||
|
||||
In the resulting dialog, you can assign attributes such as a label or color to the live track created by the node.
|
||||
|
||||
|
||||

|
||||
|
||||
When you view the shared map on another device or mobile, the nodes should appear there as well now, if both the desktop and mobile device have internet connectivity.
|
||||
|
||||

|
14
docs/software/integrations/index.mdx
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: Meshtastic Integrations
|
||||
slug: /software/integrations
|
||||
sidebar_label: Integrations
|
||||
sidebar_position: 11
|
||||
---
|
||||
|
||||
The Meshtastic ecosystem is highly extensible and allows easy integration with a number of existing software products and projects.
|
||||
|
||||
Current Meshtastic integrations:
|
||||
|
||||
- [CalTopo / SARTopo](/docs/software/integrations/integrations-caltopo) - Track Meshtastic nodes in CalTopo and SARTopo.
|
||||
|
||||
Support for the integrated products should be sought from their respective authors or vendors.
|
|
@ -15,7 +15,7 @@ The [Meshtastic-python repo](https://github.com/meshtastic/Meshtastic-python) an
|
|||
|
||||
If you wish to view the code or contribute to development of the python library or the command line interface, please visit the Meshtastic python [GitHub page](https://github.com/meshtastic/Meshtastic-python).
|
||||
|
||||
There are standalone executables for Windows and Ubuntu if you do not want to install python and/or the python libraries required to run the mestastic CLI tool. See [Standalone](#standalone) for more information.
|
||||
There are standalone executables for Windows and Ubuntu if you do not want to install python and/or the python libraries required to run the meshtastic CLI tool. See [Standalone](#standalone) for more information.
|
||||
|
||||
Installation can also be easily done through the [Python package installer pip](https://pypi.org/project/meshtastic):
|
||||
:::note
|
||||
|
@ -190,7 +190,7 @@ Wifi connection is currently under development and may not be working properly j
|
|||
```
|
||||
- Upgrade pip and installed meshtastic and some of its dependencies
|
||||
```shell
|
||||
pip install --upgrade pip pygatt pytap2 wheel mesthtastic
|
||||
pip install --upgrade pip pygatt pytap2 wheel meshtastic
|
||||
```
|
||||
|
||||
:::note
|
||||
|
|
|
@ -1,218 +0,0 @@
|
|||
---
|
||||
id: flasher
|
||||
title: Using Meshtastic Python Flasher
|
||||
sidebar_label: Python Flasher
|
||||
slug: /software/python/flasher
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
import Link from "@docusaurus/Link";
|
||||
|
||||
:::caution
|
||||
This method is no longer supported. Please use a [supported method](/docs/getting-started/flashing-firmware).
|
||||
:::
|
||||
|
||||
***
|
||||
|
||||
:::caution
|
||||
Make sure not to power the radio on without first attaching the antenna! You could damage the radio chip!
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
Meshtastic Flasher (aka m-flasher) is a graphical user interface for flashing [supported devices](/docs/hardware) with Meshtastic.
|
||||
The following operating systems are currently supported: Windows, Mac, and Ubuntu.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Verify that Python3 is installed
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
```shell title="Check python3 version"
|
||||
python3 --version
|
||||
# If version is less than v3.6, please update python3
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
```shell title="Check python3 version"
|
||||
python3 --version
|
||||
# If version is less than v3.6, please update python3
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
```shell title="Check python3 version"
|
||||
python3 --version
|
||||
# If version is less than v3.9+, please update python3
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Install or Update Python3
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
```shell title="Install python3, pip, and venv"
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
sudo apt install -y python3 python3-pip python3-venv
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
- [Download directly from python.org](https://www.python.org/downloads/macos/)
|
||||
- [Homebrew](https://brew.sh/): `brew install python@3.9`
|
||||
- [MacPorts](https://www.macports.org/)
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
- [Download directly from python.org](https://www.python.org/downloads/windows/)
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Install or Upgrade App
|
||||
|
||||
For **Windows**, the [installer](https://github.com/meshtastic/Meshtastic-gui-installer/releases/download/winapp1.0.3/meshtastic-flasher.zip) will manage installing python and flasher updates automatically.
|
||||
|
||||
For **macOS** and **Linux**, it is recommended that you install using `pip`.
|
||||
|
||||
Note: Update an existing installation using `pip install meshtastic-flasher -U`
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
```shell title="Install Meshtastic Flasher"
|
||||
python3 --version
|
||||
# ensure you are using at least python v3.6
|
||||
# change to a directory where you want to create a python virtual environment
|
||||
mkdir some_dir
|
||||
cd some_dir
|
||||
# if the following command fails, it might tell you what package to install
|
||||
python3 -m venv venv
|
||||
# activate the python virtual environment
|
||||
source venv/bin/activate
|
||||
# your prompt should change - it should include "(venv) in the front
|
||||
# upgrade pip
|
||||
pip install --upgrade pip
|
||||
pip install meshtastic-flasher
|
||||
```
|
||||
|
||||
```shell title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
```shell title="Install Meshtastic Flasher"
|
||||
python3 --version
|
||||
# ensure you are using at least python v3.6
|
||||
# change to a directory where you want to create a python virtual environment
|
||||
mkdir some_dir
|
||||
cd some_dir
|
||||
python3 -m venv venv
|
||||
# activate the python virtual environment
|
||||
source venv/bin/activate
|
||||
# your prompt should change - it should include "(venv) in the front
|
||||
# upgrade pip
|
||||
pip install --upgrade pip
|
||||
pip install meshtastic-flasher
|
||||
```
|
||||
|
||||
```shell title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
```shell title="Install Meshtastic Flasher"
|
||||
# open a command prompt
|
||||
# create a new directory for the python virtual environment
|
||||
cd c:\
|
||||
mkdir some_dir
|
||||
cd some_dir
|
||||
# check that python version is sufficient, must be at least v3.9+
|
||||
python -m venv venv
|
||||
# activate the python virtual environment
|
||||
venv\Scripts\activate
|
||||
# your prompt should change - it should have (venv) at the beginning
|
||||
pip install meshtastic-flasher
|
||||
```
|
||||
|
||||
```shell title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Flashing the Device
|
||||
|
||||
The Meshtastic Flasher will flash the latest firmware on esp32 and nrf52 devices. This is a newly developed application (as of February 1, 2022), so there may be some issues discovered as it is tested by users.
|
||||
|
||||
There are three steps:
|
||||
|
||||
1. Click the **GET VERSIONS** button to get the versions available (from GitHub).
|
||||
2. Click the **DETECT DEVICE** button to determine the port and device variant connected.
|
||||
3. Click the **FLASH** button to flash the version selected using the port selected to the device.
|
||||
|
||||
## Issues?
|
||||
|
||||
If you run into an issue, please create a ticket here: [Flasher Issues](https://github.com/meshtastic/Meshtastic-gui-installer/issues)
|
||||
|
||||
The code can be found at the [Meshtastic-gui-installer repo](https://github.com/meshtastic/Meshtastic-gui-installer)
|
||||
|
||||
## Known limitations
|
||||
|
||||
The following are known limitations:
|
||||
|
||||
- Raspberry Pi is not available, since it is arm-based and there are no pre-built libraries for [PySide](https://wiki.qt.io/Qt_for_Python)
|
||||
- Ubuntu 20.04 is the version used for testing, it may work with other versions.
|
||||
- See [README](https://github.com/meshtastic/Meshtastic-gui-installer/blob/master/README.md) for more details.
|
||||
|
||||
## Connect and Configure Device
|
||||
|
||||
After flashing the Meshtastic firmware to the device, you can proceed with the initial configuration.
|
||||
|
||||
<div className="indexCtasBody">
|
||||
<Link
|
||||
className={"button button--outline button--lg cta--button"}
|
||||
to={"/docs/getting-started/initial-config"}
|
||||
>
|
||||
Connect and Configure Device
|
||||
</Link>
|
||||
</div>
|
|
@ -284,8 +284,8 @@ function Home() {
|
|||
style={{ display: "flex", justifyContent: "center" }}
|
||||
>
|
||||
<p>
|
||||
The Meshtastic Flasher application can assist you in flashing
|
||||
the firmware and configuring settings.
|
||||
The Meshtastic Web-Based Flasher & Clients can assist you in
|
||||
flashing the firmware and configuring settings.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
BIN
static/img/android/android-channel-edit-sm.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
static/img/android/android-channel-edit.png
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
static/img/android/android-map-download-c.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
static/img/android/android-map-download.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
static/img/android/android-map-layers-c.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
static/img/android/android-map-layers.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 748 KiB |
BIN
static/img/android/android-menu-channel.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 171 KiB |
BIN
static/img/android/android-quick-chat-sm.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
static/img/android/android-quick-chat.png
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
static/img/android/android-radio-configuration-c.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
static/img/android/android-radio-configuration.png
Normal file
After Width: | Height: | Size: 348 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 227 KiB |
BIN
static/img/software/integrations/caltopo/app.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
static/img/software/integrations/caltopo/click.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
static/img/software/integrations/caltopo/local-stations.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
static/img/software/integrations/caltopo/logs.png
Normal file
After Width: | Height: | Size: 190 KiB |
BIN
static/img/software/integrations/caltopo/properties.png
Normal file
After Width: | Height: | Size: 250 KiB |
BIN
static/img/software/integrations/caltopo/track.png
Normal file
After Width: | Height: | Size: 78 KiB |