mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-03-05 21:00:08 -08:00
Format with prettier
This commit is contained in:
parent
7d6338319b
commit
f92647ef24
|
@ -3,6 +3,7 @@ id: clients
|
|||
title: Clients
|
||||
sidebar_label: Clients
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
## Available Clients
|
||||
|
|
|
@ -3,4 +3,5 @@ id: overview
|
|||
title: Meshtastic Concepts
|
||||
sidebar_label: Concepts Overview
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
|
@ -4,6 +4,7 @@ title: About Meshtastic
|
|||
sidebar_label: About Meshtastic
|
||||
slug: /about
|
||||
---
|
||||
|
||||
:::info
|
||||
This section is new and is still being developed. If you'd like to contribute, please do!
|
||||
:::
|
||||
|
@ -25,6 +26,7 @@ When a receiving radio captures a packet, it checks to see if it has heard that
|
|||
For each message a radio rebroadcasts, it marks the "hop limit" down by one. When a radio receives a packet with a hop limit of zero, it will not rebroadcast the message.
|
||||
|
||||
## Who develops Meshtastic
|
||||
|
||||
<!--- FIXME add Github organization list/contributor list --->
|
||||
|
||||
Meshtastic is an open source project available on GitHub. Our generous volunteers donate their personal time to write and maintain this codebase. If you would like to contribute see our [GitHub](https://github.com/meshtastic), join our [Discord server](https://discord.com/invite/UQJ5QuM7vq), and read up on our [forum](https://meshtastic.discourse.group).
|
||||
|
|
|
@ -12,4 +12,4 @@ I want something that just works.
|
|||
|
||||
Tinkerer
|
||||
|
||||
Maker
|
||||
Maker
|
||||
|
|
|
@ -12,9 +12,9 @@ In order to compile a new version of Meshtastic that can use MapBox you will nee
|
|||
|
||||
This is fairly simple to do.
|
||||
|
||||
* Create an account at MapBox
|
||||
* Copy the public token associated with that account to the clipboard
|
||||
* Paste that into the file "…/src/main/res/values/mapbox-token.xml"
|
||||
- Create an account at MapBox
|
||||
- Copy the public token associated with that account to the clipboard
|
||||
- Paste that into the file "…/src/main/res/values/mapbox-token.xml"
|
||||
|
||||
## Examples of what can be achieved with MapBox
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ When the ESP32 advances fromnum, it will delay doing the notify by 100ms, in the
|
|||
|
||||
Note: that if the phone ever sees this number decrease, it means the ESP32 has rebooted.
|
||||
|
||||
Re: Queue management,
|
||||
Re: Queue management,
|
||||
not all messages are kept in the fromradio queue (filtered based on SubPacket):
|
||||
|
||||
- only the most recent Position and User messages for a particular node are kept
|
||||
|
@ -111,16 +111,16 @@ SoftwareUpdateService UUID cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30
|
|||
|
||||
Characteristics
|
||||
|
||||
| UUID | properties | description |
|
||||
| ------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| e74dd9c0-a301-4a6f-95a1-f0e1dbea8e1e | write,read | total image size, 32 bit, write this first, then read back to see if it was acceptable (0 mean not accepted) |
|
||||
| e272ebac-d463-4b98-bc84-5cc1a39ee517 | write | data, variable sized, recommended 512 bytes, write one for each block of file |
|
||||
| 4826129c-c22a-43a3-b066-ce8f0d5bacc6 | write | crc32, write last - writing this will complete the OTA operation, now you can read result |
|
||||
| 5e134862-7411-4424-ac4a-210937432c77 | read,notify | result code, readable but will notify when the OTA operation completes |
|
||||
| 5e134862-7411-4424-ac4a-210937432c67 | write | sets the region for programming, currently only 0 (app) or 100 (spiffs) are defined, if not set app is assumed |
|
||||
| GATT_UUID_SW_VERSION_STR/0x2a28 | read | We also implement these standard GATT entries because SW update probably needs them: |
|
||||
| GATT_UUID_MANU_NAME/0x2a29 | read | |
|
||||
| GATT_UUID_HW_VERSION_STR/0x2a27 | read | |
|
||||
| UUID | properties | description |
|
||||
| ------------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| e74dd9c0-a301-4a6f-95a1-f0e1dbea8e1e | write,read | total image size, 32 bit, write this first, then read back to see if it was acceptable (0 mean not accepted) |
|
||||
| e272ebac-d463-4b98-bc84-5cc1a39ee517 | write | data, variable sized, recommended 512 bytes, write one for each block of file |
|
||||
| 4826129c-c22a-43a3-b066-ce8f0d5bacc6 | write | crc32, write last - writing this will complete the OTA operation, now you can read result |
|
||||
| 5e134862-7411-4424-ac4a-210937432c77 | read,notify | result code, readable but will notify when the OTA operation completes |
|
||||
| 5e134862-7411-4424-ac4a-210937432c67 | write | sets the region for programming, currently only 0 (app) or 100 (spiffs) are defined, if not set app is assumed |
|
||||
| GATT_UUID_SW_VERSION_STR/0x2a28 | read | We also implement these standard GATT entries because SW update probably needs them: |
|
||||
| GATT_UUID_MANU_NAME/0x2a29 | read | |
|
||||
| GATT_UUID_HW_VERSION_STR/0x2a27 | read | |
|
||||
|
||||
#### DeviceInformationService
|
||||
|
||||
|
|
|
@ -6,13 +6,13 @@ sidebar_label: Port numbers
|
|||
|
||||
For any new apps that run on the device or via sister apps on phones/PCs they should pick and use a unique 'portnum' for their application.
|
||||
|
||||
If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to this master table. PortNums should be assigned in the following range:
|
||||
If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to this master table. PortNums should be assigned in the following range:
|
||||
|
||||
| Portnum | Usage |
|
||||
| --- | --- |
|
||||
| 0-63 | Core Meshtastic use, do not use for third party apps |
|
||||
| 64-127 | Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application |
|
||||
| 256-511 | Use one of these portnums for your private applications that you do not want to register publicly |
|
||||
| Portnum | Usage |
|
||||
| ------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| 0-63 | Core Meshtastic use, do not use for third party apps |
|
||||
| 64-127 | Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application |
|
||||
| 256-511 | Use one of these portnums for your private applications that you do not want to register publicly |
|
||||
|
||||
All other values are reserved.
|
||||
|
||||
|
|
|
@ -59,14 +59,14 @@ Considerations:
|
|||
|
||||
We have six predefined channels. These are the most common settings and have been proven to work well:
|
||||
|
||||
| Channel setting | Alt Channel Name | Data-rate | SF / Symbols | Coding Rate | Bandwidth | Link Budget |
|
||||
| :------------------------- | :--------------- | :------------------- | :----------- | :---------- | :-------- | :---------- |
|
||||
| Short Range / Fast | Short Fast | 18.89 kbps | 7 / 128 | 4/5 | 500 | 134dB |
|
||||
| Short Range / Slow | Short Slow | 4.69 kbps | 7 / 128 | 4/5 | 125 | 140dB |
|
||||
| Medium Range / Fast | Medium Fast | 1.2 kbps | 10 / 1024 | 4/6 | 250 | 146dB |
|
||||
| Medium Range / Slow | Medium Slow | 0.75 kbps | 11 / 2048 | 4/7 | 250 | 148dB |
|
||||
| Long Range / Fast | Long Fast | 0.19 kbps | 9 / 512 | 4/8 | 31 | 153dB |
|
||||
| Long Range / Slow | Long Slow | 0.13 kbps (default) | 12 / 4096 | 4/8 | 125 | 154dB |
|
||||
| Channel setting | Alt Channel Name | Data-rate | SF / Symbols | Coding Rate | Bandwidth | Link Budget |
|
||||
| :------------------ | :--------------- | :------------------ | :----------- | :---------- | :-------- | :---------- |
|
||||
| Short Range / Fast | Short Fast | 18.89 kbps | 7 / 128 | 4/5 | 500 | 134dB |
|
||||
| Short Range / Slow | Short Slow | 4.69 kbps | 7 / 128 | 4/5 | 125 | 140dB |
|
||||
| Medium Range / Fast | Medium Fast | 1.2 kbps | 10 / 1024 | 4/6 | 250 | 146dB |
|
||||
| Medium Range / Slow | Medium Slow | 0.75 kbps | 11 / 2048 | 4/7 | 250 | 148dB |
|
||||
| Long Range / Fast | Long Fast | 0.19 kbps | 9 / 512 | 4/8 | 31 | 153dB |
|
||||
| Long Range / Slow | Long Slow | 0.13 kbps (default) | 12 / 4096 | 4/8 | 125 | 154dB |
|
||||
|
||||
Note: 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. Data-rate in this table is actual measured but doesn't count mesh overhead, hops and retransmissions.
|
||||
|
||||
|
@ -82,17 +82,17 @@ After applying the settings, you will need to restart the device. After your dev
|
|||
|
||||
Some example settings:
|
||||
|
||||
| Data-rate | SF / Symbols | Coding Rate | Bandwidth | Link Budget | Note |
|
||||
| :--------- | :----------- | :---------- | :-------- | :---------- | :---------------------------------------------------------------------- |
|
||||
| 37.50 kbps | 6 / 64 | 4/5 | 500 | 129dB | Fastest possible speed |
|
||||
| 3.125 kbps | 8 / 256 | 4/5 | 125 | 143dB | |
|
||||
| 1.953 kbps | 8 / 256 | 4/8 | 125 | 143dB | |
|
||||
| 1.343 kbps | 11 / 2048 | 4/8 | 500 | 145dB | |
|
||||
| 1.099 kbps | 9 / 512 | 4/8 | 125 | 146dB | |
|
||||
| 0.814 kbps | 10 / 1024 | 4/6 | 125 | 149dB | |
|
||||
| 0.610 kbps | 10 / 1024 | 4/8 | 125 | 149dB | |
|
||||
| 0.488 kbps | 11 / 2048 | 4/6 | 125 | 152dB | |
|
||||
| 0.336 kbps | 11 / 2048 | 4/8 | 125 | 152dB | |
|
||||
| Data-rate | SF / Symbols | Coding Rate | Bandwidth | Link Budget | Note |
|
||||
| :--------- | :----------- | :---------- | :-------- | :---------- | :----------------------------------------------------------------------- |
|
||||
| 37.50 kbps | 6 / 64 | 4/5 | 500 | 129dB | Fastest possible speed |
|
||||
| 3.125 kbps | 8 / 256 | 4/5 | 125 | 143dB | |
|
||||
| 1.953 kbps | 8 / 256 | 4/8 | 125 | 143dB | |
|
||||
| 1.343 kbps | 11 / 2048 | 4/8 | 500 | 145dB | |
|
||||
| 1.099 kbps | 9 / 512 | 4/8 | 125 | 146dB | |
|
||||
| 0.814 kbps | 10 / 1024 | 4/6 | 125 | 149dB | |
|
||||
| 0.610 kbps | 10 / 1024 | 4/8 | 125 | 149dB | |
|
||||
| 0.488 kbps | 11 / 2048 | 4/6 | 125 | 152dB | |
|
||||
| 0.336 kbps | 11 / 2048 | 4/8 | 125 | 152dB | |
|
||||
| 0.073 kbps | 12 / 4096 | 4/5 | 31 | 160dB | Twice the range and/or coverage of "Long Slow", low resilience to noise |
|
||||
| 0.046 kbps | 12 / 4096 | 4/8 | 31 | 160dB | Twice the range and/or coverage of "Long Slow", high resilience to noise |
|
||||
|
||||
|
|
|
@ -3,8 +3,11 @@ id: docusaurus
|
|||
title: Docusaurus
|
||||
sidebar_label: Docusaurus
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Meshtastic's documentation is set up using [Docusaurus](https://docusaurus.io). It is highly encouraged to look at [their documentation](https://docusaurus.io/docs) when looking for a solution to a problem with our docs. They most likely have thought of the use case you've discovered.
|
||||
|
||||
## Known Issues
|
||||
|
||||
- Admonitions within a `TabItem` component need to be completely unindented to show up correctly.
|
||||
|
|
|
@ -3,9 +3,12 @@ id: github
|
|||
title: GitHub
|
||||
sidebar_label: GitHub
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
All of Meshtastic's code and documentation is hosted on GitHub. If you would like to contribute to the project, having a GitHub account is an important step to doing so.
|
||||
|
||||
## Set up GitHub account
|
||||
|
||||
- Go to [github.com](https://github.com)
|
||||
- Click `Sign Up`
|
||||
|
|
|
@ -3,9 +3,11 @@ id: overview
|
|||
title: Maintaining Documentation
|
||||
sidebar_label: Maintaining Documentation
|
||||
---
|
||||
|
||||
Meshtastic documentation is an important ingredient to the overall project. We want users to hit the ground running with the information they need right at their finger tips. This section will discuss the documentation software stack, file organization, and style guides.
|
||||
|
||||
## Software Stack
|
||||
|
||||
All of our documentation resides on GitHub. Instructions for setting up your GitHub account are located [here](github).
|
||||
|
||||
Our documentation is powered by [Docusaurus](https://docusaurus.io) — a documentation platform built on React that utilizes markdown files. Because markdown files are easy to edit, most content changes should be fairly simple. Instructions for setting up your instance of Docusaurus are located [here](docusaurus).
|
||||
|
@ -13,37 +15,45 @@ Our documentation is powered by [Docusaurus](https://docusaurus.io) — a docume
|
|||
Another component that we use is [Vercel](https://vercel.com) — a platform for frontend frameworks and static sites. Instructions for setting up your instance of Vercel are located [here](vercel).
|
||||
|
||||
## 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 anyting 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` | 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 anyting 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. |
|
||||
|
||||
## Quick Start
|
||||
|
||||
Assuming you have the [prerequisites installed](serve-docs-locally#prerequisites), running a local instance of Docusaurus takes three steps:
|
||||
|
||||
1. Fork/Clone the [meshtastic/Meshtastic](https://github.com/meshtastic/Meshtastic) repository and navigate to the root directory of the project.
|
||||
|
||||
```bash title="Clone the project"
|
||||
git clone https://github.com/meshtastic/Meshtastic.git
|
||||
```
|
||||
|
||||
```bash title="Clone fork of the project"
|
||||
git clone https://github.com/[username]/Meshtastic.git
|
||||
```
|
||||
|
||||
```bash title="Change Directory"
|
||||
cd ~/Meshtastic
|
||||
```
|
||||
|
||||
2. Install Dependencies
|
||||
|
||||
```bash title="Install dependencies using Yarn"
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. Run Docusaurus
|
||||
|
||||
```bash title="Run node.js server"
|
||||
yarn start
|
||||
```
|
||||
|
@ -54,4 +64,5 @@ Before submitting a pull request, it's helpful to run the following command to e
|
|||
```bash title="Build Project"
|
||||
yarn build
|
||||
```
|
||||
|
||||
:::
|
||||
|
|
|
@ -3,16 +3,20 @@ id: serve-docs-locally
|
|||
title: Setting up Local Documentation
|
||||
sidebar_label: Serve Docs Locally
|
||||
---
|
||||
|
||||
:::note
|
||||
Some things won't display properly like logos or protobufs, this is not cause for concern.
|
||||
:::
|
||||
|
||||
## Prerequisites
|
||||
|
||||
In order to set up your local environment, you will need to install:
|
||||
|
||||
- [Node & Node package manager (NPM)](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
|
||||
- [Yarn package manager](https://yarnpkg.com/getting-started/install)
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Fork the Meshtastic Repository
|
||||
|
||||
Log into Github and create a fork of the [meshtastic/Meshtastic](https://github.com/meshtastic/Meshtastic) repository.
|
||||
|
@ -28,16 +32,19 @@ git clone https://github.com/username/Meshtastic.git
|
|||
```
|
||||
|
||||
### Change directory to Local copy
|
||||
|
||||
```bash title="Change Directory"
|
||||
cd ~/Meshtastic
|
||||
```
|
||||
|
||||
### Install Dependencies
|
||||
|
||||
```bash title="Install dependencies using Yarn"
|
||||
yarn install
|
||||
```
|
||||
|
||||
### Run Development Server
|
||||
|
||||
```bash title="Run node.js server"
|
||||
yarn start
|
||||
```
|
||||
|
@ -48,4 +55,5 @@ Before submitting a pull request, it's helpful to run the following command to e
|
|||
```bash title="Build Project"
|
||||
yarn build
|
||||
```
|
||||
|
||||
:::
|
||||
|
|
|
@ -3,41 +3,50 @@ id: style-guide-settings
|
|||
title: Style Guide - Settings Pages
|
||||
sidebar_label: Settings Pages
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Setting pages should focus solely on settings and configuring the device. Hardware is often a related topic, however these pages should not attempt to explain attaching hardware. Mention that hardware is required and link to the appropriate page(s).
|
||||
|
||||
## Layout
|
||||
|
||||
### Overview
|
||||
|
||||
This section should describe the group of settings and what they do for the device.
|
||||
|
||||
### Settings
|
||||
|
||||
This section starts with an alphabetized table of settings, available values, and default values.
|
||||
|
||||
Available values should be listed with tick marks `` surrounding the value.
|
||||
|
||||
| Value Type | Example |
|
||||
| :--------: | :-----: |
|
||||
| Boolean | `true`, `false` |
|
||||
| List | `apple`, `banana`, `orange` |
|
||||
| Range | `0`-`100` |
|
||||
| Value Type | Example |
|
||||
| :--------: | :-------------------------: |
|
||||
| Boolean | `true`, `false` |
|
||||
| List | `apple`, `banana`, `orange` |
|
||||
| Range | `0`-`100` |
|
||||
|
||||
After the table each setting is described in brief detail. If the available options for a setting need additional explanation, a table should be used to describe each available option.
|
||||
|
||||
### Details
|
||||
|
||||
If additional details are needed, this optional section can explain that. These would include prerequisites, links to hardware guides, etc.
|
||||
|
||||
### Examples
|
||||
This optional section can have examples of configurations needed where multiple settings are required to be set up for a specific use case.
|
||||
|
||||
This optional section can have examples of configurations needed where multiple settings are required to be set up for a specific use case.
|
||||
|
||||
## Example Template
|
||||
|
||||
```markdown title="Template for Settings Pages"
|
||||
---
|
||||
id: unique-id
|
||||
title: Title for Page
|
||||
sidebar_label: Label for Sidebar
|
||||
---
|
||||
|
||||
<!--- Allows client-specific tabs to be used --->
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -48,48 +57,55 @@ import TabItem from '@theme/TabItem';
|
|||
## Settings
|
||||
|
||||
<!--- Table of settings in alphabetical order --->
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------: | :-------------------------: | :-----: |
|
||||
| my_setting_with_options | `apple`, `banana`, `orange` | `apple` |
|
||||
|
||||
<!--- H3 for each setting above (alphabetized) --->
|
||||
|
||||
### my_setting_with_options
|
||||
|
||||
<!--- description for what the setting does --->
|
||||
|
||||
<!--- if the setting has many options, insert a table describing what those variables do --->
|
||||
| Value | Description |
|
||||
| :---: | :---------: |
|
||||
| `apple` | Description of apple (default) |
|
||||
| `banana` | Description of banana |
|
||||
| `orange` | Description of orange |
|
||||
|
||||
| Value | Description |
|
||||
| :------: | :----------------------------: |
|
||||
| `apple` | Description of apple (default) |
|
||||
| `banana` | Description of banana |
|
||||
| `orange` | Description of orange |
|
||||
|
||||
<!--- Client tabs that were imported above --->
|
||||
|
||||
<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">
|
||||
CLI content here
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Android content here
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
iOS content here
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Web content here
|
||||
</TabItem>
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
CLI content here
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
Android content here
|
||||
</TabItem>
|
||||
<TabItem value="iOS">
|
||||
iOS content here
|
||||
</TabItem>
|
||||
<TabItem value="web">
|
||||
Web content here
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Details
|
||||
|
||||
<!--- Additional details about the settings IF NEEDED otherwise delete this h2 header --->
|
||||
|
||||
## Examples
|
||||
|
||||
<!--- Meant for examples where multiple settings are configured at the same time (WiFi type/SSID/password in a single command). If not needed, delete this h2 header --->
|
||||
```
|
||||
|
|
|
@ -3,7 +3,9 @@ id: vercel
|
|||
title: Vercel
|
||||
sidebar_label: Vercel
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Setting up a Vercel account is an optional step that can help you view your changes to the documentation in a server environment just like the actual docs. This can be helpful to include when submitting a pull request so that developers can review your changes and visually check that things look correct.
|
||||
|
||||
## Set up Vercel account
|
||||
|
|
|
@ -3,4 +3,5 @@ id: antenna
|
|||
title: FAQs - Antenna
|
||||
sidebar_label: Antenna
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
|
@ -3,6 +3,7 @@ id: channel
|
|||
title: FAQs - Channel
|
||||
sidebar_label: Channel
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### What is a Meshtastic Channel?
|
||||
|
|
|
@ -3,6 +3,7 @@ id: client-android
|
|||
title: FAQs - Android
|
||||
sidebar_label: Android
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### What versions of Android does the Meshtastic Android App require?
|
||||
|
|
|
@ -3,6 +3,7 @@ id: client-python-cli
|
|||
title: FAQs - CLI
|
||||
sidebar_label: CLI
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### How do I find out more about installing (and using) Meshtastic via command line?
|
||||
|
|
|
@ -3,6 +3,7 @@ id: client-web
|
|||
title: FAQs - Web
|
||||
sidebar_label: Web
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### How do I access the network from my web browser?
|
||||
|
|
|
@ -3,4 +3,5 @@ id: mesh
|
|||
title: FAQs - Mesh
|
||||
sidebar_label: Mesh
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
|
@ -3,4 +3,5 @@ id: mqtt
|
|||
title: FAQs - MQTT
|
||||
sidebar_label: MQTT
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
|
@ -3,6 +3,7 @@ id: wifi
|
|||
title: FAQs - WiFi
|
||||
sidebar_label: WiFi
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### How do I turn on the WiFI radio?
|
||||
|
|
|
@ -3,7 +3,8 @@ id: clients
|
|||
title: Meshtastic Clients
|
||||
sidebar_label: Meshtastic Clients
|
||||
---
|
||||
import { DownloadCard } from '/src/pages/downloads/_components/DownloadCard.tsx'
|
||||
|
||||
import { DownloadCard } from '/src/pages/downloads/\_components/DownloadCard.tsx'
|
||||
|
||||
## Overview
|
||||
|
||||
|
@ -20,14 +21,17 @@ To install/upgrade Meshtastic-python manually, see below:
|
|||
```bash title="Install Meshtastic-python (includes CLI)"
|
||||
pip install meshtastic
|
||||
```
|
||||
|
||||
```bash title="Upgrade Meshtastic-python (includes CLI)"
|
||||
pip install --upgrade meshtastic
|
||||
```
|
||||
|
||||
:::note
|
||||
Some installations of python may require you to substitute 'pip3' for the 'pip' command.
|
||||
:::
|
||||
|
||||
### Mobile Client Downloads
|
||||
|
||||
<ul
|
||||
style={{
|
||||
position: "relative",
|
||||
|
@ -57,7 +61,7 @@ Using your preferred program (PuTTy, Serial, etc) connect to your device with th
|
|||
|
||||
| Baudrate | Data Bits | Parity | Stop Bits |
|
||||
| :------: | :-------: | :----: | :-------: |
|
||||
| `921600` | `8` | `None` | `1` |
|
||||
| `921600` | `8` | `None` | `1` |
|
||||
|
||||
### Web
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ id: first-steps
|
|||
title: First Steps
|
||||
sidebar_label: First Steps
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Congratulations! Your node should now be running Meshtastic and hopefully you've paired to a client on your mobile device, desktop, or browser.
|
||||
|
|
|
@ -3,6 +3,7 @@ id: flashing-firmware
|
|||
title: Firmware Flashing Prerequisites
|
||||
sidebar_label: Prerequisites
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -34,14 +35,14 @@ If you don't see your device in the following test, you either:
|
|||
2. Are currently using a charging only cable.
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
Connect your Meshtastic device to your USB port, open a `Terminal` and enter the following command:
|
||||
|
||||
```bash
|
||||
|
@ -49,8 +50,8 @@ lsusb
|
|||
```
|
||||
|
||||
You should see something like: `ID xxxx:xxxx Silicon Labs CP210x UART Bridge`, `ID xxxx:xxxx QinHeng Electronics USB Single Serial`, or `FIXME (WISBLOCK OUTPUT)`.
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
Navigate to `Apple Menu > About This Mac > System Report... > Hardware > USB`. You should see something like `CP210X USB to UART Bridge Controller`, `CH9102 USB to UART Bridge Controller`, or `WisCore RAK4631 Board`. If not download the appropriate drivers below.
|
||||
|
||||
|
@ -71,14 +72,14 @@ You may need to install a driver from Silicon Labs for the [CP210X USB to UART b
|
|||
Some newer boards may require the CH9102 (CH340/CH341) Driver.
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
[CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
|
||||
|
||||
|
@ -110,14 +111,14 @@ Reboot your computer after you have installed the driver to complete the install
|
|||
### NRF52 Drivers
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
values={[
|
||||
{label: 'Linux', value: 'linux'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
|
||||
[CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
|
||||
|
||||
|
@ -146,7 +147,6 @@ With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ d
|
|||
|
||||
:::
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ title: Getting Started
|
|||
sidebar_label: Getting Started
|
||||
slug: /getting-started
|
||||
---
|
||||
|
||||
import Link from '@docusaurus/Link';
|
||||
|
||||
## What is Meshtastic?
|
||||
|
|
|
@ -4,6 +4,7 @@ title: Using Meshtastic Flasher
|
|||
sidebar_label: Using Meshtastic Flasher
|
||||
pagination_next: getting-started/clients
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -56,6 +57,7 @@ Navigate to `Device Manager > Ports (COM & LPT)`. You should see something like
|
|||
</Tabs>
|
||||
|
||||
### Install using `pip`
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="linux"
|
||||
|
@ -64,70 +66,70 @@ values={[
|
|||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="linux">
|
||||
<TabItem value="linux">
|
||||
|
||||
```bash 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
|
||||
```
|
||||
```bash 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
|
||||
```
|
||||
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
```bash 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
|
||||
```
|
||||
```bash 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
|
||||
```
|
||||
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
```bash 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
|
||||
```
|
||||
```bash 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
|
||||
```
|
||||
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
```bash title="Running Meshtastic Flasher"
|
||||
meshtastic-flasher
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
@ -138,9 +140,9 @@ The Meshtastic Flasher will flash the latest firmware to esp32 and nrf52 devices
|
|||
|
||||
There are three steps:
|
||||
|
||||
* Click the "GET VERSIONS" button to get the versions available (from GitHub).
|
||||
* Click the "DETECT DEVICE" button to determine the port and device variant connected.
|
||||
* Click the "FLASH" button to flash the version selected, using the port selected to the device.
|
||||
- Click the "GET VERSIONS" button to get the versions available (from GitHub).
|
||||
- Click the "DETECT DEVICE" button to determine the port and device variant connected.
|
||||
- Click the "FLASH" button to flash the version selected, using the port selected to the device.
|
||||
|
||||
## Issues?
|
||||
|
||||
|
@ -152,6 +154,6 @@ The code can be found at the [Meshtastic-gui-installer repo](https://github.com/
|
|||
|
||||
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
|
||||
- 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
|
||||
|
|
|
@ -10,13 +10,14 @@ The stock aerials provided bundled with the t-Beam and other boards are a 'mixed
|
|||
Matching an aerial to the transceiver frequency is important, as is choosing an appropriate design.
|
||||
|
||||
The aerial's design will affect:
|
||||
- proportion of the signal which leaves the aerial (efficiency),
|
||||
|
||||
- proportion of the signal which leaves the aerial (efficiency),
|
||||
- directions in which it's transmitted,
|
||||
- whether it will be affected by horizontal or vertical polarization,
|
||||
- and proportion of signal which is reflected back within the device itself.
|
||||
|
||||
:::caution
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
:::
|
||||
|
||||
### Important considerations:
|
||||
|
@ -25,11 +26,11 @@ While the LoRa devices we are using for Meshtastic are relatively low power radi
|
|||
- Devices on another frequency will not be able to interact with yours.
|
||||
- See this listing by [The Things Network](https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country.html) for frequencies licensed for specific countries.
|
||||
- How will you be carrying / transporting the radio?
|
||||
- A large directional aerial will transmit over significantly greater distance than an omni-directional aerial. However, it must be pointed at its target so isn't optimal for mobile use.
|
||||
- A large directional aerial will transmit over significantly greater distance than an omni-directional aerial. However, it must be pointed at its target so isn't optimal for mobile use.
|
||||
- A tuned half-wave whip aerial may have more omni-directional range than the quarter wave stubby; but it will be conspicuous in your pocket.
|
||||
- Many antennas, especially quarter wave stubby antennas, require the use of ground planes to transmit at peak performance.
|
||||
- Do you want transmission in all directions?
|
||||
- While humans (mostly water) don't attenuate signal greatly (at LoRa frequencies), buildings & walls do.
|
||||
- While humans (mostly water) don't attenuate signal greatly (at LoRa frequencies), buildings & walls do.
|
||||
- If your aerial is permanently positioned against a building, signal transmitted towards the wall will be largely lost or attenuated.
|
||||
- Does my Meshtastic device have the right power range, impedance, and connector for the aerial?
|
||||
- For the LoRa devices, it should be 50 Ohm impedance with SMA connector. Many antennas will be recommended for LoRa use in their technical details.
|
||||
|
@ -41,6 +42,6 @@ While the LoRa devices we are using for Meshtastic are relatively low power radi
|
|||
|
||||
## Terminology / references
|
||||
|
||||
You could do a lot worse than reading the [Wikipedia entry for Antenna](https://en.wikipedia.org/wiki/Antenna_(radio)), along with the [Wikipedia entry for LoRa](https://en.wikipedia.org/wiki/LoRa).
|
||||
You could do a lot worse than reading the [Wikipedia entry for Antenna](<https://en.wikipedia.org/wiki/Antenna_(radio)>), along with the [Wikipedia entry for LoRa](https://en.wikipedia.org/wiki/LoRa).
|
||||
|
||||
Instead of listing the terms, let us recommend this superb [tutorial](https://www.youtube.com/watch?v=J3PBL9oLPX8) by Andreas Spiess (the 'guy with the Swiss accent').
|
||||
|
|
|
@ -7,27 +7,27 @@ slug: /hardware/antenna
|
|||
|
||||
## TL; DR
|
||||
|
||||
If you have sufficient range with your existing aerial, skip this section. If you don't, consider either getting more nodes and / or replace the stock aerial with one tuned (to your region transmitter's frequency):
|
||||
If you have sufficient range with your existing aerial, skip this section. If you don't, consider either getting more nodes and / or replace the stock aerial with one tuned (to your region transmitter's frequency):
|
||||
|
||||
- A quarter wave _tuned_ stubby aerial (<10cm for fit-in-pocket) should have a real-world range of a couple of km without significant obstacles (buildings / hills).
|
||||
- A quarter wave _tuned_ stubby aerial (<10cm for fit-in-pocket) should have a real-world range of a couple of km without significant obstacles (buildings / hills).
|
||||
- Aerial criteria: 50 Ohm, appropriate connector (usually SMA male or U.FL), low VSWR (<2) (at tuning frequency - see its datasheet), gain > 0 dBi .
|
||||
- Caution, avoid suppliers who:
|
||||
- don't state the aerial's tuned frequency and its specific purpose (LoRa network)
|
||||
- claim huge gain figures on omni-directional aerials
|
||||
- don't provide boringly professional datasheets
|
||||
- don't provide boringly professional datasheets
|
||||
|
||||
If you want more range, directionality, or specificity read on.
|
||||
|
||||
## General guidance
|
||||
|
||||
The Meshtastic system is designed to be simple and intuitive to use. However, its LoRa radios rely on point-to-point communications, unit-to-unit, aerial-to-aerial; quite different to the near ubiquitous radio coverage of today's cellphone & Wifi connections.
|
||||
The Meshtastic system is designed to be simple and intuitive to use. However, its LoRa radios rely on point-to-point communications, unit-to-unit, aerial-to-aerial; quite different to the near ubiquitous radio coverage of today's cellphone & Wifi connections.
|
||||
|
||||
Some understanding of the factors affecting radio communications will help achieve substantially better service and faster transmission over a greater range with your devices. Here, we'll attempt to provide a top-level set of guidance for use and aerial selection, how to test the aerials, a set of resources for further research, and plenty of opportunity for going deeper.
|
||||
Some understanding of the factors affecting radio communications will help achieve substantially better service and faster transmission over a greater range with your devices. Here, we'll attempt to provide a top-level set of guidance for use and aerial selection, how to test the aerials, a set of resources for further research, and plenty of opportunity for going deeper.
|
||||
|
||||
The Meshtastic devices (of various flavors) lend themselves to experimentation, not only because you can replace their aerials, but also because of their mesh operation. All nodes will, without alteration, relay communications from any other members of the mesh around obstacles and over greater distances. The cost of aerial investment should be weighed against investment in additional low-cost nodes.
|
||||
The Meshtastic devices (of various flavors) lend themselves to experimentation, not only because you can replace their aerials, but also because of their mesh operation. All nodes will, without alteration, relay communications from any other members of the mesh around obstacles and over greater distances. The cost of aerial investment should be weighed against investment in additional low-cost nodes.
|
||||
|
||||
:::caution
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
:::
|
||||
|
||||
The information collected here is by no means definitive, and necessarily abbreviated (it's a huge topic).
|
||||
|
|
|
@ -6,6 +6,7 @@ slug: /hardware/non-aerial
|
|||
---
|
||||
|
||||
Unless you're using your devices in a vacuum, with clear line of sight between aerials the following will have an effect:
|
||||
|
||||
- Weather (temperature, humidity, and air pressure),
|
||||
- Transmission power, bandwidth, spreading factor, and other associated channel factors,
|
||||
- Number of nodes within reach of the mesh (affects retries consequent duty cycle hit),
|
||||
|
@ -17,6 +18,7 @@ Unless you're using your devices in a vacuum, with clear line of sight between a
|
|||
### Environmental factors
|
||||
|
||||
For a bit of light reading on environmental research:
|
||||
|
||||
- [RF attenuation in vegetation](https://web.archive.org/web/20201216041455/https://www.itu.int/dms_pubrec/itu-r/rec/p/R-REC-P.833-9-201609-I!!PDF-E.pdf) (yes really); if you wander through the woods wondering how your RF is bouncing off leaves dependent on their variety, and wind speed … well you do, now.
|
||||
- [RF attenuation with various building materials](https://www.ofcom.org.uk/__data/assets/pdf_file/0016/84022/building_materials_and_propagation.pdf).
|
||||
- This one by ITU again is very detailed in its [analysis of the drivers of attenuation](https://web.archive.org/web/20211005174833/https://www.itu.int/dms_pubrec/itu-r/rec/p/R-REC-P.2040-1-201507-I!!PDF-E.pdf) (I wasn’t aware that all EMF radiation exhibits reflection / transmission characteristics akin to light hitting a material boundary. So, depending on the angle of incidence, material and the EMF wavelength, it will be reflected and / or transmitted through).
|
||||
|
|
|
@ -19,8 +19,9 @@ The following ESP32 devices are supported:
|
|||
|
||||
:::caution
|
||||
Supported but not encouraged:
|
||||
|
||||
- Lilygo TTGO T-Beam - version 0.7 -- Very old, no power management chip, difficulty with GPS module and is freqeuntly confused with other devices.
|
||||
:::
|
||||
:::
|
||||
|
||||
## nRF52
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ sidebar_label: LILYGO® Lora
|
|||
|
||||
[<img alt="LILYGO® TTGO Lora V1" src="/img/hardware/lora-v1.png" style={{zoom:'25%'}} />](/img/hardware/lora-v1.png)
|
||||
|
||||
|
||||
## Lora V1.3
|
||||
|
||||
- ESP32 - Wifi & Bluetooth
|
||||
|
@ -59,7 +58,6 @@ sidebar_label: LILYGO® Lora
|
|||
|
||||
[<img alt="LILYGO® TTGO Lora V2" src="/img/hardware/lora-v2.0.png" style={{zoom:'25%'}} />](/img/hardware/lora-v2.0.png)
|
||||
|
||||
|
||||
## Lora V2.1-1.6
|
||||
|
||||
- ESP32 - Wifi & Bluetooth
|
||||
|
|
|
@ -24,7 +24,6 @@ sidebar_label: LILYGO® T-Beam
|
|||
|
||||
[<img alt="LILYGO® TTGO T-Beam Meshtastic" src="/img/hardware/t-beam-meshtastic.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-meshtastic.png)
|
||||
|
||||
|
||||
## T-Beam - v0.7
|
||||
|
||||
:::note
|
||||
|
@ -50,7 +49,6 @@ This is an earlier version of the T-Beam board, and due to changes in the design
|
|||
[<img alt="LILYGO TTGO T-Beam v0.7" src="/img/hardware/t-beam-v0.7.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-v0.7.png)
|
||||
[<img alt="LILYGO TTGO T-Beam v0.7 pinmap" src="/img/hardware/t-beam_v0.7_pinmap.jpeg" style={{zoom:'25%'}} />](/img/hardware/t-beam_v0.7_pinmap.jpeg)
|
||||
|
||||
|
||||
## T-Beam - V1.1
|
||||
|
||||
- ESP32 - Wifi & Bluetooth
|
||||
|
@ -71,7 +69,6 @@ This is an earlier version of the T-Beam board, and due to changes in the design
|
|||
[<img alt="LILYGO® TTGO T-Beam v1.1" src="/img/hardware/t-beam-v1.1.png" style={{zoom:'35%'}} />](/img/hardware/t-beam-v1.1.png)
|
||||
[<img alt="LILYGO® TTGO T-Beam v1.1 pinmap" src="/img/hardware/t-beam_v1.1_pinmap.webp" style={{zoom:'35%'}} />](/img/hardware/t-beam_v1.1_pinmap.webp)
|
||||
|
||||
|
||||
## T-Beam - M8N
|
||||
|
||||
- ESP32 - Wifi & Bluetooth
|
||||
|
|
|
@ -3,6 +3,7 @@ id: licensing
|
|||
title: Licensing & Commercial Projects Usage
|
||||
sidebar_label: Licensing
|
||||
---
|
||||
|
||||
You are hereby granted a two-year non-exclusive license to use the Meshtastic® logo and trademark on your product/project. No fee is required for this usage, though if you wish keeping $1/unit set-aside so that it can eventually fund [meshtastic.org](https://meshtastic.org) it would be appreciated.
|
||||
|
||||
We only ask that you include a line in your support text that states:
|
||||
|
|
|
@ -4,12 +4,13 @@ title: Legal
|
|||
sidebar_label: Legal
|
||||
slug: /legal
|
||||
---
|
||||
|
||||
## Disclaimers
|
||||
|
||||
This project is still pretty young but moving at a pretty good pace. Not all features are fully implemented in the current alpha builds.
|
||||
|
||||
* We don't make these devices and they haven't been tested by UL or the FCC. If you use them, you are experimenting and we can't promise they won't burn your house down ;-)
|
||||
* The encryption implementation is good but see this list of [caveats](/docs/developers/device/encryption#summary-of-strengthsweaknesses-of-our-current-implementation) to determine risks you might face.
|
||||
- We don't make these devices and they haven't been tested by UL or the FCC. If you use them, you are experimenting and we can't promise they won't burn your house down ;-)
|
||||
- The encryption implementation is good but see this list of [caveats](/docs/developers/device/encryption#summary-of-strengthsweaknesses-of-our-current-implementation) to determine risks you might face.
|
||||
|
||||
## Legal FAQ
|
||||
|
||||
|
|
|
@ -3,4 +3,5 @@ id: trademark
|
|||
title: Trademark Rules & Brand Guidelines
|
||||
sidebar_label: Trademark
|
||||
---
|
||||
|
||||
Meshtastic® is a registered trademark of Geeksville Industries LLC. Meshtastic software components are released under various licenses, see GitHub for details. No warranty is provided - use at your own risk.
|
||||
|
|
|
@ -3,6 +3,7 @@ id: channel-advanced
|
|||
title: Channel Settings - Advanced
|
||||
sidebar_label: Channel
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -16,14 +17,14 @@ Most users should not need to change these settings. The default [modem_config](
|
|||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| bandwidth | `10.4`, `15.6`, `20.8`, `31.25`, `41.7`, `62.5`, `125`, `250`, `500` | `125` |
|
||||
| channel_num | Depends on Region | Region Channel Number Default |
|
||||
| coding_rate | `5`, `6`, `7`, `8` | `5` |
|
||||
| frequency_offset | real numbers | `0` |
|
||||
| spread_factor | `7`, `8`, `9`, `10`, `11`, `12` | `7` |
|
||||
| tx_power | `0`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, (dBm) | `0` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :--------------: | :------------------------------------------------------------------------------------------------: | :---------------------------: |
|
||||
| bandwidth | `10.4`, `15.6`, `20.8`, `31.25`, `41.7`, `62.5`, `125`, `250`, `500` | `125` |
|
||||
| channel_num | Depends on Region | Region Channel Number Default |
|
||||
| coding_rate | `5`, `6`, `7`, `8` | `5` |
|
||||
| frequency_offset | real numbers | `0` |
|
||||
| spread_factor | `7`, `8`, `9`, `10`, `11`, `12` | `7` |
|
||||
| tx_power | `0`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, (dBm) | `0` |
|
||||
|
||||
### bandwidth
|
||||
|
||||
|
@ -32,15 +33,15 @@ Total amount of spectrum used for the transmission.
|
|||
#### Set Bandwidth
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash
|
||||
meshtastic --ch-set bandwidth 125 --ch-index 0
|
||||
|
@ -77,15 +78,15 @@ An abstraction that maps to a specific center frequency used for transmission.
|
|||
#### Set Channel Number
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
|
@ -122,15 +123,15 @@ The amount of forward error correction applied to allow for us to automatically
|
|||
#### Set Coding Rate
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash
|
||||
meshtastic --ch-set coding_rate 8 --ch-index 0
|
||||
|
@ -167,15 +168,15 @@ This parameter is for advanced users with advanced test equipment, we do not rec
|
|||
#### Configure frequency_offset
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::info
|
||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
||||
|
@ -212,15 +213,15 @@ LoRa is a spread spectrum technology. spread_factor is how much the signal is sp
|
|||
#### Set Spread Factor
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash
|
||||
meshtastic --ch-set spread_factor 12 --ch-index 0
|
||||
|
@ -263,22 +264,23 @@ Ensure that you are not exceeding your country's regulations.
|
|||
#### Set TX Power
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set Default"
|
||||
meshtastic --ch-set tx_power 0 --ch-index 0
|
||||
```
|
||||
```bash title="Set to 2dBM"
|
||||
meshtastic --ch-set tx_power 2 --ch-index 0
|
||||
```
|
||||
```bash title="Set Default"
|
||||
meshtastic --ch-set tx_power 0 --ch-index 0
|
||||
```
|
||||
|
||||
```bash title="Set to 2dBM"
|
||||
meshtastic --ch-set tx_power 2 --ch-index 0
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -3,6 +3,7 @@ id: gps
|
|||
title: GPS Settings
|
||||
sidebar_label: GPS
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -16,19 +17,19 @@ GPS is provided by either the device or your paired phone. More than likely, you
|
|||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| fixed_position | `true`, `false` | `false` |
|
||||
| gps_accept_2d | `true`, `false` | `false` |
|
||||
| gps_attempt_time | `integer` (seconds) | `0` (see note) |
|
||||
| gps_format | `GpsFormatDec`, `GpsFormatDMS`, `GpsFormatUTM`, `GpsFormatMGRS`, `GpsFormatOLC`, `GpsFormatOSGR` | `GpsFormatDec` |
|
||||
| gps_max_dop | `integer` | `0` |
|
||||
| gps_operation | `GpsOpUnset`, ~~`GpsOpStationary`~~, `GpsOpMobile`, `GpsOpTimeOnly`, `GpsOpDisabled` | `GpsOpUnset` |
|
||||
| gps_update_interval | `integer` (seconds) | `0` (see note) |
|
||||
| location_share | `LocUnset`, `LocEnabled`, `LocDisabled` | `LocUnset` |
|
||||
| position_broadcast_secs | `integer` (seconds) | `0` (see note) |
|
||||
| position_broadcast_smart | `true`, `false` | `false` |
|
||||
| position_flags | `POS_UNDEFINED`, `POS_ALTITUDE`, `POS_ALT_MSL`, `POS_GEO_SEP`, `POS_DOP`, `POS_HVDOP`, `PDOP`, `POS_BATTERY`, `POS_SATINVIEW`, `POS_SEQ_NOS`, `POS_TIMESTAMP` | `POS_UNDEFINED` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: |
|
||||
| fixed_position | `true`, `false` | `false` |
|
||||
| gps_accept_2d | `true`, `false` | `false` |
|
||||
| gps_attempt_time | `integer` (seconds) | `0` (see note) |
|
||||
| gps_format | `GpsFormatDec`, `GpsFormatDMS`, `GpsFormatUTM`, `GpsFormatMGRS`, `GpsFormatOLC`, `GpsFormatOSGR` | `GpsFormatDec` |
|
||||
| gps_max_dop | `integer` | `0` |
|
||||
| gps_operation | `GpsOpUnset`, ~~`GpsOpStationary`~~, `GpsOpMobile`, `GpsOpTimeOnly`, `GpsOpDisabled` | `GpsOpUnset` |
|
||||
| gps_update_interval | `integer` (seconds) | `0` (see note) |
|
||||
| location_share | `LocUnset`, `LocEnabled`, `LocDisabled` | `LocUnset` |
|
||||
| position_broadcast_secs | `integer` (seconds) | `0` (see note) |
|
||||
| position_broadcast_smart | `true`, `false` | `false` |
|
||||
| position_flags | `POS_UNDEFINED`, `POS_ALTITUDE`, `POS_ALT_MSL`, `POS_GEO_SEP`, `POS_DOP`, `POS_HVDOP`, `PDOP`, `POS_BATTERY`, `POS_SATINVIEW`, `POS_SEQ_NOS`, `POS_TIMESTAMP` | `POS_UNDEFINED` |
|
||||
|
||||
:::note
|
||||
On `gps_attempt_time`, `gps_update_interval`, & `position_broadcast_secs` when you set these to `0` you are not disabling these features.
|
||||
|
@ -43,34 +44,39 @@ If you wish to disable any GPS features, see below for more information.
|
|||
If set, this node is at a fixed position. The device will generate GPS updates at the regular `gps_update_interval`, but use whatever the last lat/lon/alt it saved for the node. The lat/lon/alt can be set by an internal GPS or with the help of the mobile device's GPS.
|
||||
|
||||
#### Set/Unset Fixed Position
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set Fixed Position - Current Location"
|
||||
meshtastic --set fixed_position true
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set Fixed Position - Current Location"
|
||||
meshtastic --set fixed_position true
|
||||
```
|
||||
|
||||
:::note
|
||||
The device will continue to acquire GPS coordinates according to the `gps_update_interval`, but will use the last saved coordinates as its fixed point.
|
||||
:::
|
||||
```bash title="Set Fixed Position - User Defined"
|
||||
meshtastic --setlat 37.8651 --setlon -119.5383
|
||||
```
|
||||
```bash title="Unset Fixed Position"
|
||||
meshtastic --set fixed_position false
|
||||
```
|
||||
|
||||
```bash title="Set Fixed Position - User Defined"
|
||||
meshtastic --setlat 37.8651 --setlon -119.5383
|
||||
```
|
||||
|
||||
```bash title="Unset Fixed Position"
|
||||
meshtastic --set fixed_position false
|
||||
```
|
||||
|
||||
:::note
|
||||
It may take some time to see that the change has taken effect. The GPS location is updated according to the value specified on `gps_update_interval` and the mesh will be notified of the new position in relation to the `position_broadcast_secs` value.
|
||||
:::
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
</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.
|
||||
|
@ -98,23 +104,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Determines whether the device should accept 2D GPS fixes. By default, only 3D fixes are accepted (during a 2D fix, altitude values are unreliable and will be excluded).
|
||||
|
||||
#### Enable/Disable 2D GPS Fixes
|
||||
<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">
|
||||
|
||||
```bash title="Enable 2D GPS Fixes"
|
||||
meshtastic --set gps_accept_2d true
|
||||
```
|
||||
```bash title="Disable 2D GPS Fixes"
|
||||
meshtastic --set gps_accept_2d false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable 2D GPS Fixes"
|
||||
meshtastic --set gps_accept_2d true
|
||||
```
|
||||
|
||||
```bash title="Disable 2D GPS Fixes"
|
||||
meshtastic --set gps_accept_2d false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -145,23 +153,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Determines the amount of time that a GPS fix should be allowed to take. The default is every 30 seconds. If you increase this value, it will allow the device that amount of time in seconds to acquire coordinates. If the device is unable to get a fix, it will turn off until the next interval. GPS coordinates are updated every [`gps_update_interval`](#gps_update_interval) seconds.
|
||||
|
||||
#### Change GPS attempt time frequency
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set GPS attempt time to default (30 seconds)"
|
||||
meshtastic --set gps_attempt_time 0
|
||||
```
|
||||
```bash title="Set GPS attempt time to 45 seconds"
|
||||
meshtastic --set gps_attempt_time 45
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS attempt time to default (30 seconds)"
|
||||
meshtastic --set gps_attempt_time 0
|
||||
```
|
||||
|
||||
```bash title="Set GPS attempt time to 45 seconds"
|
||||
meshtastic --set gps_attempt_time 45
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -191,30 +201,31 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
|
||||
Determines how the GPS coordinates are displayed on the OLED screen.
|
||||
|
||||
| Value | Description |
|
||||
| :---: | :---------: |
|
||||
| GpsFormatDec | GPS coordinates are displayed in the normal decimal degrees format: DD.DDDDDD DDD.DDDDDD |
|
||||
| GpsFormatDMS | GPS coordinates are displayed in the degrees minutes seconds format: DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant |
|
||||
| GpsFormatUTM | GPS coordinates are displayed in Universal Transverse Mercator format: ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing |
|
||||
| GpsFormatMGRS | GPS coordinates are displayed in Military Grid Reference System format: ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, E is easting, N is northing |
|
||||
| GpsFormatOLC | GPS coordinates are displayed in Open Location Code (aka Plus Codes) |
|
||||
| Value | Description |
|
||||
| :-----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| GpsFormatDec | GPS coordinates are displayed in the normal decimal degrees format: DD.DDDDDD DDD.DDDDDD |
|
||||
| GpsFormatDMS | GPS coordinates are displayed in the degrees minutes seconds format: DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant |
|
||||
| GpsFormatUTM | GPS coordinates are displayed in Universal Transverse Mercator format: ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing |
|
||||
| GpsFormatMGRS | GPS coordinates are displayed in Military Grid Reference System format: ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, E is easting, N is northing |
|
||||
| GpsFormatOLC | GPS coordinates are displayed in Open Location Code (aka Plus Codes) |
|
||||
| GpsFormatOSGR | GPS coordinates are displayed in Ordnance Survey Grid Reference (the National Grid System of the UK). Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, E is the easting, N is the northing |
|
||||
|
||||
#### Specify GPS Screen Display
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Specify GPS format on device screen"
|
||||
meshtastic --set gps_format GpsFormatUTM
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Specify GPS format on device screen"
|
||||
meshtastic --set gps_format GpsFormatUTM
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -245,26 +256,29 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Determines GPS maximum DOP accepted (dilution of precision) Set a rejection threshold for GPS readings based on their precision, relative to the GPS rated accuracy (which is typically ~3m) Solutions above this value will be treated as retryable errors! Useful range is between 1 - 64 (3m - <~200m) By default (if zero), accept all GPS readings
|
||||
|
||||
#### Change maximum GPS dilution of precision
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS max DOP to default (accept all GPS readings)"
|
||||
meshtastic --set gps_max_dop 0
|
||||
```
|
||||
```bash title="Set GPS max DOP to 3m"
|
||||
meshtastic --set gps_max_dop 1
|
||||
```
|
||||
```bash title="Set GPS max DOP to < ~200m"
|
||||
meshtastic --set gps_max_dop 64
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS max DOP to default (accept all GPS readings)"
|
||||
meshtastic --set gps_max_dop 0
|
||||
```
|
||||
|
||||
```bash title="Set GPS max DOP to 3m"
|
||||
meshtastic --set gps_max_dop 1
|
||||
```
|
||||
|
||||
```bash title="Set GPS max DOP to < ~200m"
|
||||
meshtastic --set gps_max_dop 64
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -291,20 +305,21 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
</Tabs>
|
||||
|
||||
#### Specify GPS Screen Display
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Specify GPS format on device screen"
|
||||
meshtastic --set gps_format GpsFormatUTM
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Specify GPS format on device screen"
|
||||
meshtastic --set gps_format GpsFormatUTM
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -338,35 +353,38 @@ How the GPS hardware in the device is operated.
|
|||
This is independent of how our location is shared with other devices. For that see [`location_share`](#location_share).
|
||||
:::
|
||||
|
||||
| Value | Description |
|
||||
| :---: | :---------: |
|
||||
| GpsOpUnset | **Default**: operates the same as `GpsOpMobile`. |
|
||||
| Value | Description |
|
||||
| :-----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| GpsOpUnset | **Default**: operates the same as `GpsOpMobile`. |
|
||||
| ~~GpsOpStationary~~ | Note: This mode was removed, because it is identical go `GpsOpMobile` with a `gps_update_interval` of once per day This node is mostly stationary, we should try to get location only once per day, Once we have that position we should turn the GPS to sleep mode This is the recommended configuration for stationary 'router' nodes |
|
||||
| GpsOpMobile | This node is mobile and we should get GPS position at a rate governed by `gps_update_interval` |
|
||||
| GpsOpTimeOnly | We should only use the GPS to get time (no location data should be acquired/stored) Once we have the time we treat `gps_update_interval` as MAXINT (i.e. sleep forever) |
|
||||
| GpsOpDisabled | GPS is always turned off - this mode is not recommended - use `GpsOpTimeOnly` instead. |
|
||||
| GpsOpMobile | This node is mobile and we should get GPS position at a rate governed by `gps_update_interval` |
|
||||
| GpsOpTimeOnly | We should only use the GPS to get time (no location data should be acquired/stored) Once we have the time we treat `gps_update_interval` as MAXINT (i.e. sleep forever) |
|
||||
| GpsOpDisabled | GPS is always turned off - this mode is not recommended - use `GpsOpTimeOnly` instead. |
|
||||
|
||||
#### Enable/Disable GPS
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set GPS to default settings"
|
||||
meshtastic --set gps_operation GpsOpUnset
|
||||
```
|
||||
```bash title="Set GPS to only be used for time"
|
||||
meshtastic --set gps_operation GpsOpTimeOnly
|
||||
```
|
||||
```bash title="Disable GPS Completely"
|
||||
meshtastic --set gps_operation GpsOpDisabled
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS to default settings"
|
||||
meshtastic --set gps_operation GpsOpUnset
|
||||
```
|
||||
|
||||
```bash title="Set GPS to only be used for time"
|
||||
meshtastic --set gps_operation GpsOpTimeOnly
|
||||
```
|
||||
|
||||
```bash title="Disable GPS Completely"
|
||||
meshtastic --set gps_operation GpsOpDisabled
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -401,23 +419,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Determines how often should the device should attempt to acquire a GPS position (in seconds). The length of time the device is allowed to attempt to acquire GPS coordinates each interval is set using [`gps_attempt_time`](#gps_attempt_time). The default is every 30 seconds.
|
||||
|
||||
#### Specify GPS update interval
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set GPS update interval to default settings (every 30 seconds)"
|
||||
meshtastic --set gps_update_interval 0
|
||||
```
|
||||
```bash title="Set GPS update interval to every 45 seconds"
|
||||
meshtastic --set gps_update_interval 45
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS update interval to default settings (every 30 seconds)"
|
||||
meshtastic --set gps_update_interval 0
|
||||
```
|
||||
|
||||
```bash title="Set GPS update interval to every 45 seconds"
|
||||
meshtastic --set gps_update_interval 45
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -447,27 +467,28 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
|
||||
Determines whether location is shared with other nodes. See more details.
|
||||
|
||||
| Value | Description |
|
||||
| :---: | :---------: |
|
||||
| LocUnset | **Default**: operates the same as `LocEnabled`|
|
||||
| LocEnabled | The device is sharing its location (or the paired phone's location) |
|
||||
| Value | Description |
|
||||
| :---------: | :--------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| LocUnset | **Default**: operates the same as `LocEnabled` |
|
||||
| LocEnabled | The device is sharing its location (or the paired phone's location) |
|
||||
| LocDisabled | The device is not sharing its location (if the unit has a GPS it will default to only get time - i.e. [`GpsOpTimeOnly`](#gps_operation)) |
|
||||
|
||||
#### Disable Location Sharing
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Disable Location Sharing"
|
||||
meshtastic --set location_share LocDisabled
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Disable Location Sharing"
|
||||
meshtastic --set location_share LocDisabled
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -504,23 +525,25 @@ How often our position is sent to the mesh (but only if it has changed significa
|
|||
The GPS updates will be sent out every `position_broadcast_secs`, with either the actual GPS location, or an empty location if no GPS fix was achieved. This defaults to broadcast every 15 minutes.
|
||||
|
||||
#### Specify GPS position broadcast frequency
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set GPS update interval to default settings (every 15 minutes)"
|
||||
meshtastic --set position_broadcast_secs 0
|
||||
```
|
||||
```bash title="Set GPS update interval to every 60 seconds"
|
||||
meshtastic --set position_broadcast_secs 60
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set GPS update interval to default settings (every 15 minutes)"
|
||||
meshtastic --set position_broadcast_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set GPS update interval to every 60 seconds"
|
||||
meshtastic --set position_broadcast_secs 60
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -558,37 +581,39 @@ As an example, if you configure your radio to use **Long Range / Fast**, if you
|
|||
|
||||
The table below is a summary computed values from the algorithm.
|
||||
|
||||
| Long Name | Update every x-seconds | Update distance traveled (meters) |
|
||||
| :---: | :---------: | :---------: |
|
||||
| Long Range / Slow | 88 | 150 |
|
||||
| Long Range / Fast | 61 | 144 |
|
||||
| Medium Range / Slow | 30 | 41 |
|
||||
| Medium Range / Fast | 30 | 30 |
|
||||
| Short Range / Slow | 30 | 30 |
|
||||
| Short Range / Fast | 30 | 30 |
|
||||
| Long Name | Update every x-seconds | Update distance traveled (meters) |
|
||||
| :-----------------: | :--------------------: | :-------------------------------: |
|
||||
| Long Range / Slow | 88 | 150 |
|
||||
| Long Range / Fast | 61 | 144 |
|
||||
| Medium Range / Slow | 30 | 41 |
|
||||
| Medium Range / Fast | 30 | 30 |
|
||||
| Short Range / Slow | 30 | 30 |
|
||||
| Short Range / Fast | 30 | 30 |
|
||||
|
||||
:::tip
|
||||
A person walking in a straight line will take about 90 seconds to travel 150 meters. That walking speed estimate was used as the baseline for the formula used.
|
||||
:::
|
||||
|
||||
#### Enable/Disable Smart Position Broadcast
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart true
|
||||
```
|
||||
```bash title="Disable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart true
|
||||
```
|
||||
|
||||
```bash title="Disable smart position broadcast"
|
||||
meshtastic --set position_broadcast_smart false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -618,41 +643,43 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
|
||||
Bit field of boolean configuration options for POSITION messages (bitwise OR of PositionFlags)
|
||||
|
||||
| Value | Description |
|
||||
| :---: | :---------: |
|
||||
| POS_UNDEFINED | Required for compilation |
|
||||
| POS_ALTITUDE | Include an altitude value (if available) |
|
||||
| POS_ALT_MSL | Altitude value is MSL |
|
||||
| POS_GEO_SEP | Include geoidal separation |
|
||||
| POS_DOP | Include the DOP value ; PDOP used by default, see below |
|
||||
| POS_HVDOP | If POS_DOP set, send separate HDOP / VDOP values instead of | PDOP
|
||||
| POS_BATTERY | Include battery level |
|
||||
| POS_SATINVIEW | Include number of "satellites in view" |
|
||||
| POS_SEQ_NOS | Include a sequence number incremented per packet |
|
||||
| POS_TIMESTAMP | Include positional timestamp (from GPS solution) |
|
||||
| Value | Description |
|
||||
| :-----------: | :---------------------------------------------------------: | ---- |
|
||||
| POS_UNDEFINED | Required for compilation |
|
||||
| POS_ALTITUDE | Include an altitude value (if available) |
|
||||
| POS_ALT_MSL | Altitude value is MSL |
|
||||
| POS_GEO_SEP | Include geoidal separation |
|
||||
| POS_DOP | Include the DOP value ; PDOP used by default, see below |
|
||||
| POS_HVDOP | If POS_DOP set, send separate HDOP / VDOP values instead of | PDOP |
|
||||
| POS_BATTERY | Include battery level |
|
||||
| POS_SATINVIEW | Include number of "satellites in view" |
|
||||
| POS_SEQ_NOS | Include a sequence number incremented per packet |
|
||||
| POS_TIMESTAMP | Include positional timestamp (from GPS solution) |
|
||||
|
||||
#### Set/Unset Position Flags
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::tip
|
||||
Include each flag desired from the table above separated by a single space.
|
||||
:::
|
||||
|
||||
```bash title="Set Position Flags"
|
||||
meshtastic --pos-fields POS_ALTITUDE POS_ALT_MSL
|
||||
```
|
||||
```bash title="Unset Position Flags"
|
||||
meshtastic --pos-fields POS_UNDEFINED
|
||||
```
|
||||
```bash title="Set Position Flags"
|
||||
meshtastic --pos-fields POS_ALTITUDE POS_ALT_MSL
|
||||
```
|
||||
|
||||
```bash title="Unset Position Flags"
|
||||
meshtastic --pos-fields POS_UNDEFINED
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -3,6 +3,7 @@ id: ham
|
|||
title: Licensed (HAM) Operation
|
||||
sidebar_label: Licensed (HAM) Operation
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -18,15 +19,15 @@ This written US only, may or may not be applicable elsewhere.
|
|||
|
||||
Meshtastic can be used by both unlicensed people and licensed operators. If you use Meshtastic with your ham radio license, there are additional privileges and restrictions to consider.
|
||||
|
||||
| Privileges | Restrictions |
|
||||
|:----------:|:------------:|
|
||||
| Privileges | Restrictions |
|
||||
| :-------------------------------------------------------------: | :-----------------------------------------------------------: |
|
||||
| <ul><li>Additional Power</li><li>Higher gain antennas</li></ul> | <ul><li>Unencrypted</li><li>Identified with your ID</li></ul> |
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| set-ham | `string`| `""`|
|
||||
| set-ham | `string` | `""` |
|
||||
|
||||
### set-ham
|
||||
|
||||
|
@ -37,20 +38,21 @@ By changing these settings, you are self certifying that you are licensed to ope
|
|||
:::
|
||||
|
||||
#### Set HAM ID
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set HAM ID"
|
||||
meshtastic --set-ham KI1345
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set HAM ID"
|
||||
meshtastic --set-ham KI1345
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -80,9 +82,9 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
|
||||
Toggling `set-ham` changes your device settings in the following ways.
|
||||
|
||||
| Setting | `set-ham` Default | Normal Default |
|
||||
| :-----: | :-----------------: | :------------: |
|
||||
| `is_licensed` (Protobuf) | `true` | `false` |
|
||||
| `long_name` (Protobuf) | `id` | User Defined |
|
||||
| `psk` (Protobuf) | `""` | See [Channel Settings - psk](channel#psk) |
|
||||
| `short_name` (Protobuf) | TODO | User Defined |
|
||||
| Setting | `set-ham` Default | Normal Default |
|
||||
| :----------------------: | :---------------: | :---------------------------------------: |
|
||||
| `is_licensed` (Protobuf) | `true` | `false` |
|
||||
| `long_name` (Protobuf) | `id` | User Defined |
|
||||
| `psk` (Protobuf) | `""` | See [Channel Settings - psk](channel#psk) |
|
||||
| `short_name` (Protobuf) | TODO | User Defined |
|
||||
|
|
|
@ -3,25 +3,22 @@ id: misc
|
|||
title: Miscellaneous Settings
|
||||
sidebar_label: Miscellaneous
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| auto_screen_carousel_secs | `integer` (seconds) | `0` |
|
||||
| debug_log_enabled | `true`, `false` | `false` |
|
||||
| factory_reset | `true`, `false` | `false` |
|
||||
| ignore_incoming | `string` – list of node nums to ignore | `0` |
|
||||
| hop_limit | `0`-`7` | `0` |
|
||||
| serial_disabled | `true`, `false` | `false` |
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------------------: | :------------------------------------: | :-----: |
|
||||
| auto_screen_carousel_secs | `integer` (seconds) | `0` |
|
||||
| debug_log_enabled | `true`, `false` | `false` |
|
||||
| factory_reset | `true`, `false` | `false` |
|
||||
| ignore_incoming | `string` – list of node nums to ignore | `0` |
|
||||
| hop_limit | `0`-`7` | `0` |
|
||||
| serial_disabled | `true`, `false` | `false` |
|
||||
|
||||
### auto_screen_carousel_secs
|
||||
|
||||
|
@ -30,22 +27,23 @@ Automatically toggles to the next page on the screen like a carousel, based the
|
|||
#### Configure auto_screen_carousel_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set auto_screen_carousel_secs to default"
|
||||
meshtastic --set auto_screen_carousel_secs 0
|
||||
```
|
||||
```bash title="Set auto_screen_carousel_secs to 120 seconds"
|
||||
meshtastic --set auto_screen_carousel_secs 120
|
||||
```
|
||||
```bash title="Set auto_screen_carousel_secs to default"
|
||||
meshtastic --set auto_screen_carousel_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set auto_screen_carousel_secs to 120 seconds"
|
||||
meshtastic --set auto_screen_carousel_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -78,22 +76,23 @@ By default we turn off logging as soon as an API client connects (to keep shared
|
|||
#### Enable/Disable Debug Log
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable debug log"
|
||||
meshtastic --set debug_log_enabled true
|
||||
```
|
||||
```bash title="Disable debug log"
|
||||
meshtastic --set debug_log_enabled false
|
||||
```
|
||||
```bash title="Enable debug log"
|
||||
meshtastic --set debug_log_enabled true
|
||||
```
|
||||
|
||||
```bash title="Disable debug log"
|
||||
meshtastic --set debug_log_enabled false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -126,19 +125,19 @@ This setting is never saved to disk, but if set, all device settings will be ret
|
|||
#### Factory reset
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Example - Factory reset"
|
||||
meshtastic --set factory_reset true
|
||||
```
|
||||
```bash title="Example - Factory reset"
|
||||
meshtastic --set factory_reset true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -171,22 +170,23 @@ If true, radio should not try to be smart about what packets to queue to the pho
|
|||
#### Enable/Disable ignore_incoming
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable ignore_incoming"
|
||||
meshtastic --set ignore_incoming true
|
||||
```
|
||||
```bash title="Disable ignore_incoming"
|
||||
meshtastic --set ignore_incoming false
|
||||
```
|
||||
```bash title="Enable ignore_incoming"
|
||||
meshtastic --set ignore_incoming true
|
||||
```
|
||||
|
||||
```bash title="Disable ignore_incoming"
|
||||
meshtastic --set ignore_incoming false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -219,22 +219,23 @@ If set, this will disable the SerialConsole by not initializing the StreamAPI.
|
|||
#### Enable/Disable Serial
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable serial"
|
||||
meshtastic --set serial_disabled false
|
||||
```
|
||||
```bash title="Disable serial"
|
||||
meshtastic --set serial_disabled true
|
||||
```
|
||||
```bash title="Enable serial"
|
||||
meshtastic --set serial_disabled false
|
||||
```
|
||||
|
||||
```bash title="Disable serial"
|
||||
meshtastic --set serial_disabled true
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -271,22 +272,23 @@ Meshtastic allows a maximum of 7 hops (this is a limit of the protocol). Setting
|
|||
#### Configure hop_limit
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set hop_limit to default (3 hops)"
|
||||
meshtastic --set hop_limit 0
|
||||
```
|
||||
```bash title="Set hop_limit to max (7 hops)"
|
||||
meshtastic --set hop_limit 7
|
||||
```
|
||||
```bash title="Set hop_limit to default (3 hops)"
|
||||
meshtastic --set hop_limit 0
|
||||
```
|
||||
|
||||
```bash title="Set hop_limit to max (7 hops)"
|
||||
meshtastic --set hop_limit 7
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -4,6 +4,7 @@ title: Device Settings
|
|||
sidebar_label: Device Settings
|
||||
slug: /settings
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -32,25 +33,27 @@ Whether you're using the upcoming [web interface](software/web/web-app-software)
|
|||
## Examples
|
||||
|
||||
At the bottom of each setting page, examples will be available displaying how to adjust settings using the various platforms available to interface with your device. The examples will look like this:
|
||||
|
||||
### Introducing Examples
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
:::note
|
||||
The CLI examples will require you to utilize the Command line Interface that is available through Meshtastic-python. Installation instructions can be found [here](software/python/python-installation).
|
||||
:::
|
||||
|
||||
```bash title="Example - Set Region (an important first step!)"
|
||||
meshtastic --set region Unset
|
||||
```
|
||||
```bash title="Example - Set Region (an important first step!)"
|
||||
meshtastic --set region Unset
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -15,22 +15,22 @@ For a description and more information on what exactly all of these mean, please
|
|||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` |
|
||||
| is_always_powered | `true`, `false` | `false` |
|
||||
| is_low_power | `true`, `false` | `false` |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
| ls_secs | `integer` (seconds) | `0` |
|
||||
| mesh_sds_timeout_secs | `integer` (seconds) | `0` |
|
||||
| min_wake_secs | `integer` (seconds) | `0` |
|
||||
| on_battery_shutdown_after_secs | `integer` (seconds) | `0` |
|
||||
| phone_sds_timeout_sec | `integer` (seconds) | `0` |
|
||||
| phone_timeout_secs | `integer` (seconds) | `0` |
|
||||
| screen_on_secs | `integer` (seconds) | `0` |
|
||||
| sds_secs | `integer` (seconds) | `0` |
|
||||
| send_owner_interval | `integer` (sent every x network pings) | `4` |
|
||||
| wait_bluetooth_secs | `integer` (seconds) | `0` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------: |
|
||||
| charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` |
|
||||
| is_always_powered | `true`, `false` | `false` |
|
||||
| is_low_power | `true`, `false` | `false` |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
| ls_secs | `integer` (seconds) | `0` |
|
||||
| mesh_sds_timeout_secs | `integer` (seconds) | `0` |
|
||||
| min_wake_secs | `integer` (seconds) | `0` |
|
||||
| on_battery_shutdown_after_secs | `integer` (seconds) | `0` |
|
||||
| phone_sds_timeout_sec | `integer` (seconds) | `0` |
|
||||
| phone_timeout_secs | `integer` (seconds) | `0` |
|
||||
| screen_on_secs | `integer` (seconds) | `0` |
|
||||
| sds_secs | `integer` (seconds) | `0` |
|
||||
| send_owner_interval | `integer` (sent every x network pings) | `4` |
|
||||
| wait_bluetooth_secs | `integer` (seconds) | `0` |
|
||||
|
||||
:::note
|
||||
When you change the following settings to `0` they assume the following defaults:
|
||||
|
@ -43,7 +43,7 @@ When you change the following settings to `0` they assume the following defaults
|
|||
- `screen_on_secs`: 1 minute
|
||||
- `sds_secs`: 1 year
|
||||
- `wait_bluetooth_secs`: 1 minute
|
||||
:::
|
||||
:::
|
||||
|
||||
### charge_current
|
||||
|
||||
|
@ -52,22 +52,23 @@ Sets the current of the battery charger.
|
|||
#### Specify charge_current
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Unset charge current"
|
||||
meshtastic --set charge_current MAUnset
|
||||
```
|
||||
```bash title="Set charge current"
|
||||
meshtastic --set charge_current MA100
|
||||
```
|
||||
```bash title="Unset charge current"
|
||||
meshtastic --set charge_current MAUnset
|
||||
```
|
||||
|
||||
```bash title="Set charge current"
|
||||
meshtastic --set charge_current MA100
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -98,23 +99,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Circumvents the logic block for determining whether the device is powered or not. Useful for devices with finicky ADC issues on the battery sense pins.
|
||||
|
||||
#### Enable/Disable is_always_powered
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable is_always_powered"
|
||||
meshtastic --set is_always_powered true
|
||||
```
|
||||
```bash title="Disable is_always_powered"
|
||||
meshtastic --set is_always_powered false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable is_always_powered"
|
||||
meshtastic --set is_always_powered true
|
||||
```
|
||||
|
||||
```bash title="Disable is_always_powered"
|
||||
meshtastic --set is_always_powered false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -149,23 +152,25 @@ You do **not** need to set this if you've set `is_router` (it is implied in that
|
|||
:::
|
||||
|
||||
#### Enable/Disable is_low_power
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable is_low_power"
|
||||
meshtastic --set is_low_power true
|
||||
```
|
||||
```bash title="Disable is_low_power"
|
||||
meshtastic --set is_low_power false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable is_low_power"
|
||||
meshtastic --set is_low_power true
|
||||
```
|
||||
|
||||
```bash title="Disable is_low_power"
|
||||
meshtastic --set is_low_power false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -195,25 +200,26 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
|
||||
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight).
|
||||
|
||||
|
||||
#### Enable/Disable is_router
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable is_router"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
```bash title="Disable is_router"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable is_router"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
|
||||
```bash title="Disable is_router"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -244,23 +250,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of 3600.
|
||||
|
||||
#### Configure ls_secs
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set ls_secs to default (1 hour/3600 seconds)"
|
||||
meshtastic --set ls_secs 0
|
||||
```
|
||||
```bash title="Set ls_secs to 120 seconds"
|
||||
meshtastic --set ls_secs 120
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set ls_secs to default (1 hour/3600 seconds)"
|
||||
meshtastic --set ls_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set ls_secs to 120 seconds"
|
||||
meshtastic --set ls_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -291,26 +299,29 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable.
|
||||
|
||||
#### Configure mesh_sds_timeout_secs
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set mesh_sds_timeout_secs to default (2 hour/7200 seconds)"
|
||||
meshtastic --set mesh_sds_timeout_secs 0
|
||||
```
|
||||
```bash title="Set mesh_sds_timeout_secs to 120 seconds"
|
||||
meshtastic --set mesh_sds_timeout_secs 120
|
||||
```
|
||||
```bash title="Disable mesh_sds_timeout_secs (using MAXUINT)"
|
||||
meshtastic --set mesh_sds_timeout_secs 4294967295
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set mesh_sds_timeout_secs to default (2 hour/7200 seconds)"
|
||||
meshtastic --set mesh_sds_timeout_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set mesh_sds_timeout_secs to 120 seconds"
|
||||
meshtastic --set mesh_sds_timeout_secs 120
|
||||
```
|
||||
|
||||
```bash title="Disable mesh_sds_timeout_secs (using MAXUINT)"
|
||||
meshtastic --set mesh_sds_timeout_secs 4294967295
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -343,22 +354,23 @@ Power management state machine option. See the [power page](/docs/software/other
|
|||
#### Configure min_wake_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set min_wake_secs to default (10 seconds)"
|
||||
meshtastic --set min_wake_secs 0
|
||||
```
|
||||
```bash title="Set min_wake_secs to 120 seconds"
|
||||
meshtastic --set min_wake_secs 120
|
||||
```
|
||||
```bash title="Set min_wake_secs to default (10 seconds)"
|
||||
meshtastic --set min_wake_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set min_wake_secs to 120 seconds"
|
||||
meshtastic --set min_wake_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -389,23 +401,25 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
If non-zero, the device will fully power off this many seconds after external power is removed.
|
||||
|
||||
#### Enable/Disable on_battery_shutdown_after_secs
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Disable on_battery_shutdown_after_secs"
|
||||
meshtastic --set on_battery_shutdown_after_secs 0
|
||||
```
|
||||
```bash title="Set device to shutdown after 120 seconds on battery"
|
||||
meshtastic --set on_battery_shutdown_after_secs 120
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Disable on_battery_shutdown_after_secs"
|
||||
meshtastic --set on_battery_shutdown_after_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set device to shutdown after 120 seconds on battery"
|
||||
meshtastic --set on_battery_shutdown_after_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -436,26 +450,29 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable.
|
||||
|
||||
#### Enable/Disable phone_sds_timeout_sec
|
||||
<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">
|
||||
|
||||
```bash title="Set phone_sds_timeout_sec to default (2 hours)"
|
||||
meshtastic --set phone_sds_timeout_sec 0
|
||||
```
|
||||
```bash title="Disable phone_sds_timeout_sec"
|
||||
meshtastic --set phone_sds_timeout_sec 4294967295
|
||||
```
|
||||
```bash title="Set phone_sds_timeout_sec to 120 seconds"
|
||||
meshtastic --set phone_sds_timeout_sec 120
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set phone_sds_timeout_sec to default (2 hours)"
|
||||
meshtastic --set phone_sds_timeout_sec 0
|
||||
```
|
||||
|
||||
```bash title="Disable phone_sds_timeout_sec"
|
||||
meshtastic --set phone_sds_timeout_sec 4294967295
|
||||
```
|
||||
|
||||
```bash title="Set phone_sds_timeout_sec to 120 seconds"
|
||||
meshtastic --set phone_sds_timeout_sec 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -488,22 +505,23 @@ Power management state machine option. See the [power page](/docs/software/other
|
|||
#### Configure phone_timeout_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set phone_timeout_secs to default (15 minutes)"
|
||||
meshtastic --set phone_timeout_secs 0
|
||||
```
|
||||
```bash title="Set phone_timeout_secs to 120 seconds"
|
||||
meshtastic --set phone_timeout_secs 120
|
||||
```
|
||||
```bash title="Set phone_timeout_secs to default (15 minutes)"
|
||||
meshtastic --set phone_timeout_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set phone_timeout_secs to 120 seconds"
|
||||
meshtastic --set phone_timeout_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -536,22 +554,23 @@ Power management state machine option. See the [power page](/docs/software/other
|
|||
#### Configure screen_on_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set screen_on_secs to default (1 minute)"
|
||||
meshtastic --set screen_on_secs 0
|
||||
```
|
||||
```bash title="Set screen_on_secs to 120 seconds"
|
||||
meshtastic --set screen_on_secs 120
|
||||
```
|
||||
```bash title="Set screen_on_secs to default (1 minute)"
|
||||
meshtastic --set screen_on_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set screen_on_secs to 120 seconds"
|
||||
meshtastic --set screen_on_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -584,22 +603,23 @@ Power management state machine option. See the [power page](/docs/software/other
|
|||
#### Configure sds_secs
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set sds_secs to default (1 year)"
|
||||
meshtastic --set sds_secs 0
|
||||
```
|
||||
```bash title="Set sds_secs to 120 seconds"
|
||||
meshtastic --set sds_secs 120
|
||||
```
|
||||
```bash title="Set sds_secs to default (1 year)"
|
||||
meshtastic --set sds_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set sds_secs to 120 seconds"
|
||||
meshtastic --set sds_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -632,22 +652,23 @@ This sets how often to send the database of node owner information with other no
|
|||
#### Configure send_owner_interval
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set send_owner_interval to default (every 4 network pings)"
|
||||
meshtastic --set send_owner_interval 0
|
||||
```
|
||||
```bash title="Set send_owner_interval to every 10 network pings"
|
||||
meshtastic --set send_owner_interval 10
|
||||
```
|
||||
```bash title="Set send_owner_interval to default (every 4 network pings)"
|
||||
meshtastic --set send_owner_interval 0
|
||||
```
|
||||
|
||||
```bash title="Set send_owner_interval to every 10 network pings"
|
||||
meshtastic --set send_owner_interval 10
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -680,23 +701,25 @@ For instance the default interval of 4 will send the node owner information for
|
|||
Wait number of seconds for Bluetooth - Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of 1 minute.
|
||||
|
||||
#### Configure wait_bluetooth_secs
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set wait_bluetooth_secs to default (60 seconds)"
|
||||
meshtastic --set wait_bluetooth_secs 0
|
||||
```
|
||||
```bash title="Set wait_bluetooth_secs to 120 seconds"
|
||||
meshtastic --set wait_bluetooth_secs 120
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Set wait_bluetooth_secs to default (60 seconds)"
|
||||
meshtastic --set wait_bluetooth_secs 0
|
||||
```
|
||||
|
||||
```bash title="Set wait_bluetooth_secs to 120 seconds"
|
||||
meshtastic --set wait_bluetooth_secs 120
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -3,42 +3,42 @@ id: router
|
|||
title: Router Settings
|
||||
sidebar_label: Router
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-------: | :---------------: | :-----: |
|
||||
| is_router | `true`, `false` | `false` |
|
||||
|
||||
### is_router
|
||||
|
||||
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight)
|
||||
|
||||
#### Enable/Disable router mode
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable router mode"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
```bash title="Disable router mode"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable router mode"
|
||||
meshtastic --set is_router true
|
||||
```
|
||||
|
||||
```bash title="Disable router mode"
|
||||
meshtastic --set is_router false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -64,20 +64,21 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Details
|
||||
|
||||
Toggling `is_router` changes your device settings in the following ways.
|
||||
|
||||
| Setting | `is_router` Default | Normal Default |
|
||||
| :-----: | :-----------------: | :------------: |
|
||||
| `send_owner_interval` | 2 | 4 |
|
||||
| `position_broadcast_secs` | 12 hours | 15 minutes |
|
||||
| `wait_bluetooth_secs` | 1 | 60 |
|
||||
| `mesh_sds_timeout_secs` | NODE_DELAY_FOREVER | 2 hours |
|
||||
| `phone_sds_timeout_sec` | NODE_DELAY_FOREVER | 2 hours |
|
||||
| `ls_secs` | 1 day | 5 minutes |
|
||||
| Setting | `is_router` Default | Normal Default |
|
||||
| :-----------------------: | :-----------------: | :------------: |
|
||||
| `send_owner_interval` | 2 | 4 |
|
||||
| `position_broadcast_secs` | 12 hours | 15 minutes |
|
||||
| `wait_bluetooth_secs` | 1 | 60 |
|
||||
| `mesh_sds_timeout_secs` | NODE_DELAY_FOREVER | 2 hours |
|
||||
| `phone_sds_timeout_sec` | NODE_DELAY_FOREVER | 2 hours |
|
||||
| `ls_secs` | 1 day | 5 minutes |
|
||||
|
||||
### Altered Behaviors
|
||||
|
||||
#### Screen Wake
|
||||
|
||||
#### Bluetooth
|
||||
|
|
|
@ -3,6 +3,7 @@ id: wifi
|
|||
title: WiFi Settings
|
||||
sidebar_label: WiFi
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -24,11 +25,11 @@ The first time your device restarts after enabling the WiFi access point, it wil
|
|||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----: | :---------------: | :-----: |
|
||||
| wifi_ap_mode | `true`, `false` | `false` |
|
||||
| wifi_password | string | `""` |
|
||||
| wifi_ssid | string | `""` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------: | :---------------: | :-----: |
|
||||
| wifi_ap_mode | `true`, `false` | `false` |
|
||||
| wifi_password | string | `""` |
|
||||
| wifi_ssid | string | `""` |
|
||||
|
||||
:::note
|
||||
`wifi_ssid` & `wifi_password` are both **case sensitive** values.
|
||||
|
@ -39,23 +40,25 @@ The first time your device restarts after enabling the WiFi access point, it wil
|
|||
A boolean value that toggles the [Software Access Point](#software-access-point)
|
||||
|
||||
#### Enable/Disable Software Access Point
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enable SoftAP"
|
||||
meshtastic --set wifi_ap_mode true
|
||||
```
|
||||
```bash title="Disable SoftAP"
|
||||
meshtastic --set wifi_ap_mode false
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enable SoftAP"
|
||||
meshtastic --set wifi_ap_mode true
|
||||
```
|
||||
|
||||
```bash title="Disable SoftAP"
|
||||
meshtastic --set wifi_ap_mode false
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -86,22 +89,23 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
In [SoftAP](#software-access-point) mode, this is the password to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks password. This string is case sensitive.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set WiFi password"
|
||||
meshtastic --set wifi_password mypassword
|
||||
```
|
||||
```bash title="Set WiFi password (with spaces)"
|
||||
meshtastic --set wifi_password "my password"
|
||||
```
|
||||
```bash title="Set WiFi password"
|
||||
meshtastic --set wifi_password mypassword
|
||||
```
|
||||
|
||||
```bash title="Set WiFi password (with spaces)"
|
||||
meshtastic --set wifi_password "my password"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
@ -132,22 +136,24 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
In [SoftAP](#software-access-point) mode, this is the SSID broadcast to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks SSID. This string is case sensitive.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Set WiFi network"
|
||||
meshtastic --set wifi_ssid mynetwork
|
||||
```
|
||||
|
||||
```bash title="Set WiFi network (with spaces)"
|
||||
meshtastic --set wifi_ssid "my network"
|
||||
```
|
||||
|
||||
```bash title="Set WiFi network"
|
||||
meshtastic --set wifi_ssid mynetwork
|
||||
```
|
||||
```bash title="Set WiFi network (with spaces)"
|
||||
meshtastic --set wifi_ssid "my network"
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
|
@ -194,10 +200,10 @@ You should then be able to connect to the node using either the displayed IP add
|
|||
|
||||
You can also enable the SoftAP by following these directions:
|
||||
|
||||
* Hold down the user button
|
||||
* Press and release the reset button
|
||||
* Count to two
|
||||
* Let go of the user button
|
||||
- Hold down the user button
|
||||
- Press and release the reset button
|
||||
- Count to two
|
||||
- Let go of the user button
|
||||
|
||||
This will reboot the device with the SSID set to `meshtasticAdmin` and the password set to `12345678`. Using the Force SoftAP method, once you reboot, the SoftAP will be turned off.
|
||||
|
||||
|
@ -236,29 +242,32 @@ To disable WiFi completely, set `wifi_ap_mode` to `false`, and both `wifi_ssid`
|
|||
## Examples
|
||||
|
||||
### Enable WiFi (as client)
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Enabling WiFi Client"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Enabling WiFi Client"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
|
||||
:::note
|
||||
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
|
||||
|
||||
```bash title="Example with spaces"
|
||||
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
|
||||
```
|
||||
|
||||
:::
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
</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.
|
||||
|
@ -284,30 +293,31 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
In the above example, the device will join a network with the SSID `mywifissid` and the password `mywifipassword`.
|
||||
|
||||
### Enable WiFi (as SoftAP)
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Software Access Point Example"
|
||||
meshtastic --set wifi_ap_mode true --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
<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">
|
||||
|
||||
```bash title="Software Access Point Example"
|
||||
meshtastic --set wifi_ap_mode true --set wifi_ssid mywifissid --set wifi_password mywifipassword
|
||||
```
|
||||
|
||||
:::note
|
||||
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
|
||||
|
||||
```bash title="Example with spaces"
|
||||
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
||||
|
@ -335,21 +345,21 @@ Configuring this setting is not yet available for the selected platform. If this
|
|||
In the above example, the device will broadcast a network with the SSID `mywifissid` and the password `mywifipassword`.
|
||||
|
||||
### Disable WiFi Completely
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Example - Disabling WiFi"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid "" --set wifi_password ""
|
||||
```
|
||||
groupId="settings"
|
||||
defaultValue="cli"
|
||||
values={[
|
||||
{label: 'CLI', value: 'cli'},
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'iOS', value: 'iOS'},
|
||||
{label: 'Web', value: 'web'},
|
||||
]}>
|
||||
<TabItem value="cli">
|
||||
|
||||
```bash title="Example - Disabling WiFi"
|
||||
meshtastic --set wifi_ap_mode false --set wifi_ssid "" --set wifi_password ""
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="android">
|
||||
|
|
|
@ -44,5 +44,6 @@ GLOBAL OPTIONS:
|
|||
--help, -h show help (default: false)
|
||||
--version, -v print the version (default: false)
|
||||
```
|
||||
|
||||
Further information is available on the project's GitHub [Readme.md](https://github.com/lmatte7/meshtastic-go/blob/main/README.md).
|
||||
The latest executables can be downloaded from [GitHub](https://github.com/lmatte7/meshtastic-go/releases/latest).
|
||||
|
|
|
@ -7,8 +7,9 @@ sidebar_label: Community apps
|
|||
The Meshtastic ecosystem is highly extensible, and a number of community projects have been made to fit different people's needs. If you wish to create your own application or module, please read the information in the developers section, and tell us about your project on the forum.
|
||||
|
||||
Current community projects:
|
||||
* [Meshtastic module for ATAK](/docs/software/community/community-atak) (Android Team Awareness Kit)
|
||||
* [PyGUI](/docs/software/community/community-pygui) - Platform independent graphical user interface for Meshtastic devices
|
||||
* [Go CLI](/docs/software/community/community-go) - A command line interface using Go that requires no pre-requisites to be installed
|
||||
|
||||
- [Meshtastic module for ATAK](/docs/software/community/community-atak) (Android Team Awareness Kit)
|
||||
- [PyGUI](/docs/software/community/community-pygui) - Platform independent graphical user interface for Meshtastic devices
|
||||
- [Go CLI](/docs/software/community/community-go) - A command line interface using Go that requires no pre-requisites to be installed
|
||||
|
||||
Support for these projects should be sought from their respective authors.
|
||||
|
|
|
@ -10,14 +10,14 @@ The device might report these fault codes on the screen, but it will also be out
|
|||
This table is derived from the [protobufs](/docs/developers/protobufs/api#criticalerrorcode)
|
||||
:::
|
||||
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ----------- |
|
||||
| TxWatchdog | 1 | A software bug was detected while trying to send LoRa |
|
||||
| SleepEnterWait | 2 | A software bug was detected on entry to sleep |
|
||||
| NoRadio | 3 | No LoRa radio hardware could be found |
|
||||
| Unspecified | 4 | Not normally used |
|
||||
| UBloxInitFailed | 5 | We failed while configuring a UBlox GPS |
|
||||
| NoAXP192 | 6 | This board was expected to have a power management chip and it is missing or broken |
|
||||
| InvalidRadioSetting | 7 | The channel tried to set a radio setting which is not supported by this chipset, radio comms settings are now undefined |
|
||||
| TransmitFailed | 8 | Radio transmit hardware failure. We sent data to the radio chip, but it did not reply with an interrupt |
|
||||
| Brownout | 9 | We detected that the main CPU voltage dropped below the minimum acceptable value |
|
||||
| Name | Number | Description |
|
||||
| ------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| TxWatchdog | 1 | A software bug was detected while trying to send LoRa |
|
||||
| SleepEnterWait | 2 | A software bug was detected on entry to sleep |
|
||||
| NoRadio | 3 | No LoRa radio hardware could be found |
|
||||
| Unspecified | 4 | Not normally used |
|
||||
| UBloxInitFailed | 5 | We failed while configuring a UBlox GPS |
|
||||
| NoAXP192 | 6 | This board was expected to have a power management chip and it is missing or broken |
|
||||
| InvalidRadioSetting | 7 | The channel tried to set a radio setting which is not supported by this chipset, radio comms settings are now undefined |
|
||||
| TransmitFailed | 8 | Radio transmit hardware failure. We sent data to the radio chip, but it did not reply with an interrupt |
|
||||
| Brownout | 9 | We detected that the main CPU voltage dropped below the minimum acceptable value |
|
||||
|
|
|
@ -4,6 +4,7 @@ title: Licensed (HAM) Operation
|
|||
sidebar_label: Licensed (HAM) Operation
|
||||
slug: /software/device/ham
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -17,13 +18,13 @@ Having a ham radio license grants you addition privilages and restrictions.
|
|||
|
||||
# Additional privilages
|
||||
|
||||
* Additional power
|
||||
* Higher gain antennas
|
||||
- Additional power
|
||||
- Higher gain antennas
|
||||
|
||||
# Restrictions
|
||||
|
||||
* Unencrypted
|
||||
* Identified with your ID
|
||||
- Unencrypted
|
||||
- Identified with your ID
|
||||
|
||||
# Let's do it!
|
||||
|
||||
|
@ -39,4 +40,4 @@ mydir$ meshtastic --port /dev/ttyUSB1 --set-ham KI1345
|
|||
Connected to radio
|
||||
Setting Ham ID to KI1345 and turning off encryption
|
||||
Writing modified channels to device
|
||||
```
|
||||
```
|
||||
|
|
|
@ -11,26 +11,26 @@ Long battery life is one of the main goals of this project. Based on initial mea
|
|||
From lower to higher power consumption.
|
||||
|
||||
- Super-Deep-Sleep (SDS) - Everything is off, CPU, radio, Bluetooth, and GPS. It only wakes due to timer or button press. We enter this mode only after no radio comms for a few hours - used to put the device into what is effectively "off" mode.
|
||||
* onEntry: setBluetoothOn(false), call doDeepSleep
|
||||
* onExit: (standard bootup code, starts in DARK)
|
||||
- onEntry: setBluetoothOn(false), call doDeepSleep
|
||||
- onExit: (standard bootup code, starts in DARK)
|
||||
- Deep-Sleep (DS) - CPU is off, radio is on, Bluetooth and GPS are off. Note: This mode is never used currently, because it only saves 1.5mA vs Light-Sleep - (Not currently used).
|
||||
- Light-Sleep (LS) - CPU is suspended (RAM stays alive), radio is on, Bluetooth is off, and GPS is off. Note: currently GPS is not turned off during light sleep, but there is a TODO item to fix this.
|
||||
* NOTE: On NRF52 platforms (because CPU current draw is so low), light-sleep state is never used.
|
||||
* onEntry: setBluetoothOn(false), setGPSPower(false), doLightSleep()
|
||||
* onIdle: (if we wake because our led blink timer has expired) blink the led then go back to sleep until we sleep for ls_secs
|
||||
* onExit: setGPSPower(true), start trying to get GPS lock: gps.startLock(), once lock arrives service.sendPosition(BROADCAST)
|
||||
- NOTE: On NRF52 platforms (because CPU current draw is so low), light-sleep state is never used.
|
||||
- onEntry: setBluetoothOn(false), setGPSPower(false), doLightSleep()
|
||||
- onIdle: (if we wake because our led blink timer has expired) blink the led then go back to sleep until we sleep for ls_secs
|
||||
- onExit: setGPSPower(true), start trying to get GPS lock: gps.startLock(), once lock arrives service.sendPosition(BROADCAST)
|
||||
- No Bluetooth (NB) - CPU is running, radio is on, GPS is on, Bluetooth is off, and screen is off.
|
||||
* onEntry: setBluetoothOn(false)
|
||||
* onExit:
|
||||
- onEntry: setBluetoothOn(false)
|
||||
- onExit:
|
||||
- Running Dark (DARK) - Everything is on except screen.
|
||||
* onEntry: setBluetoothOn(true)
|
||||
* onExit:
|
||||
- onEntry: setBluetoothOn(true)
|
||||
- onExit:
|
||||
- Serial API usage (SERIAL) - Screen is on, device doesn't sleep, and Bluetooth is off.
|
||||
* onEntry: setBluetooth off, screen on
|
||||
* onExit:
|
||||
- onEntry: setBluetooth off, screen on
|
||||
- onExit:
|
||||
- Full On (ON) - Everything is on, can eventually timeout and transition to a lower power state.
|
||||
* onEntry: setBluetoothOn(true), screen.setOn(true)
|
||||
* onExit: screen->setOn(false)
|
||||
- onEntry: setBluetoothOn(true), screen.setOn(true)
|
||||
- onExit: screen->setOn(false)
|
||||
- Has Power (POWER) - Screen is on, device doesn't sleep, Bluetooth on, and will stay in this state as long as we have power.
|
||||
* onEntry: setBluetooth off, screen on
|
||||
* onExit:
|
||||
- onEntry: setBluetooth off, screen on
|
||||
- onExit:
|
||||
|
|
|
@ -4,11 +4,11 @@ title: iOS application development
|
|||
sidebar_label: App development
|
||||
---
|
||||
|
||||
The Meshtastic iOS app is currently available in TestFlight as a public beta with a projected App Store release in early 2022.
|
||||
The Meshtastic iOS app is currently available in TestFlight as a public beta with a projected App Store release in early 2022.
|
||||
|
||||
There are plenty of remaining beta spaces available and there are no codes.
|
||||
|
||||
iOS 15 is required and you can sign up by opening the following link on any iOS device with TestFlight installed.
|
||||
iOS 15 is required and you can sign up by opening the following link on any iOS device with TestFlight installed.
|
||||
|
||||
https://testflight.apple.com/join/c8nNl8q1
|
||||
|
||||
|
@ -16,5 +16,5 @@ An alpha MacOS application is available in the beta TestFlight app for MacOS cur
|
|||
|
||||
Code from two previous community projects is also available.
|
||||
|
||||
* https://github.com/jeksys/Meshtastic-iOS
|
||||
* https://github.com/thepoweroftwo/meshtastic-ios
|
||||
- https://github.com/jeksys/Meshtastic-iOS
|
||||
- https://github.com/thepoweroftwo/meshtastic-ios
|
||||
|
|
|
@ -4,24 +4,21 @@ title: Connecting to a device
|
|||
sidebar_label: Connecting
|
||||
---
|
||||
|
||||
|
||||
|
||||
```tsx
|
||||
import type React from 'React';
|
||||
import type React from "React";
|
||||
|
||||
import { IHTTPConnection } from '@meshtastic/meshtasticjs';
|
||||
import { IHTTPConnection } from "@meshtastic/meshtasticjs";
|
||||
|
||||
export const Connection = (): JSX.Element => {
|
||||
const connection = new IHTTPConnection();
|
||||
|
||||
const connect = (): void => {
|
||||
void connection.connect({
|
||||
address: '10.0.0.10',
|
||||
fetchInterval: 3000,
|
||||
address: "10.0.0.10",
|
||||
fetchInterval: 3000,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return <button onClick={connect}>Connect Bluetooth</button>;
|
||||
};
|
||||
|
||||
```
|
||||
|
|
|
@ -27,9 +27,13 @@ const connection = client.createHTTPConnection();
|
|||
connection.connect("192.168.x.x");
|
||||
|
||||
const restartDevice: Promise<void> = connection.restartDevice();
|
||||
const getStatistics: Promise<void | Types.WebSPIFFSResponse> = connection.getStatistics();
|
||||
const getNetworks: Promise<void | Types.WebNetworkResponse> = connection.getNetworks();
|
||||
const getSPIFFS: Promise<void | Types.WebSPIFFSResponse> = connection.getSPIFFS();
|
||||
const deleteSPIFFS: Promise<void | Types.WebSPIFFSResponse> = connection.deleteSPIFFS();
|
||||
const getStatistics: Promise<void | Types.WebSPIFFSResponse> =
|
||||
connection.getStatistics();
|
||||
const getNetworks: Promise<void | Types.WebNetworkResponse> =
|
||||
connection.getNetworks();
|
||||
const getSPIFFS: Promise<void | Types.WebSPIFFSResponse> =
|
||||
connection.getSPIFFS();
|
||||
const deleteSPIFFS: Promise<void | Types.WebSPIFFSResponse> =
|
||||
connection.deleteSPIFFS();
|
||||
const blinkLED: Promise<void | any> = connection.blinkLED();
|
||||
```
|
||||
|
|
|
@ -7,11 +7,13 @@ sidebar_label: Overview
|
|||
There are a number of modules that have been integrated into the device firmware. These can be turned on using the Meshtastic python command line program. Please note that these modules require the device to be rebooted once they have been enabled for them to start running.
|
||||
|
||||
These modules are currently integrated into the firmware:
|
||||
* Range test - Allows automated testing of communication range of nodes
|
||||
* External notifications - Allows a speaker, LED or other device to indicate when a message has been received
|
||||
* Canned messages - Device can be used without the phone to send a message by choosing a predefined text
|
||||
* Serial - Allows messages to be sent across the mesh by sending strings across a serial port
|
||||
|
||||
- Range test - Allows automated testing of communication range of nodes
|
||||
- External notifications - Allows a speaker, LED or other device to indicate when a message has been received
|
||||
- Canned messages - Device can be used without the phone to send a message by choosing a predefined text
|
||||
- Serial - Allows messages to be sent across the mesh by sending strings across a serial port
|
||||
|
||||
These modules are currently in development:
|
||||
* Store and forward - Allows a node to store messages and resend them to nodes that have intermittent connection to the mesh
|
||||
* Environment measurement - Allows a node to measure it's local environment and report across the mesh
|
||||
|
||||
- Store and forward - Allows a node to store messages and resend them to nodes that have intermittent connection to the mesh
|
||||
- Environment measurement - Allows a node to measure it's local environment and report across the mesh
|
||||
|
|
|
@ -16,11 +16,12 @@ sudo pip install --upgrade pip
|
|||
git clone https://github.com/meshtastic/esp32-arduino-lib-builder
|
||||
cd esp32-arduino-lib-builder
|
||||
```
|
||||
|
||||
Install esp-idf (needed if you want to `make menuconfig`, `build.sh` will install it automatically if needed):
|
||||
|
||||
```bash
|
||||
./tools/install-esp-idf.sh
|
||||
```
|
||||
```
|
||||
|
||||
Run menuconfig and change options as needed:
|
||||
|
||||
|
@ -32,7 +33,7 @@ make IDF_PATH=$(pwd)/esp-idf menuconfig
|
|||
|
||||
```bash
|
||||
cd components/arduino/libraries/AzureIoT
|
||||
wget https://patch-diff.githubusercontent.com/raw/VSChina/ESP32_AzureIoT_Arduino/pull/15.patch
|
||||
wget https://patch-diff.githubusercontent.com/raw/VSChina/ESP32_AzureIoT_Arduino/pull/15.patch
|
||||
patch -p1 < 15.patch
|
||||
cd ../../../../
|
||||
```
|
||||
|
@ -50,7 +51,7 @@ Copy SDK files into the PlatformIO framework:
|
|||
```
|
||||
|
||||
Flash the new bootloader if needed:
|
||||
|
||||
|
||||
```bash
|
||||
esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port your_port --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_freq 40m --flash_size detect 0x1000 build/bootloader/bootloader.bin
|
||||
```
|
||||
|
|
|
@ -431,4 +431,4 @@ Deprecated - use "--set is_router true" instead.
|
|||
|
||||
### --unset-router
|
||||
|
||||
Deprecated - use "--set is_router false" instead.
|
||||
Deprecated - use "--set is_router false" instead.
|
||||
|
|
|
@ -3,6 +3,7 @@ id: python-standalone
|
|||
title: Meshtastic-python standalone executable
|
||||
sidebar_label: Standalone
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
@ -10,26 +11,25 @@ There are standalone executable files for Mac, Windows and Ubuntu. A single file
|
|||
|
||||
They can be found on the [Releases](https://github.com/meshtastic/Meshtastic-python/releases) page.
|
||||
|
||||
|
||||
<Tabs
|
||||
groupId="operating-system"
|
||||
defaultValue="windows"
|
||||
values={[
|
||||
{label: 'Ubuntu', value: 'ubuntu'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
groupId="operating-system"
|
||||
defaultValue="windows"
|
||||
values={[
|
||||
{label: 'Ubuntu', value: 'ubuntu'},
|
||||
{label: 'macOS', value: 'macos'},
|
||||
{label: 'Windows', value: 'windows'},
|
||||
]}>
|
||||
<TabItem value="ubuntu">
|
||||
|
||||
* Download meshtastic_ubuntu
|
||||
- Download meshtastic_ubuntu
|
||||
|
||||
* Run the following command to make the file executable and rename it 'meshtastic':
|
||||
- Run the following command to make the file executable and rename it 'meshtastic':
|
||||
|
||||
```
|
||||
chmod +x meshtastic_ubuntu && mv meshtastic_ubuntu meshtastic
|
||||
```
|
||||
|
||||
* To run the cli:
|
||||
- To run the cli:
|
||||
|
||||
```
|
||||
./meshtastic
|
||||
|
@ -42,28 +42,15 @@ Copy (or move) this binary somewhere in your path.
|
|||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
||||
* Download meshtastic_mac
|
||||
- Download meshtastic_mac
|
||||
|
||||
* Run the following command to make the file executable and to rename it 'meshtastic':
|
||||
- Run the following command to make the file executable and to rename it 'meshtastic':
|
||||
|
||||
```
|
||||
chmod +x meshtastic_mac && mv meshtastic_mac meshtastic
|
||||
```
|
||||
|
||||
* Try to run it:
|
||||
|
||||
```
|
||||
./meshtastic
|
||||
```
|
||||
|
||||
:::note
|
||||
You may get a dialog that says:
|
||||
"meshtastic" can't be opened because Apple cannot check it for malicious software.
|
||||
:::
|
||||
|
||||
* To fix, go into "System Preferences", "Security & Privacy", "General" tab, and click on the "Allow Anyway" button.
|
||||
|
||||
* Try to run it again:
|
||||
- Try to run it:
|
||||
|
||||
```
|
||||
./meshtastic
|
||||
|
@ -71,11 +58,24 @@ chmod +x meshtastic_mac && mv meshtastic_mac meshtastic
|
|||
|
||||
:::note
|
||||
You may get a dialog that says:
|
||||
"meshtastic" can't be opened because Apple cannot check it for malicious software.
|
||||
Click "Open".
|
||||
"meshtastic" can't be opened because Apple cannot check it for malicious software.
|
||||
:::
|
||||
|
||||
* Now when you want to run it, you can simply run:
|
||||
- To fix, go into "System Preferences", "Security & Privacy", "General" tab, and click on the "Allow Anyway" button.
|
||||
|
||||
- Try to run it again:
|
||||
|
||||
```
|
||||
./meshtastic
|
||||
```
|
||||
|
||||
:::note
|
||||
You may get a dialog that says:
|
||||
"meshtastic" can't be opened because Apple cannot check it for malicious software.
|
||||
Click "Open".
|
||||
:::
|
||||
|
||||
- Now when you want to run it, you can simply run:
|
||||
|
||||
```
|
||||
./meshtastic
|
||||
|
@ -88,11 +88,11 @@ Copy (or move) this binary somewhere in your path.
|
|||
</TabItem>
|
||||
<TabItem value="windows">
|
||||
|
||||
* Download meshtastic_windows
|
||||
- Download meshtastic_windows
|
||||
|
||||
* Rename to meshtastic.exe
|
||||
- Rename to meshtastic.exe
|
||||
|
||||
* To run, open a windows command prompt, navigate to the location of the executable and run:
|
||||
- To run, open a windows command prompt, navigate to the location of the executable and run:
|
||||
|
||||
```
|
||||
meshtastic.exe
|
||||
|
|
|
@ -5,6 +5,7 @@ sidebar_label: Using the meshtastic Python library
|
|||
---
|
||||
|
||||
An example using Python 3 code to send a message to the mesh, get and set a radio configuration preference:
|
||||
|
||||
```python
|
||||
import meshtastic
|
||||
import meshtastic.serial_interface
|
||||
|
@ -32,6 +33,7 @@ interface.close()
|
|||
```
|
||||
|
||||
Another example using Python 3 code to send a message to the mesh when WiFi is enabled:
|
||||
|
||||
```python
|
||||
import time
|
||||
import meshtastic
|
||||
|
@ -55,8 +57,8 @@ interface.close()
|
|||
|
||||
Note: Be sure to change the IP address in the code above to a valid IP address for your setup.
|
||||
|
||||
|
||||
You can get and update settings like this:
|
||||
|
||||
```python
|
||||
import meshtastic
|
||||
import meshtastic.serial_interface
|
||||
|
@ -71,14 +73,14 @@ ourNode.writeConfig()
|
|||
interface.close()
|
||||
```
|
||||
|
||||
|
||||
For the rough notes/implementation plan see [TODO](https://github.com/meshtastic/Meshtastic-python/blob/master/TODO.md). See the API for full details of how to use the library.
|
||||
|
||||
## A note to developers of this lib
|
||||
|
||||
We use the visual-studio-code default python formatting conventions (autopep8). So if you use that IDE you should be able to use "Format Document" and not generate unrelated diffs. If you use some other editor, please don't change formatting on lines you haven't changed.
|
||||
We use the visual-studio-code default python formatting conventions (autopep8). So if you use that IDE you should be able to use "Format Document" and not generate unrelated diffs. If you use some other editor, please don't change formatting on lines you haven't changed.
|
||||
|
||||
If you need to build a new release you'll need:
|
||||
|
||||
```bash title="Command"
|
||||
apt install pandoc
|
||||
sudo pip3 install markdown pandoc webencodings pyparsing twine autopep8
|
||||
|
|
|
@ -4,7 +4,6 @@ title: Information for developers of the web interface
|
|||
sidebar_label: Development
|
||||
---
|
||||
|
||||
|
||||
## Considerations
|
||||
|
||||
We have a total of 458,752 bytes (448KB) available on the SPIFFS (Serial Peripheral Interface Flash File System) -- the on-board storage of the ESP32. Of that space, let's not use more than half of that (224KB) in order to leave space for other uses.
|
||||
|
@ -17,15 +16,15 @@ Static files can be placed in the /data folder. All files should be compressed i
|
|||
|
||||
As an example, this would mean we will have files such as:
|
||||
|
||||
* style.css.gz
|
||||
* meshtastic.js.gz
|
||||
* meshtasticlogo.png.gz
|
||||
- style.css.gz
|
||||
- meshtastic.js.gz
|
||||
- meshtasticlogo.png.gz
|
||||
|
||||
Unless otherwise stated, files in the `/data` folder of the source code will be stored in `/static` on the device.
|
||||
|
||||
## Application Interface
|
||||
|
||||
We make extensive use of [Meshtastic.js](https://github.com/meshtastic/meshtastic.js).
|
||||
We make extensive use of [Meshtastic.js](https://github.com/meshtastic/meshtastic.js).
|
||||
|
||||
## Embedded Server
|
||||
|
||||
|
@ -41,8 +40,8 @@ If a file is uploaded in a .gz format, the .gz extension will be stripped prior
|
|||
|
||||
An experimental file system browser with upload and delete capability is available by going to either:
|
||||
|
||||
* http://meshtastic.local/static
|
||||
* https://meshtastic.local/static
|
||||
- http://meshtastic.local/static
|
||||
- https://meshtastic.local/static
|
||||
|
||||
There are known issues with uploading files with large file sizes.
|
||||
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
"start": "docusaurus start",
|
||||
"build": "docusaurus build",
|
||||
"serve": "docusaurus serve",
|
||||
"clear": "docusaurus clear"
|
||||
"clear": "docusaurus clear",
|
||||
"format": "prettier --write 'docs/**/*.md'"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^2.0.0-beta.17",
|
||||
|
@ -37,6 +38,7 @@
|
|||
"@tsconfig/docusaurus": "^1.0.4",
|
||||
"@types/node": "^17.0.21",
|
||||
"@types/w3c-web-serial": "^1.0.2",
|
||||
"prettier": "^2.5.1",
|
||||
"typescript": "^4.6.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5930,6 +5930,11 @@ prepend-http@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
||||
|
||||
prettier@^2.5.1:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
|
||||
integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
|
||||
|
||||
pretty-error@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
|
||||
|
|
Loading…
Reference in a new issue