Merge branch 'master' of github.com:meshtastic/Meshtastic

This commit is contained in:
linagee 2022-01-05 13:14:25 -07:00
commit 273732d96e
No known key found for this signature in database
GPG key ID: 8CE2F45CB4CBA384
31 changed files with 910 additions and 429 deletions

View file

@ -23,119 +23,153 @@ import TabItem from '@theme/TabItem';
## General
Q: What is Meshtastic?
* Meshtastic is the most awesome long range, low power communications service on the planet earth! That's not even an exaggeration!
- Meshtastic is the most awesome long range, low power communications service on the planet earth! That's not even an exaggeration!
Q: Where can I get additional help, ask questions, or bond with the Meshtastic community?
* After reading this FAQ and checking out the links on the left, there are two places... The preferred place is to check out the [Forum](https://meshtastic.discourse.group). There you can be part of our growing community and search for previous posts that may be similar to what you're looking for. We also have the [Meshtastic Discord](https://discord.com/invite/UQJ5QuM7vq) server where you may connect with like-minded people.
- After reading this FAQ and checking out the links on the left, there are two places... The preferred place is to check out the [Forum](https://meshtastic.discourse.group). There you can be part of our growing community and search for previous posts that may be similar to what you're looking for. We also have the [Meshtastic Discord](https://discord.com/invite/UQJ5QuM7vq) server where you may connect with like-minded people.
Q: How can I contribute to Meshtastic?
* Everyone contributes in a different way. Join the [Forum](https://meshtastic.discourse.group) and/or the [Meshtastic Discord](https://discord.com/invite/UQJ5QuM7vq) and introduce yourself. We're all very friendly. If you'd like to pitch in some code, check out the [Developers](https://meshtastic.org/docs/developers) menu on the left.
- Everyone contributes in a different way. Join the [Forum](https://meshtastic.discourse.group) and/or the [Meshtastic Discord](https://discord.com/invite/UQJ5QuM7vq) and introduce yourself. We're all very friendly. If you'd like to pitch in some code, check out the [Developers](https://meshtastic.org/docs/developers) menu on the left.
## Device (aka Node)
Q: Where do I purchase the device hardware?
* Each [supported device](https://meshtastic.org/docs/hardware/tbeam-hardware) has a "Purchase Link".
- Each [supported device](https://meshtastic.org/docs/hardware/supported/tbeam) has a "Purchase Link".
Q: I have my hardware. How do I install the firmware and any required drivers?
* See: https://meshtastic.org/docs/getting-started/flashing-esp32
- See: https://meshtastic.org/docs/getting-started/flashing-esp32
Q: How do I update the firmware to the latest version?
* If the device is running Meshtastic firmware, you might be able to update over-the-air like via the Android app.
- If the device is running Meshtastic firmware, you might be able to update over-the-air like via the Android app.
Q: My device has gone to sleep. Are received messages lost?
* The LoRa radio on the node is still active and will wake up the CPU when the device is sleeping. If your phone is in range, the node will relay any messages your phone may have missed. If you're in range and your device is active, messages have not been lost.
- The LoRa radio on the node is still active and will wake up the CPU when the device is sleeping. If your phone is in range, the node will relay any messages your phone may have missed. If you're in range and your device is active, messages have not been lost.
Q: My device has gone to sleep and I can't send any messages.
* Once the node wakes up from sleep, your phone will relay any delayed messages through your node and to the mesh network. Give it a few minutes and it'll do the right thing.
- Once the node wakes up from sleep, your phone will relay any delayed messages through your node and to the mesh network. Give it a few minutes and it'll do the right thing.
Q: How do I turn off an ESP32 t-beam based device?
* Hold down the left PWR button for about 10 seconds and the display should turn off.
- Hold down the left PWR button for about 10 seconds and the display should turn off.
Q: How do I turn on an ESP32 t-beam based device?
* Push the left PWR button for about 1 second.
- Push the left PWR button for about 1 second.
Q: How can I tell the device not to sleep?
* Android instructions see: [Android Usage](https://meshtastic.org/docs/software/android/android-usage#configuration-options)
* Python CLI instructions see: [Python Usage](https://meshtastic.org/docs/software/python/python-cli#changing-device-settings)
- Android instructions see: [Android Usage](https://meshtastic.org/docs/software/android/android-usage#configuration-options)
- Python CLI instructions see: [Python Usage](https://meshtastic.org/docs/software/python/python-cli#changing-device-settings)
### Plugins
Q: What are Plugins?
* Plugins are features that expand the basic device functionality and/or integrate with other services.
- Plugins are features that expand the basic device functionality and/or integrate with other services.
Q: What plugins do we have available?
* To see the list of available plugins, please go to: https://meshtastic.org/docs/software/plugins/
- To see the list of available plugins, please go to: https://meshtastic.org/docs/software/plugins/
Q: I'd like to write a plugin. How do I get started?
* See: https://meshtastic.org/docs/developers/device/plugin-api
- See: https://meshtastic.org/docs/developers/device/plugin-api
## Android
Q: What versions of Android does the Meshtastic Android App require?
* Android 5.0 is the current minSdkVersion (21).
- Android 5.0 is the current minSdkVersion (21).
Q: What's the cloud icon next to the message?
* Empty Cloud - Queued on the app to be sent to your device.
* Up Arrow - Queued on the device to be sent over the mesh.
* Check Mark - Delivered over the mesh.
* Cross Mark - Error.
- Empty Cloud - Queued on the app to be sent to your device.
- Up Arrow - Queued on the device to be sent over the mesh.
- Check Mark - Delivered over the mesh.
- Cross Mark - Error.
Q: How can I clear the message history?
* Clear the storage from Android Settings > App
- Clear the storage from Android Settings > App
## iOS
Q: What version of iOS does the Meshtastic iOS App Require?
* The now-in-beta iOS app requires iOS v15.
- The now-in-beta iOS app requires iOS v15.
Q: How do I get the Meshtastic iOS App?
* See [iOS App](https://meshtastic.org/docs/software/ios/ios-development)
- See [iOS App](https://meshtastic.org/docs/software/ios/ios-development)
## Bluetooth
Q: How do I pair my phone to the device if my device doesn't have a screen?
* Use [Wifi](https://meshtastic.org/docs/software/device/device-wifi) or use Bluetooth with [screenless pairing](https://github.com/meshtastic/Meshtastic-device/issues/26). When prompted to pair, double click on the device button and the password will be set to `123456`.
- Use [Wifi](https://meshtastic.org/docs/software/device/device-wifi) or use Bluetooth with [screenless pairing](https://github.com/meshtastic/Meshtastic-device/issues/26). When prompted to pair, double click on the device button and the password will be set to `123456`.
Q: Can I have Bluetooth enabled and use WiFi radio?
* No. Only one method will work at a time.
- No. Only one method will work at a time.
Q: How do I disable WiFi so Bluetooth will work?
* Ensure the wifi_ssid and wifi_password values are blank.
- Ensure the wifi_ssid and wifi_password values are blank.
## WiFi / Web Browser
Q: How do I turn on the WiFI radio?
* See: https://meshtastic.org/docs/software/device/device-wifi
- See: https://meshtastic.org/docs/software/device/device-wifi
Q: When I turn on WiFi, Bluetooth turns off. Why is this?
* Currently WiFi and Bluetooth can not be enabled at the same time.
- Currently WiFi and Bluetooth can not be enabled at the same time.
Q: How do I access the network from my web browser?
* Visit http://meshtastic.local (Note: This is a work in progress.)
- Visit http://meshtastic.local (Note: This is a work in progress.)
Q: I've Flashed my device but I can't access the Web UI
- Ensure you have used the included `device-install` script to flash your device, and that the file `spiffs-*.bin` is present in the same folder as your firmware at the time of flashing.
## Channels
Q: What is a Meshtastic Channel?
* This is the LoRa channel you're broadcasting on, the modem configuration (spreading factor, bandwidth and error correction), along with a special identifier for your group, and optional encryption.
- This is the LoRa channel you're broadcasting on, the modem configuration (spreading factor, bandwidth and error correction), along with a special identifier for your group, and optional encryption.
Q: What is a LoRa channel?
* This is the LoRa frequency within the frequency band your device is configured to use.
- This is the LoRa frequency within the frequency band your device is configured to use.
Q: How do I share my Meshtastic Channel with other people?
* Your Meshtastic client (Android, iOS, Web or Python) will provide you a URL or QR code. You can email, text or print this URL or QR code and share it with people you want to join your Meshtastic Channel.
- Your Meshtastic client (Android, iOS, Web or Python) will provide you a URL or QR code. You can email, text or print this URL or QR code and share it with people you want to join your Meshtastic Channel.
Q: What is a Primary Channel?
* This is the first channel that's created for you when you initially setup your Meshtastic Channel.
- This is the first channel that's created for you when you initially setup your Meshtastic Channel.
Q: What is a Secondary Channel?
* As this is a new feature, secondary channels work on the device and the Python Script. Support for secondary channels by other clients is pending. For more information: https://meshtastic.org/docs/software/device/device-channels#how-to-use-secondary-channels
- As this is a new feature, secondary channels work on the device and the Python Script. Support for secondary channels by other clients is pending. For more information: https://meshtastic.org/docs/software/device/device-channels#how-to-use-secondary-channels
## Command Line / Python
Q: How do I find out more about installing (and using) Meshtastic via command line?
* See https://meshtastic.org/docs/software/python/python-installation
- See https://meshtastic.org/docs/software/python/python-installation
Q: How do I find out more about using python to interact?
* See https://meshtastic.org/docs/software/python/python-usage
- See https://meshtastic.org/docs/software/python/python-uses

View file

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

View file

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

View file

@ -17,9 +17,9 @@ 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://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 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://www.itu.int/dms_pubrec/itu-r/rec/p/R-REC-P.2040-1-201507-I!!PDF-E.pdf) (I wasnt 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).
- 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 wasnt 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).
- These RF bands are also made more [noisy by adjacent LTE](https://www.ofcom.org.uk/__data/assets/pdf_file/0023/55922/lte-coexistence.pdf)
In summary - wavelengths in Europe fair well in plain sight, curve over not-so-tall obstacles (including trees), and they reflect off surfaces at low angles of incidence. They go through humans without much attenuation; but not brick, stone, or anything with more attenuation than glass / Kevlar. Oh, and dont sit under an LTE tower and expect it to be plain sailing. RF emissions at adjacent frequencies can interfere at a high enough power.

13
docs/hardware/battery.md Normal file
View file

@ -0,0 +1,13 @@
---
id: battery
title: Adding and sizing batteries
sidebar_label: Batteries
---
import { BatteryCalculator } from '../../src/components/BatteryCalculator';
Sizing a battery for a node depends on several factors.
Please use this calculator to aid you in sizing your battery.
<BatteryCalculator />

View file

@ -1,7 +1,7 @@
---
id: buttons
title: Modifying devices to add buttons
sidebar_label: Adding buttons
sidebar_label: Buttons
---
Many of the TTGO Lora32 devices do not have a program button to navigate the displayed pages. It is possible to add a button to the following device:
@ -11,4 +11,3 @@ Many of the TTGO Lora32 devices do not have a program button to navigate the dis
Shorting IO12 to ground will progress the screen pages, wake up the device, etc. A simple push switch can be added for this purpose.
[<img src="/img/hardware/lora32-v2-1.6-button.jpg" style={{zoom:'30%'}} />](/img/hardware/lora32-v2-1.6-button.jpg)

View file

@ -1,31 +0,0 @@
---
id: heltec-hardware
title: Heltec device
sidebar_label: Heltec
---
## WiFi LoRa 32 (V2)
* ESP32 - Wifi & Bluetooth
* SX127x - LoRa Transceiver
* Frequency options:
* 433 MHz
* 470-510 MHz
* 863-870 MHz
* 902-928 MHz
* Built in 0.96 inch OLED display
* U.FL antenna connector
* Reset and Program switches
* No GPS
* Firmware file: `firmware-heltec-1.x.x.bin`
* [Purchase link](https://heltec.org/project/wifi-lora-32/)
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec-v2.png" style={{zoom:'25%'}} />](/img/hardware/heltec-v2.png)
* There are two versions of the Heltec (V2). Below is a picture highlighting the visual differences:
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec_v2_vs_v21.png" style={{zoom:'25%'}} />](/img/hardware/heltec_v2_vs_v21.png)
* See [hardware update log](https://heltec-automation-docs.readthedocs.io/en/latest/esp32/wifi_lora_32/hardware_update_log.html) for more details

View file

@ -1,86 +0,0 @@
---
id: lora-hardware
title: LILYGO® TTGO Lora devices
sidebar_label: LILYGO® Lora
---
## Lora V1
* ESP32 - Wifi & Bluetooth
* SX1276 - LoRa Transceiver
* Frequency options:
* 868 MHz
* 915 MHz
* Built in 0.96 inch OLED display
* U.FL antenna connector
* Reset and Program switches
* No GPS
* Firmware file: `firmware-tlora-v1-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/32840238513.html)
[<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
* SX127x - LoRa Transceiver
* Frequency options:
* 868 MHz
* 915 MHz
* Built in 0.96 inch OLED display
* U.FL antenna connector
* Reset and Program switches
* No GPS
* Firmware file: `firmware-tlora_v1_3-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/4000628100802.html)
[<img alt="LILYGO® TTGO Lora V1.3" src="/img/hardware/lora-v1.3.png" style={{zoom:'25%'}} />](/img/hardware/lora-v1.3.png)
## Lora V2.0
* ESP32 - Wifi & Bluetooth
* SX127x - LoRa Transceiver
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* Built in 0.96 inch OLED display
* U.FL antenna connector
* Power and Reset switches
* microSD connector
* No GPS
* Firmware file: `firmware-tlora-v2-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/32846302183.html)
[<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
* SX127x - LoRa Transceiver
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* Built in 0.96 inch OLED display
* SMA antenna connector
* Power and Reset switches
* microSD connector
* No GPS
* Firmware file: `firmware-tlora-v2-1-1.6-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/32915894264.html)
:::warning
Some of these boards contained the wrong component in the LiPo battery charging circuit allowing the battery to be overcharged. While this does appear to have been fixed recently, please see the [warning](https://www.thethingsnetwork.org/community/berlin/post/warning-attention-users-of-ttgo21-v16-boards-labeled-t3_v16-on-pcb-battery-exploded-and-got-on-fire) on The Things Network for more information.
:::
[<img src="/img/hardware/lora-v2.1-1.6.png" alt="LILYGO® TTGO Lora V2.1-1.6" style={{zoom:'25%'}} />](/img/hardware/lora-v2.1-1.6.png)

View file

@ -12,14 +12,16 @@ We currently support devices that use the ESP32 and the nRF52 microcontrollers.
The ESP32 devices have the advantage of having a Wifi interface. This allows you to connect to an access point, or run the device as an access point, and host the [web interface](/docs/software/web/web-app-software). Unfortunately the ESP32 does not support Bluetooth 5.0, and so has to wake up from sleep mode now and then to connect to Bluetooth devices to receive messages. This can result in delays sending a message from your phone.
The following ESP32 devices are supported:
* [Lilygo TTGO T-Beam](/docs/hardware/tbeam-hardware) - versions 0.7, 1.1 (including M8N GPS and SX1262 LoRa variants)
* [Lilygo TTGO Lora](/docs/hardware/lora-hardware) - versions 1, 1.3, 2.0, 2.1-1.6
* [Heltec LoRa 32 (V2)](/docs/hardware/heltec-hardware)
- [Lilygo TTGO T-Beam](/docs/hardware/supported/tbeam) - versions 0.7, 1.1 (including M8N GPS and SX1262 LoRa variants)
- [Lilygo TTGO Lora](/docs/hardware/supported/lora) - versions 1, 1.3, 2.0, 2.1-1.6
- [Heltec LoRa 32 (V2)](/docs/hardware/supported/heltec)
## nRF52
The nRF52 devices have the advantage of a Bluetooth 5.0 implementation. This allows for very low power Bluetooth connections to be maintained without having to wake the microprocessor up at regular intervals. Unfortunately, the nRF52 devices do not have Wifi built in, meaning that currently you cannot use the web interface with these devices.
The following nRF52 devices are currently supported:
* [Lilygo TTGO T-Echo](/docs/hardware/techo-hardware)
* [Wisblock RAK4631](/docs/hardware/wisBlock-hardware)
- [Lilygo TTGO T-Echo](/docs/hardware/supported/techo)
- [Wisblock RAK4631](/docs/hardware/supported/wisBlock)

View file

@ -0,0 +1,30 @@
---
id: heltec
title: Heltec device
sidebar_label: Heltec
---
## WiFi LoRa 32 (V2)
- ESP32 - Wifi & Bluetooth
- SX127x - LoRa Transceiver
- Frequency options:
- 433 MHz
- 470-510 MHz
- 863-870 MHz
- 902-928 MHz
- Built in 0.96 inch OLED display
- U.FL antenna connector
- Reset and Program switches
- No GPS
- Firmware file: `firmware-heltec-1.x.x.bin`
- [Purchase link](https://heltec.org/project/wifi-lora-32/)
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec-v2.png" style={{zoom:'25%'}} />](/img/hardware/heltec-v2.png)
- There are two versions of the Heltec (V2). Below is a picture highlighting the visual differences:
[<img src="Heltec WiFi LoRa 32 (V2)" src="/img/hardware/heltec_v2_vs_v21.png" style={{zoom:'25%'}} />](/img/hardware/heltec_v2_vs_v21.png)
- See [hardware update log](https://heltec-automation-docs.readthedocs.io/en/latest/esp32/wifi_lora_32/hardware_update_log.html) for more details

View file

@ -1,5 +1,5 @@
---
id: linux-hardware
id: linux
title: Linux Compatible Hardware
sidebar_label: Linux
---

View file

@ -0,0 +1,81 @@
---
id: lora
title: LILYGO® TTGO Lora devices
sidebar_label: LILYGO® Lora
---
## Lora V1
- ESP32 - Wifi & Bluetooth
- SX1276 - LoRa Transceiver
- Frequency options:
- 868 MHz
- 915 MHz
- Built in 0.96 inch OLED display
- U.FL antenna connector
- Reset and Program switches
- No GPS
- Firmware file: `firmware-tlora-v1-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/32840238513.html)
[<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
- SX127x - LoRa Transceiver
- Frequency options:
- 868 MHz
- 915 MHz
- Built in 0.96 inch OLED display
- U.FL antenna connector
- Reset and Program switches
- No GPS
- Firmware file: `firmware-tlora_v1_3-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/4000628100802.html)
[<img alt="LILYGO® TTGO Lora V1.3" src="/img/hardware/lora-v1.3.png" style={{zoom:'25%'}} />](/img/hardware/lora-v1.3.png)
## Lora V2.0
- ESP32 - Wifi & Bluetooth
- SX127x - LoRa Transceiver
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- Built in 0.96 inch OLED display
- U.FL antenna connector
- Power and Reset switches
- microSD connector
- No GPS
- Firmware file: `firmware-tlora-v2-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/32846302183.html)
[<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
- SX127x - LoRa Transceiver
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- Built in 0.96 inch OLED display
- SMA antenna connector
- Power and Reset switches
- microSD connector
- No GPS
- Firmware file: `firmware-tlora-v2-1-1.6-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/32915894264.html)
:::warning
Some of these boards contained the wrong component in the LiPo battery charging circuit allowing the battery to be overcharged. While this does appear to have been fixed recently, please see the [warning](https://www.thethingsnetwork.org/community/berlin/post/warning-attention-users-of-ttgo21-v16-boards-labeled-t3_v16-on-pcb-battery-exploded-and-got-on-fire) on The Things Network for more information.
:::
[<img src="/img/hardware/lora-v2.1-1.6.png" alt="LILYGO® TTGO Lora V2.1-1.6" style={{zoom:'25%'}} />](/img/hardware/lora-v2.1-1.6.png)

View file

@ -1,10 +1,10 @@
---
id: wisBlock-hardware
id: wisBlock
title: RAK WisBlock 4631
sidebar_label: RAK WisBlock
---
The RAK WisBlock is a low power modular hardware system that can be used to build Meshtastic devices. Soldering is only required for the optional OLED screen.
The RAK WisBlock is a low power modular hardware system that can be used to build Meshtastic devices. Soldering is only required for the optional OLED screen.
You will need a [base board](https://store.rakwireless.com/collections/wisblock-base), a [core 4631 LPWAN module](https://store.rakwireless.com/collections/wisblock-core/products/rak4631-lpwan-node), and optionally a GPS Sensor to build a Meshtastic device.
@ -20,27 +20,26 @@ Flashing the firmware is a simple process. Connect your device via USB, click th
There is currently no pin required to pair RAK devices via BLE.
* nRF52840 - Bluetooth BLE 5.0 and very low power consumption
* SX1262 - LoRa transceiver
* Frequency options:
* 433 MHz
* 470 MHz
* 799 MHz
* 865 MHz
* 868 MHz
* 915 MHz
* 920 MHz
* 923 MHz
* Optional GPS
* U.FL antenna connector
* Optional switches
* Optional screen
- nRF52840 - Bluetooth BLE 5.0 and very low power consumption
- SX1262 - LoRa transceiver
- Frequency options:
- 433 MHz
- 470 MHz
- 799 MHz
- 865 MHz
- 868 MHz
- 915 MHz
- 920 MHz
- 923 MHz
- Optional GPS
- U.FL antenna connector
- Optional switches
- Optional screen
* Firmware for 5005 base board: [`firmware-rak4631_5005-1.x.x.uf2`](https://meshtastic.org/firmware)
* Firmware for 19003 base board: [`firmware-rak4631_19003-1.x.x.uf2`](https://meshtastic.org/firmware)
* [Installation instructions](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Quickstart/#rak4631-lora-mesh-via-meshtastic)
* Don't forget to [update the bootloader](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Quickstart/#updating-the-bootloader) first!
* RAK's [GitHub Page](https://github.com/RAKWireless/WisBlock) for the WisBlock
- Firmware for 5005 base board: [`firmware-rak4631_5005-1.x.x.uf2`](https://meshtastic.org/firmware)
- Firmware for 19003 base board: [`firmware-rak4631_19003-1.x.x.uf2`](https://meshtastic.org/firmware)
- [Installation instructions](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Quickstart/#rak4631-lora-mesh-via-meshtastic)
- Don't forget to [update the bootloader](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Quickstart/#updating-the-bootloader) first!
- RAK's [GitHub Page](https://github.com/RAKWireless/WisBlock) for the WisBlock
<img alt="RAK4631 Core Module" src="/img/hardware/rak4631.png" style={{zoom:'50%'}} />

View file

@ -0,0 +1,113 @@
---
id: tbeam
title: LILYGO® TTGO T-Beam devices
sidebar_label: LILYGO® T-Beam
---
## T-Beam - Meshtastic
- Meshtastic pre-installed
- ESP32 - Wifi & Bluetooth
- SX1276 - LoRa Transceiver
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- 923 MHz
- NEO-6M - GPS receiver
- SMA antenna connector
- Power, Program and Reset switches
- Comes with 0.96 inch OLED display (some soldering required to assemble)
- Firmware file: `firmware-tbeam-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/4001178678568.html)
[<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
This is an earlier version of the T-Beam board, and due to changes in the design in subsequent iterations this board uses a specific firmware file different from the other T-Beam boards.
`firmware-tbeam0.7-1.x.x.bin` is the correct firmware. `firmware-tbeam-1.x.x.bin` is incompatible. For all other T-Beam boards `firmware-tbeam-1.x.x.bin` is the correct selection.
:::
- ESP32 - Wifi & Bluetooth
- SX1276 - LoRa Transceiver
- Frequency options:
- 868 MHz
- 915 MHz
- NEO-6M - GPS receiver
- SMA antenna connector
- Power, Program and Reset switches
- No GPS
- Screen sold separately
- Firmware file: `firmware-tbeam0.7-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/4000469332610.html)
[<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)
## T-Beam - V1.1
- ESP32 - Wifi & Bluetooth
- SX1276 - LoRa Transceiver
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- 923 MHz
- NEO-6M - GPS receiver
- SMA antenna connector
- Power, Program and Reset switches
- Comes with 0.96 inch OLED display (some soldering required to assemble)
- Firmware file: `firmware-tbeam-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/4001178678568.html)
[<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)
## T-Beam - M8N
- ESP32 - Wifi & Bluetooth
- SX1276 - LoRa Transceiver
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- 923 MHz
- NEO-M8N - GPS receiver - better GPS sensitivity
- U.FL antenna connector
- Power, Program and Reset switches
- Screen sold separately
- Firmware file: `firmware-tbeam-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/33047631119.html)
[<img alt="LILYGO® TTGO T-Beam M8N" src="/img/hardware/t-beam-m8n.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-m8n.png)
## T-Beam - M8N & SX1262
- ESP32 - Wifi & Bluetooth
- SX1262 - LoRa Transceiver - improved performance
- Frequency options:
- 433 MHz
- 868 MHz
- 915 MHz
- 923 MHz
- NEO-M8N - GPS receiver - better GPS sensitivity
- U.FL antenna connector
- Power, Program and Reset switches
- Screen sold separately
- Firmware file: `firmware-tbeam-1.x.x.bin`
- [Purchase link](https://www.aliexpress.com/item/4001287221970.html)
[<img alt="LILYGO® TTGO T-Beam M8N & SX1262" src="/img/hardware/t-beam-sx1262.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-sx1262.png)
## Screen
- 0.96 inch OLED i<sup>2</sup>c display
- [Purchase link](https://www.aliexpress.com/item/32922106384.html)
[<img alt="0.96 inch OLED display" src="/img/hardware/screen.png" style={{zoom:'25%'}} />](/img/hardware/screen.png)

View file

@ -0,0 +1,26 @@
---
id: techo
title: LILYGO® TTGO T-Echo devices
sidebar_label: LILYGO® T-Echo
---
The T-Echo has been in development by LILYGO® over the past few months and has now been released.
### See [Getting Started](/docs/getting-started/flashing-nrf52)
- firmware file: `firmware-t-echo-1.x.x.uf2`
- [Purchase link](https://www.aliexpress.com/item/1005002842456390.html)
- TTGO's [GitHub page](https://github.com/Xinyuan-LilyGO/LilyGO-T-Echo) for the T-Echo
### Features
- nRF52840 - Bluetooth BLE 5.0, NFC and very low power consumption
- SX1262 - LoRa transceiver
- 1.54" eInk display
- L76K - GNSS receiver - Supporting GPS, BeiDou, GLONASS & QZSS
- Reset, Program and capacitive touch buttons
- U.FL antenna connector
<!-- * BME280 - Humidity and Pressure Sensor -->
- Optional case and battery
<img alt="LILYGO T-Echo" src="/img/hardware/t-echo.png" style={{zoom: '15%'}} />

View file

@ -1,6 +0,0 @@
---
id: supported-hardware
title: Supported hardware
sidebar_label: Supported hardware
slug: /hardware/supported-hardware
---

View file

@ -1,118 +0,0 @@
---
id: tbeam-hardware
title: LILYGO® TTGO T-Beam devices
sidebar_label: LILYGO® T-Beam
---
## T-Beam - Meshtastic
* Meshtastic pre-installed
* ESP32 - Wifi & Bluetooth
* SX1276 - LoRa Transceiver
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* 923 MHz
* NEO-6M - GPS receiver
* SMA antenna connector
* Power, Program and Reset switches
* Comes with 0.96 inch OLED display (some soldering required to assemble)
* Firmware file: `firmware-tbeam-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/4001178678568.html)
[<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
This is an earlier version of the T-Beam board, and due to changes in the design in subsequent iterations this board uses a specific firmware file different from the other T-Beam boards.
`firmware-tbeam0.7-1.x.x.bin` is the correct firmware. `firmware-tbeam-1.x.x.bin` is incompatible. For all other T-Beam boards `firmware-tbeam-1.x.x.bin` is the correct selection.
:::
* ESP32 - Wifi & Bluetooth
* SX1276 - LoRa Transceiver
* Frequency options:
* 868 MHz
* 915 MHz
* NEO-6M - GPS receiver
* SMA antenna connector
* Power, Program and Reset switches
* No GPS
* Screen sold separately
* Firmware file: `firmware-tbeam0.7-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/4000469332610.html)
[<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)
## T-Beam - V1.1
* ESP32 - Wifi & Bluetooth
* SX1276 - LoRa Transceiver
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* 923 MHz
* NEO-6M - GPS receiver
* SMA antenna connector
* Power, Program and Reset switches
* Comes with 0.96 inch OLED display (some soldering required to assemble)
* Firmware file: `firmware-tbeam-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/4001178678568.html)
[<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)
## T-Beam - M8N
* ESP32 - Wifi & Bluetooth
* SX1276 - LoRa Transceiver
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* 923 MHz
* NEO-M8N - GPS receiver - better GPS sensitivity
* U.FL antenna connector
* Power, Program and Reset switches
* Screen sold separately
* Firmware file: `firmware-tbeam-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/33047631119.html)
[<img alt="LILYGO® TTGO T-Beam M8N" src="/img/hardware/t-beam-m8n.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-m8n.png)
## T-Beam - M8N & SX1262
* ESP32 - Wifi & Bluetooth
* SX1262 - LoRa Transceiver - improved performance
* Frequency options:
* 433 MHz
* 868 MHz
* 915 MHz
* 923 MHz
* NEO-M8N - GPS receiver - better GPS sensitivity
* U.FL antenna connector
* Power, Program and Reset switches
* Screen sold separately
* Firmware file: `firmware-tbeam-1.x.x.bin`
* [Purchase link](https://www.aliexpress.com/item/4001287221970.html)
[<img alt="LILYGO® TTGO T-Beam M8N & SX1262" src="/img/hardware/t-beam-sx1262.png" style={{zoom:'25%'}} />](/img/hardware/t-beam-sx1262.png)
## Screen
* 0.96 inch OLED i<sup>2</sup>c display
* [Purchase link](https://www.aliexpress.com/item/32922106384.html)
[<img alt="0.96 inch OLED display" src="/img/hardware/screen.png" style={{zoom:'25%'}} />](/img/hardware/screen.png)

View file

@ -1,27 +0,0 @@
---
id: techo-hardware
title: LILYGO® TTGO T-Echo devices
sidebar_label: LILYGO® T-Echo
---
The T-Echo has been in development by LILYGO® over the past few months and has now been released.
### See [Getting Started](../getting-started/flashing-nrf52)
* firmware file: `firmware-t-echo-1.x.x.uf2`
* [Purchase link](https://www.aliexpress.com/item/1005002842456390.html)
* TTGO's [GitHub page](https://github.com/Xinyuan-LilyGO/LilyGO-T-Echo) for the T-Echo
### Features
* nRF52840 - Bluetooth BLE 5.0, NFC, and very low power consumption
* SX1262 - LoRa transceiver
* 1.54" eInk display
* L76K - GNSS receiver - Supporting GPS, BeiDou, GLONASS, and QZSS
* Reset, Program and capacitive touch buttons
* U.FL antenna connector
<!-- * BME280 - Humidity and Pressure Sensor -->
* Optional case and battery
<img alt="LILYGO T-Echo" src="/img/hardware/t-echo.png" style={{zoom: '15%'}} />

View file

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

View file

@ -47,20 +47,20 @@ Now both devices can talk over the `gpio` channel.
## Doing GPIO operations
You can programmatically do operations from your own python code by using the Meshtastic `RemoteHardwareClient` class. See the [python API](https://meshtastic.github.io/Meshtastic-python) documentation for more details.
You can programmatically do operations from your own python code by using the Meshtastic `RemoteHardwareClient` class. See the [python API](https://meshtastic.org/docs/software/python/python-installation) documentation for more details.
## Using GPIOs from the python CLI
Writing a GPIO:
```bash title="Expected output"
$ meshtastic --port /dev/ttyUSB0 --gpio-wrb 4 1 --dest \!28979058
$ meshtastic --port /dev/ttyUSB0 --gpio-wrb 4 1 --dest \!28979058
Connected to radio
Writing GPIO mask 0x10 with value 0x10 to !28979058
```
Reading a GPIO:
```bash title="Expected output"
$ meshtastic --port /dev/ttyUSB0 --gpio-rd 0x10 --dest \!28979058
$ meshtastic --port /dev/ttyUSB0 --gpio-rd 0x10 --dest \!28979058
Connected to radio
Reading GPIO mask 0x10 from !28979058
GPIO read response gpio_value=16
@ -68,7 +68,7 @@ GPIO read response gpio_value=16
Watching for GPIO changes:
```bash title="Expected output"
$ meshtastic --port /dev/ttyUSB0 --gpio-watch 0x10 --dest \!28979058
$ meshtastic --port /dev/ttyUSB0 --gpio-watch 0x10 --dest \!28979058
Connected to radio
Watching GPIO mask 0x10 from !28979058
Received RemoteHardware typ=GPIOS_CHANGED, gpio_value=16

View file

@ -67,7 +67,7 @@ FIXME, discuss possible attacks by griefers and how they can be prevented
#### Service Envelope
The payload published on mesh/... will always be wrapped in a [ServiceEnvelope protobuf](https://github.com/meshtastic/Meshtastic-protobufs/blob/master/docs/docs.md#.ServiceEnvelope).
The payload published on mesh/... will always be wrapped in a [ServiceEnvelope protobuf](https://meshtastic.org/docs/developers/protobufs/api#serviceenvelope).
ServiceEnvelope will include the message, and full information about arrival time, who forwarded it, source channel, source mesh id, etc...

View file

@ -0,0 +1,396 @@
---
id: python-commands
title: Meshtastic-python Commands
sidebar_label: Commands
---
# Python API Commands 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.
## Optional Arguments
### -h or --help
Shows a help message that describes the arguments.
**Usage**
```shell
meshtastic -h
```
### --port PORT
The port the Meshtastic device is connected to, i.e. /dev/ttyUSB0 or COM4. if unspecified, meshtastic will try to find it. Important to use when multiple devices are connected to ensure you call the command for the correct device.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --info
meshtastic --port COM4 --info
```
### --host HOST
The hostname/ipaddr of the device to connect to (over TCP).
**Usage**
```shell
meshtastic --host HOST
```
### --seriallog SERIALLOG
Logs device serial output to either 'stdout', 'none' or a filename to append to.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --seriallog
```
### --info
Read and display the radio config information.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --info
```
### --nodes
Prints a node list in a pretty, formatted table.
**Usage**
```shell
meshtastic --nodes
```
### --qr
Displays the QR code that corresponds to the current channel.
**Usage**
```shell
meshtastic --qr
```
### --get GET
Gets a preferences field.
**Usage**
```shell
meshtastic --get modem_config
```
### --set SET SET
Sets a preferences field.
**Usage**
```shell
meshtastic --set region Unset
```
### --seturl SETURL
Set a channel URL.
**Usage**
```shell
meshtastic --seturl https://www.meshtastic.org/c/GAMiIE67C6zsNmlWQ-KE1tKt0fRKFciHka-DShI6G7ElvGOiKgZzaGFyZWQ=
```
### --ch-index CH_INDEX
Set the specified channel index
**Usage**
```shell
meshtastic --ch-index 1 --ch-disable
```
### --ch-add CH_ADD
Add a secondary channel, you must specify a channel name.
**Usage**
```shell
meshtastic --ch-add testing-channel
```
### --ch-del
Delete the ch-index channel.
**Usage**
```shell
meshtastic --ch-index 1 --ch-del
```
### --ch-enable
Enable the specified channel.
**Usage**
```shell
meshtastic --ch-index 1 --ch-enable
```
### --ch-disable
Disable the specified channel.
**Usage**
```shell
meshtastic --ch-index 1 --ch-disable
```
### --ch-set CH_SET CH_SET
Set a channel parameter.
**Usage**
```shell
meshtastic --ch-set id 1234
```
### --ch-longslow
Change to the standard long-range (but slow) channel.
**Usage**
```shell
meshtastic --ch-longslow
```
### --ch-shortfast
Change to the standard fast (but short range) channel.
**Usage**
```shell
meshtastic --ch-shortfast
```
### --set-owner SET_OWNER
Set device owner name.
**Usage**
```shell
meshtastic --dest \!28979058 --set-owner "MeshyJohn"
```
### --set-ham SET_HAM
Set licensed Ham ID and turn off encryption.
**Usage**
```shell
meshtastic --set-ham KI1345
```
### --dest DEST
The destination node id for any sent commands
**Usage**
```shell
meshtastic --dest \!28979058 --set-owner "MeshyJohn"
```
### --sendtext SENDTEXT
Send a text message.
**Usage**
```shell
meshtastic --sendtext "Hello Mesh!"
```
### --sendping
Send a ping message (which requests a reply).
**Usage**
```shell
meshtastic --sendping
```
### --reboot
Tell the destination node to reboot.
**Usage**
```shell
meshtastic --dest \!28979058 --reboot
```
### --reply
Reply to received messages.
**Usage**
```shell
meshtastic --reply
```
### --gpio-wrb GPIO_WRB GPIO_WRB
Set a particular GPIO # to 1 or 0.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --gpio-wrb 4 1 --dest \!28979058
```
### --gpio-rd GPIO_RD
Read from a GPIO mask.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --gpio-rd 0x10 --dest \!28979058
```
### --gpio-watch GPIO_WATCH
Start watching a GPIO mask for changes.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --gpio-watch 0x10 --dest \!28979058
```
### --no-time
Suppress sending the current time to the mesh.
**Usage**
```shell
meshtastic --port /dev/ttyUSB0 --no-time
```
### --setalt SETALT
Set device altitude (allows use without GPS).
**Usage**
```shell
meshtastic --setalt 120
```
### --setlat SETLAT
Set device latitude (allows use without GPS).
**Usage**
```shell
meshtastic --setlat 25.2
```
### --setlon SETLON
Set device longitude (allows use without GPS).
**Usage**
```shell
meshtastic --setlon -16.8
```
### --debug
Show API library debug log messages.
**Usage**
```shell
meshtastic --debug --info
```
### --test
Run stress test against all connected Meshtastic devices.
**Usage**
```shell
meshtastic --test
```
### --ble BLE
BLE mac address to connect to (BLE is not yet supported for this tool).
**Usage**
```shell
meshtastic --ble "83:38:92:32:37:48"
```
### --noproto
Don't start the API, just function as a dumb serial terminal.
**Usage**
```shell
meshtastic --noproto
```
### --version
Show program's version number and exit.
**Usage**
```shell
meshtastic --version
```
## Deprecated Arguments
### --setchan
Deprecated - use "--ch-set param value" instead.
### --set-router
Deprecated - use "--set is_router true" instead.
### --unset-router
Deprecated - use "--set is_router false" instead.

View file

@ -8,9 +8,9 @@ import TabItem from '@theme/TabItem';
This library provides a command line interface for Meshtastic nodes and provides an easy API for sending and receiving messages over mesh radios, in addition to changing user settings. Using the command line is currently the most powerful. Events are delivered using a publish-subscribe model, and you can subscribe to only the message types you are interested in.
[Full documentation](https://meshtastic.github.io/Meshtastic-python) for the library, including examples, is available.
[Full documentation](https://meshtastic.org/docs/software/python/python-installation) for the library, including examples, is available.
If you wish to view the code or contribute to development of the python library or the command line interface, please visit the Meshtastic python <a href="https://github.com/meshtastic/Meshtastic-python">GitHub page</a>.
If you wish to view the code or contribute to development of the python library or the command line interface, please visit the Meshtastic python <a href="https://meshtastic.org/docs/software/python/python-installation">GitHub page</a>.
Installation is easily done through the [Python package installer pip](https://pypi.org/project/meshtastic/):
:::note

View file

@ -0,0 +1,23 @@
---
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

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

View file

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

View file

@ -3,10 +3,10 @@ id: range-test-plugin
title: Range Test Plugin Settings
sidebar_label: Range Test Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
This plugin allows you to test the range of your Meshtastic nodes. It requires at least two nodes, a sender and a receiver. The receiving node then saves the messages along with the GPS coordinates at which they were received into a .csv file. This .csv file can then be integrated into [Google Earth](https://earth.google.com), [Google Maps - My Maps](https://mymaps.google.com), or any other program capable of processing .csv files. This can enable you to visualize your mesh.
@ -17,11 +17,11 @@ Once settings are changed, a **reset** is required for them to take effect.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| range_test_plugin_enabled | `true`, `false` | `false` |
| range_test_plugin_save | `true`, `false` | `false` |
| range_test_plugin_sender | `integer` (Seconds) | `0` |
| Setting | Acceptable Values | Default |
| :-----------------------: | :-----------------: | :-----: |
| range_test_plugin_enabled | `true`, `false` | `false` |
| range_test_plugin_save | `true`, `false` | `false` |
| range_test_plugin_sender | `integer` (Seconds) | `0` |
### range_test_plugin_enabled
@ -44,7 +44,7 @@ Be sure to turn off either the plugin configured as a sender or the device where
Also be mindful of your space usage on the file system. It has protections from filling up the space but it's best to delete old range test results.
:::note
Leaving this plugin on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](../../developers/protobufs/api#portnumsproto) are sent on.
Leaving this plugin on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](/docs/developers/protobufs/api#portnumsproto) are sent on.
:::
### Accessing your CSV
@ -60,56 +60,57 @@ http://198.168.0.X/static/rangetest.csv
| Radio Setting | `range_test_plugin_sender` |
| :-----------: | :------------------------: |
| Long Slow | 60 |
| Long Fast | 30 |
| Medium | 15 |
| Short Fast | 15 |
| Long Slow | 60 |
| Long Alt | 30 |
| Medium | 15 |
| Short Fast | 15 |
## Examples
### Sender Node
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Sender Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_sender 60
```
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Sender Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_sender 60
```
</TabItem>
<TabItem value="android">
TODO
TODO
</TabItem>
</Tabs>
### Receiver Node
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Receiver Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_save true
```
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Receiver Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_save true
```
</TabItem>
<TabItem value="android">
TODO
TODO
</TabItem>
</Tabs>

@ -1 +1 @@
Subproject commit 8837b0554e72c32b8b8e2b409dce50a2fafa554f
Subproject commit 7b80bde4213c530ab3d85a19d1795025299d4633

View file

@ -52,8 +52,8 @@ module.exports = {
"software/python/python-installation",
"software/python/python-cli",
"software/python/python-uses",
"software/python/python-using-library",
"software/python/python-development",
"software/python/python-commands",
"software/python/python-stream",
{
type: "link",
label: "API Docs",
@ -132,15 +132,16 @@ module.exports = {
"hardware/overview",
{
"Supported Hardware": [
"hardware/tbeam-hardware",
"hardware/lora-hardware",
"hardware/heltec-hardware",
"hardware/techo-hardware",
"hardware/wisBlock-hardware",
"hardware/linux-hardware",
"hardware/supported/tbeam",
"hardware/supported/lora",
"hardware/supported/heltec",
"hardware/supported/techo",
"hardware/supported/wisBlock",
"hardware/supported/linux",
],
},
"hardware/buttons",
"hardware/battery",
{
Antennas: [
"hardware/antenna/antenna",

View file

@ -0,0 +1,25 @@
import React from 'react';
export const BatteryCalculator = (): JSX.Element => {
return (
<div className="card">
<div className="card__header">
<h3>Battery Calculator</h3>
</div>
<div className="card__body" style={{ display: "flex", gap: "2rem" }}>
<div>
<input placeholder="Search" />
<input placeholder="Search" />
<input placeholder="Search" />
<input placeholder="Search" />
</div>
<div></div>
</div>
<div className="card__footer">
<button className="button button--secondary button--block">
See All
</button>
</div>
</div>
);
};

View file

@ -104,7 +104,7 @@ function Home() {
/>
<meta
property="og:description"
content="Open Source hiking, pilot, skiing and secure GPS mesh communicator"
content="Open Source hiking, pilot, skiing and secure LoRa mesh communicator"
/>
<meta property="og:url" content="https://meshtastic.org/" />
<meta name="twitter:card" content="summary_large_image" />