Merge pull request #477 from sigmahour/master

syncing updates to new branch
This commit is contained in:
Garth Vander Houwen 2022-10-31 11:50:37 -07:00 committed by GitHub
commit 36da01aabc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 161 additions and 108 deletions

View file

@ -28,7 +28,7 @@ jobs:
with: with:
submodules: true submodules: true
- name: Generate protobuf docs - name: Generate protobuf docs
run: protoc --doc_out="docs/developers/protobufs" --doc_opt="./protobuf.tmpl,api.mdx" --proto_path="protobufs" protobufs/*.proto run: protoc --doc_out="docs/developers/Protobufs" --doc_opt="./protobuf.tmpl,api.mdx" --proto_path="protobufs" protobufs/*.proto
- uses: amondnet/vercel-action@v20 - uses: amondnet/vercel-action@v20
with: with:
vercel-token: ${{ secrets.VERCEL_TOKEN }} vercel-token: ${{ secrets.VERCEL_TOKEN }}

View file

@ -113,7 +113,7 @@ Remember, by doing this you are self certifying that you are licensed operate in
## Use the Python CLI ## Use the Python CLI
Meshtastic is designed to be used without a radio operator license. If you do have a license you can set your operator ID and turn off encryption with the [Python CLI](/docs/software/python/python-uses#ham-radio-support): Meshtastic is designed to be used without a radio operator license. If you do have a license you can set your operator ID and turn off encryption with the [Python CLI](/docs/software/python/cli/usage#ham-radio-support):
```shell title="Expected Output" ```shell title="Expected Output"
# You should see a result similar to this: # You should see a result similar to this:

View file

@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';
## Overview ## Overview
Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/docs/software/python/python-cli)). Some of these options are implicit in other commands. For example, when you set the device to router mode using `is_router true`, it is implied that deep sleep is disabled and we want to constantly listen for messages. Below is a list of all user-definable settings and the acceptable values that these settings can use. Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/docs/software/python/cli)). Some of these options are implicit in other commands. For example, when you set the device to router mode using `is_router true`, it is implied that deep sleep is disabled and we want to constantly listen for messages. Below is a list of all user-definable settings and the acceptable values that these settings can use.
## Settings ## Settings

View file

@ -99,12 +99,11 @@ Your Meshtastic client (Android, Web, or Python) will provide you a URL or QR co
### How do I find out more about installing (and using) Meshtastic via command line? ### How do I find out more about installing (and using) Meshtastic via command line?
[See our guide here](/docs/software/python/python-installation). [See our guide here](/docs/software/python/cli/installation).
### How do I find out more about using python to interact? ### How do I find out more about using python to interact?
[See our guide here](/docs/software/python/python-uses). [See our guide here](/docs/software/python/cli/usage).
<!-- Devices --> <!-- Devices -->
@ -149,7 +148,7 @@ Push the left PWR button for about 10 seconds.
### How can I tell the device not to sleep? ### How can I tell the device not to sleep?
- Android instructions see: [Android Usage](/docs/software/android/android-usage#configuration-options) - Android instructions see: [Android Usage](/docs/software/android/android-usage#configuration-options)
- Python CLI instructions see: [Python Usage](/docs/software/python/python-cli#changing-device-settings) - Python CLI instructions see: [Python Usage](/docs/software/python/cli/usage#changing-settings)
### Why does only one RAK Meshtastic Starter kit show up in my node list? ### Why does only one RAK Meshtastic Starter kit show up in my node list?
@ -159,6 +158,7 @@ There was a bug where Meshtastic Starter kits were sent out with the same MAC ad
There was a bug where Meshtastic Starter kits were sent out with the same MAC address. With a single MAC address the devices all report as being the same device. Without the battery connected, flash the starter kit device(s) to 1.2.59 and then do a factory reset, disconnect and reconnect the board and run `meshtastic --info`. There was a bug where Meshtastic Starter kits were sent out with the same MAC address. With a single MAC address the devices all report as being the same device. Without the battery connected, flash the starter kit device(s) to 1.2.59 and then do a factory reset, disconnect and reconnect the board and run `meshtastic --info`.
<!-- HAM -->
## Amateur Radio (HAM) ## Amateur Radio (HAM)
@ -182,8 +182,9 @@ If you use your HAM radio license with Meshtastic, consider both the privileges
### How do I set my HAM call sign? ### How do I set my HAM call sign?
Please see instructions for [Enabling HAM License from the Python CLI](/docs/software/python/python-uses#ham-radio-support) Please see instructions for [Enabling HAM License from the Python CLI](/docs/software/python/cli/usage#ham-radio-support)
<!-- Flasher -->
## Flasher ## Flasher
@ -195,6 +196,7 @@ The flasher contains no malware and completely passed the Microsoft malware scan
It's been reported that `App execution aliases` might conflict with one another and prevent python3 from being able to run properly. There is an example of a fix located [here](https://github.com/meshtastic/Meshtastic-gui-installer/issues/154). It's been reported that `App execution aliases` might conflict with one another and prevent python3 from being able to run properly. There is an example of a fix located [here](https://github.com/meshtastic/Meshtastic-gui-installer/issues/154).
<!-- Mesh -->
## Mesh ## Mesh
@ -210,6 +212,7 @@ Meshtastic uses LoRa peer to peer (p2p), which has allowed us to customize how w
There is a [community project](https://github.com/a-f-G-U-C/Meshtastic-ZPS) that has worked out how to accomplish this. There is a [community project](https://github.com/a-f-G-U-C/Meshtastic-ZPS) that has worked out how to accomplish this.
<!-- Modules -->
## Modules ## Modules

View file

@ -3,7 +3,7 @@ id: flashing-esp32
title: Flashing ESP32 device firmware title: Flashing ESP32 device firmware
sidebar_label: CLI Script sidebar_label: CLI Script
pagination_prev: getting-started/flashing-firmware/flashing-firmware pagination_prev: getting-started/flashing-firmware/flashing-firmware
sidebar_position: 2 sidebar_position: 3
--- ---
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';

View file

@ -2,16 +2,14 @@
id: flashing-external-serial-adapter id: flashing-external-serial-adapter
title: Flashing Firmware with an External Serial Adapter (ESP32) title: Flashing Firmware with an External Serial Adapter (ESP32)
sidebar_label: Serial Adapters sidebar_label: Serial Adapters
pagination_prev: getting-started/flashing-firmware/flashing-firmware sidebar_position: 4
pagination_next: getting-started/flashing-firmware/meshtastic-flasher
sidebar_position: 3
--- ---
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem'; import TabItem from '@theme/TabItem';
:::info :::info
This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [meshtastic flasher](/docs/getting-started/flashing-firmware/meshtastic-flasher) or [manually flashing](/docs/getting-started/flashing-firmware/esp32/flashing-esp32) This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [meshtastic flasher](/docs/software/python/flasher) or [manually flashing](/docs/getting-started/flashing-firmware/esp32/flashing-esp32)
::: :::
:::caution :::caution
@ -42,28 +40,20 @@ There are multiple ways to connect the pins of the adapter to the target device:
::: :::
Disconnect your USB to Serial Adapter from the computer before starting this process. Disconnect your USB to Serial Adapter from the computer before starting this process.
1) Connect the RX pin of the adapter to the TX pin of the device 1. Connect the RX pin of the adapter to the TX pin of the device
2. Connect the TX pin of the adapter to the RX pin of the device
2) Connect the TX pin of the adapter to the RX pin of the device 3. Connect a GND pin of the adapter to the GND pin of the device
4. Connect either the 5V pin of the adapter to the 5V pin of the device (illustrated) or the 3.3V pin of the adapter to the 3.3V pin of device.
3) Connect a GND pin of the adapter to the GND pin of the device 5. Bridge GPIO 0 to GND on the device with a jumper. (This places the device into flash mode when the device is powered up)
Example wiring featuring a T-Beam
4) Connect either the 5V pin of the adapter to the 5V pin of the device (illustrated) or the 3.3V pin of the adapter to the 3.3V pin of device. ![image](https://user-images.githubusercontent.com/9000580/168446438-d14f34a0-b92d-4716-87fd-e0c2927a35fd.png)
6. Connect the device to a USB port on the computer
5) Bridge GPIO 0 to GND on the device with a jumper. (This places the device into flash mode when the device is powered up) 7. Remove the jumper bridging GPIO 0 to GND
![enter-flash-mode](https://user-images.githubusercontent.com/9000580/168446974-c31d3e9c-3397-4cb1-90a4-91ef2e4d5fac.gif)
Example wiring featuring a T-Beam
![image](https://user-images.githubusercontent.com/9000580/168446438-d14f34a0-b92d-4716-87fd-e0c2927a35fd.png)
6) Connect the device to a USB port on the computer
7) Remove the jumper bridging GPIO 0 to GND
![enter-flash-mode](https://user-images.githubusercontent.com/9000580/168446974-c31d3e9c-3397-4cb1-90a4-91ef2e4d5fac.gif)
### Flashing ### Flashing
After following the steps above, your device should be in flash mode. You can flash your device using the [Meshtastic flasher](https://meshtastic.org/docs/getting-started/flashing-firmware/meshtastic-flasher) or [manual method](https://meshtastic.org/docs/getting-started/flashing-firmware/flashing-esp32) After following the steps above, your device should be in flash mode. You can flash your device using the [Meshtastic flasher](/docs/software/python/flasher) or [manual method](https://meshtastic.org/docs/getting-started/flashing-firmware/flashing-esp32)
Example using the Meshtastic Flasher Example using the Meshtastic Flasher
![image](https://user-images.githubusercontent.com/9000580/168447086-313e0649-1bfe-4ccb-b891-0f56059d8063.png) ![image](https://user-images.githubusercontent.com/9000580/168447086-313e0649-1bfe-4ccb-b891-0f56059d8063.png)

View file

@ -8,4 +8,6 @@ sidebar_position: 2
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem'; import TabItem from '@theme/TabItem';
For ESP32 based device users (TBEAM, TLORA, Heltec etc.) we recommend using the [Meshtastic Flasher application](/docs/getting-started/flashing-firmware/meshtastic-flasher). It does a lot under the hood to prevent you from needing to use the terminal. It also allows you to configure your device. ## Recommended Flashing Method for ESP32 Devices
For ESP32 based device users (TBEAM, TLORA, Heltec etc.) we recommend using the [web based installer](https://flasher.meshtastic.org) or the [Meshtastic Flasher application](/docs/software/python/flasher). The flasher application does a lot under the hood to prevent you from needing to use the terminal. It also allows you to configure your device.

View file

@ -0,0 +1,10 @@
---
id: meshtastic-flasher-esp32
title: Using Python Meshtastic Flasher
sidebar_label: Python Flasher
sidebar_position: 2
---
import MFlasher from '../../../software/python/meshtastic-flasher.mdx'
<MFlasher components={props.components} />

View file

@ -0,0 +1,9 @@
---
id: web-flasher
title: Using Meshtastic Web Flasher
sidebar_label: Web Flasher
sidebar_position: 1
---
[Web-based Installer](https://flasher.meshtastic.org)

View file

@ -16,7 +16,7 @@ Make sure not to power the radio on without first attaching the antenna! You cou
If you have RAK NRF based devices or a LilyGO T-Echo, [the drag and drop firmware installation process](/docs/getting-started/flashing-firmware/nrf52/flashing-nrf52) is the easiest solution. If you have RAK NRF based devices or a LilyGO T-Echo, [the drag and drop firmware installation process](/docs/getting-started/flashing-firmware/nrf52/flashing-nrf52) is the easiest solution.
For ESP32 based device users (TBEAM, TLORA, Heltec etc.) we recommend using the [web based installer](https://flasher.meshtastic.org) or the [Meshtastic Flasher application](/docs/getting-started/flashing-firmware/meshtastic-flasher). The flasher application does a lot under the hood to prevent you from needing to use the terminal. It also allows you to configure your device. For ESP32 based device users (TBEAM, TLORA, Heltec etc.) we recommend using the [web based installer](https://flasher.meshtastic.org) or the [Meshtastic Flasher application](/docs/software/python/flasher). The flasher application does a lot under the hood to prevent you from needing to use the terminal. It also allows you to configure your device.
## Manual Firmware Installation ## Manual Firmware Installation

View file

@ -14,10 +14,14 @@ import TabItem from '@theme/TabItem';
Before flashing confirm that you have [RAK4631](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/) and not a [RAK4631-R](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631-R/) If this is not the case, fear not. The hardware is identical but requires changing the bootloader. Instructions on how to do this are located [here](/docs/getting-started/flashing-firmware/nrf52/#convert-rak4631-r-to-rak4631). Before flashing confirm that you have [RAK4631](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/) and not a [RAK4631-R](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631-R/) If this is not the case, fear not. The hardware is identical but requires changing the bootloader. Instructions on how to do this are located [here](/docs/getting-started/flashing-firmware/nrf52/#convert-rak4631-r-to-rak4631).
::: :::
The NRF52 based devices (LilyGO T-Echo, RAK Wisblock 4631) have the easiest firmware upgrade process. (No driver or software install is required on any platform) The NRF52 based devices (LilyGO T-Echo, RAK Wisblock 4631) have the easiest firmware upgrade process. No driver or software install is required on any platform.
Connect your device to your computer with a data USB cable. Double click the reset button on your device, this will put it into bootloader mode and and a drive will appear on Windows, Mac and Linux. Download and unzip the latest frimware from [Meshtastic Downloads](https://meshtastic.org/downloads).
A new drive will be mounted on your computer. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT` 1. Connect your device to your computer with a data USB cable.
2. Double click the reset button on your device (this will put it into bootloader mode)
3. Notice a new drive will be mounted on your computer (Windows, Mac, or Linux)
4. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT`
5. Drop the appropriate appropriate `firmware-DEVICE_NAME-vx.x.x-xxxxxxx.uf2` file from the release you want to install onto this drive
Drop the appropriate appropriate `firmware-DEVICE_NAME-vx.x.x-xxxxxxx.uf2` file from the release you want to install onto this drive and the meshtastic firmware will be installed on the device. Once the file has finished copying onto the drive the device will reboot and load Meshtastic. Once the file has finished copying onto the drive, the device will reboot and install the Meshtastic firmware.

View file

@ -8,6 +8,7 @@ sidebar_position: 2
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem'; import TabItem from '@theme/TabItem';
## Recommended Flashing Method for NRF52 Devices
If you have RAK NRF based devices or a LilyGO T-Echo, [the drag and drop firmware installation process](/docs/getting-started/flashing-firmware/nrf52/flashing-nrf52) is the easiest solution. If you have RAK NRF based devices or a LilyGO T-Echo, [the drag and drop firmware installation process](/docs/getting-started/flashing-firmware/nrf52/flashing-nrf52) is the easiest solution.

View file

@ -0,0 +1,10 @@
---
id: meshtastic-flasher-nrf52
title: Using Python Meshtastic Flasher
sidebar_label: Python Flasher
sidebar_position: 1
---
import MFlasher from '../../../software/python/meshtastic-flasher.mdx'
<MFlasher components={props.components} />

View file

@ -5,6 +5,9 @@ sidebar_label: ESP32 Drivers
sidebar_position: 1 sidebar_position: 1
--- ---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Install USB to Serial Drivers ## Install USB to Serial Drivers
### ESP32 Drivers ### ESP32 Drivers
@ -21,29 +24,31 @@ values={[
{label: 'macOS', value: 'macos'}, {label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'}, {label: 'Windows', value: 'windows'},
]}> ]}>
<TabItem value="linux"> <TabItem value="linux">
[CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) - [CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
- [CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
[CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html) </TabItem>
</TabItem>
<TabItem value="macos">
[CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) <TabItem value="macos">
[CH9102 Driver - MacOS Download](https://github.com/WCHSoftGroup/ch34xser_macos) - [CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
- [CH9102 Driver - MacOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
</TabItem> </TabItem>
<TabItem value="windows">
[CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
[CH9102 Driver - Windows Download](http://www.wch.cn/downloads/CH343SER_ZIP.html) <TabItem value="windows">
[CH9102 Driver - Windows Download (Direct Download for Windows 7)](https://github.com/Xinyuan-LilyGO/CH9102_Driver) - [CP210X USB to UART bridge - Download](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
- [CH9102 Driver - Windows Download](http://www.wch.cn/downloads/CH343SER_ZIP.html)
- [CH9102 Driver - Windows Download (Direct Download for Windows 7)](https://github.com/Xinyuan-LilyGO/CH9102_Driver)
</TabItem>
</TabItem>
</Tabs> </Tabs>
:::important :::important

View file

@ -5,6 +5,9 @@ sidebar_label: NRF52 Drivers
sidebar_position: 2 sidebar_position: 2
--- ---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Install USB to Serial Drivers ## Install USB to Serial Drivers
### NRF52 Drivers ### NRF52 Drivers
@ -17,14 +20,16 @@ values={[
{label: 'macOS', value: 'macos'}, {label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'}, {label: 'Windows', value: 'windows'},
]}> ]}>
<TabItem value="linux"> <TabItem value="linux">
[CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html) - [CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
</TabItem> </TabItem>
<TabItem value="macos">
[CH9102 Driver - MacOS Download](https://github.com/WCHSoftGroup/ch34xser_macos) <TabItem value="macos">
- [CH9102 Driver - MacOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
:::caution :::caution
With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ download the USB device drivers unless required. If you downloaded/installed any already, please remove them: With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ download the USB device drivers unless required. If you downloaded/installed any already, please remove them:
@ -51,12 +56,14 @@ With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ d
::: :::
</TabItem> </TabItem>
<TabItem value="windows">
[CH9102 Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html) <TabItem value="windows">
- [CH9102 Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html)
</TabItem>
</TabItem>
</Tabs> </Tabs>
:::important :::important

View file

@ -67,7 +67,7 @@ values={[
All User config options are available in the python CLI. Example commands are below: All User config options are available in the python CLI. Example commands are below:
Please see instructions for [Enabling HAM License](/docs/software/python/python-uses#ham-radio-support) Please see instructions for [Enabling HAM License](/docs/software/python/cli/usage#ham-radio-support)
```shell title="Set the LongName Value" ```shell title="Set the LongName Value"
meshtastic --set-owner 'your node name' meshtastic --set-owner 'your node name'

View file

@ -136,7 +136,7 @@ ls_secs: 301
Completed getting preferences Completed getting preferences
``` ```
For further reading, I recommend starting out with [Meshtastic-python](/docs/software/python/python-cli) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see: For further reading, I recommend starting out with [Meshtastic-python](/docs/software/python/cli/) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
[Settings Overview](/docs/settings) and [Settings Overview](/docs/settings) and
[Complete list of user settings in Protobufs](/docs/developers/protobufs/api#radioconfiguserpreferences) [Complete list of user settings in Protobufs](/docs/developers/protobufs/api#radioconfiguserpreferences)

View file

@ -12,7 +12,7 @@ GPIO access is fundamentally dangerous because invalid options can physically da
This feature uses a preinstalled module in the device code and associated command line flags/classes in the python code. You'll need to be running at least version 1.2.23 (or later) of the python and device code to use this feature. This feature uses a preinstalled module in the device code and associated command line flags/classes in the python code. You'll need to be running at least version 1.2.23 (or later) of the python and device code to use this feature.
::: :::
You can get the latest python tool/library with `pip3 install --upgrade meshtastic` on Windows/Linux/OS-X. See the [python section](/docs/software/python/python-installation) for more details. You can get the latest python tool/library with `pip3 install --upgrade meshtastic` on Windows/Linux/OS-X. See the [python section](/docs/software/python/cli/installation) for more details.
## Supported operations in the initial release ## Supported operations in the initial release
@ -133,7 +133,7 @@ By default, the pin may be "off" or "on". (It will most likely "off".) See the s
## Doing GPIO operations ## Doing GPIO operations
You can programmatically do operations from your own python code by using the Meshtastic `RemoteHardwareClient` class. See the [python API](/docs/software/python/python-installation) documentation for more details. You can programmatically do operations from your own python code by using the Meshtastic `RemoteHardwareClient` class. See the [python API](/docs/software/python/cli/installation) documentation for more details.
## Using GPIOs from the python CLI ## Using GPIOs from the python CLI

View file

@ -0,0 +1,7 @@
label: Golang
collapsible: true # make the category collapsible
position: 7
link:
type: generated-index
title: Golang
slug: /software/go

9
docs/software/go/cli.mdx Normal file
View file

@ -0,0 +1,9 @@
---
id: golang-cli
title: Meshtastic Go CLI
sidebar_label: CLI
---
:::info
This project is currently in progress
:::

View file

@ -0,0 +1,9 @@
---
id: golang-desktop
title: Meshtastic Desktop
sidebar_label: Desktop
---
:::info
This project is currently in progress
:::

View file

@ -0,0 +1,9 @@
---
id: golang-library
title: Meshtastic Go Library
sidebar_label: Go Library
---
:::info
This project is currently in progress
:::s

View file

@ -1,5 +1,4 @@
position: 6 # float position is supported
position: 7 # float position is supported
label: 'Javascript' label: 'Javascript'
collapsible: true # make the category collapsible collapsible: true # make the category collapsible
link: link:

View file

@ -1,7 +1,6 @@
label: Python
position: 4 # float position is supported
label: Python CLI
collapsible: true # make the category collapsible collapsible: true # make the category collapsible
position: 5 # float position is supported
link: link:
type: generated-index type: generated-index
title: Python title: Python

View file

@ -1,10 +1,10 @@
--- ---
id: python-cli id: python-cli
title: Meshtastic Command Line Interface title: Meshtastic Command Line Interface
sidebar_label: Meshtastic CLI sidebar_label: Python CLI
--- ---
# Meshtastic CLI Guide # Meshtastic Python CLI Guide
The python pip package installs a "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the meshtastic devices. This command is not run inside of python, you run it from your operating system shell prompt directly. If when you type "meshtastic" it doesn't find the command and you are using Windows: Check that the python "scripts" directory is in your path. The python pip package installs a "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the meshtastic devices. This command is not run inside of python, you run it from your operating system shell prompt directly. If when you type "meshtastic" it doesn't find the command and you are using Windows: Check that the python "scripts" directory is in your path.

View file

@ -1,7 +1,7 @@
--- ---
id: python-development id: development
title: Meshtastic Python Development title: Meshtastic Python Development
sidebar_label: Python Development sidebar_label: Development
--- ---
## A note to developers of this lib ## A note to developers of this lib

View file

@ -1,7 +1,8 @@
--- ---
id: python-installation id: installation
title: Meshtastic-python installation title: Meshtastic-python installation
sidebar_label: Installation sidebar_label: Installation
sidebar_position: 1
--- ---
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';

View file

@ -1,7 +1,8 @@
--- ---
id: python-uses id: usage
title: Uses of the meshtastic command line interface tool title: Using the Meshtastic CLI
sidebar_label: Use Cases sidebar_label: Usage
sidebar_position: 2
--- ---
This section covers using the "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the Meshtastic devices. This section covers using the "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the Meshtastic devices.

View file

@ -1,7 +1,7 @@
--- ---
id: python-using-library id: python-library
title: using the Meshtastic-python library title: Using the Meshtastic Python Library
sidebar_label: Using the Python Library sidebar_label: Python Library
--- ---
An example using Python 3 code to send a message to the mesh, get and set a radio configuration preference: An example using Python 3 code to send a message to the mesh, get and set a radio configuration preference:

View file

@ -1,5 +1,5 @@
--- ---
id: meshtastic-flasher id: flasher
title: Using Meshtastic Flasher title: Using Meshtastic Flasher
sidebar_label: Meshtastic Flasher sidebar_label: Meshtastic Flasher
sidebar_position: 1 sidebar_position: 1

View file

@ -1,23 +0,0 @@
---
id: python-stream
title: Meshtastic-python stream protocol
sidebar_label: Stream Protocol
---
# Stream protocol
Documentation on how out protobufs get encoded when placed onto any stream transport (i.e. TCP or serial, but not UDP or BLE)
## Wire encoding
When sending protobuf packets over serial or TCP each packet is preceded by uint32 sent in network byte order (big endian).
The upper 16 bits must be 0x94C3. The lower 16 bits are packet length (this encoding gives room to eventually allow quite large packets).
Implementations validate length against the maximum possible size of a BLE packet (our lowest common denominator) of 512 bytes. If the
length provided is larger than that we assume the packet is corrupted and begin again looking for 0x4403 framing.
The packets flowing towards the device are ToRadio protobufs, the packets flowing from the device are FromRadio protobufs.
The 0x94C3 marker can be used as framing to (eventually) resync if packets are corrupted over the wire.
Note: the 0x94C3 framing was chosen to prevent confusion with the 7 bit ascii character set. It also doesn't collide with any valid utf8 encoding. This makes it a bit easier to start a device outputting regular debug output on its serial port and then only after it has received a valid packet from the PC, turn off unencoded debug printing and switch to this
packet encoding.

View file

@ -2,6 +2,7 @@
id: web-app-software id: web-app-software
title: Web interface overview title: Web interface overview
sidebar_label: Web Interface sidebar_label: Web Interface
sidebar_position: 8
--- ---
<!--- FIXME add self hosting details link ---> <!--- FIXME add self hosting details link --->
@ -46,7 +47,7 @@ The method with the least platform support, uses the [Web Serial API](https://we
## Updating ## Updating
The web interface is now included in firmware releases. There is active development ongoing to fix some issues with updating the web interface from the web interface directly. Please be patient with us as we work on this. Use [Meshtastic-flasher](/docs/getting-started/flashing-firmware/meshtastic-flasher) to update your device to the current stable build which includes the web interface. The web interface is now included in firmware releases. There is active development ongoing to fix some issues with updating the web interface from the web interface directly. Please be patient with us as we work on this. Use [Meshtastic-flasher](/docs/software/python/flasher) to update your device to the current stable build which includes the web interface.
:::warning :::warning
@ -65,7 +66,7 @@ The first time your device restarts after enabling WiFi, it will take an additio
### Problem: File not found: /static/index.html ### Problem: File not found: /static/index.html
:::note :::note
This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with [Meshtastic-flasher](/docs/getting-started/flashing-firmware/meshtastic-flasher) will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available. This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available.
::: :::
Cause: This most likely means that the file system for the web server has not been loaded. You probably used esphome-flasher or some other GUI tool to flash the firmware. Cause: This most likely means that the file system for the web server has not been loaded. You probably used esphome-flasher or some other GUI tool to flash the firmware.
@ -81,7 +82,7 @@ Option 3) Flash the device with the SPIFFS instructions in platform.io.
### Insufficient space to upload new files ### Insufficient space to upload new files
:::note :::note
This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with [Meshtastic-flasher](/docs/getting-started/flashing-firmware/meshtastic-flasher) will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available. This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available.
::: :::
Cause: Typically a small partition has been set aside from previous firmware installed on the module. Instructions for how to fix this can be found on the [ESP32-Partitions](/docs/software/web/web-partitions-software) page. Cause: Typically a small partition has been set aside from previous firmware installed on the module. Instructions for how to fix this can be found on the [ESP32-Partitions](/docs/software/web/web-partitions-software) page.

View file

@ -5,7 +5,7 @@ sidebar_label: ESP32 partitions
--- ---
:::caution :::caution
It has been reported that some of this information is out of date. Flashing the device with [Meshtastic-flasher](/docs/getting-started/flashing-firmware/meshtastic-flasher) should fix these partition issues and update you to the current web interface. It has been reported that some of this information is out of date. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) should fix these partition issues and update you to the current web interface.
FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation. FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.
::: :::

View file

@ -46,7 +46,7 @@ const Firmware = (): JSX.Element => {
'To download using ', 'To download using ',
<code>pip</code>, <code>pip</code>,
' follow ', ' follow ',
<a href="/docs/getting-started/flashing-firmware/meshtastic-flasher#install-using-pip"> <a href="/docs/software/python/meshtastic-flasher#install-using-pip">
these instructions these instructions
</a>, </a>,
'.', '.',
@ -167,7 +167,7 @@ const Firmware = (): JSX.Element => {
</a> </a>
, or the{' '} , or the{' '}
<a <a
href="/docs/getting-started/flashing-firmware/meshtastic-flasher" href="/docs/software/python/meshtastic-flasher"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >