Merge branch 'master' of https://github.com/Nestpebble/meshtastic
|
@ -6,7 +6,7 @@ labels: ""
|
|||
assignees: ""
|
||||
---
|
||||
|
||||
Please - if you just have a question, post in our [forum](https://meshtastic.discourse.group) instead. Please reserve this system for requesting changes to the Meshtastic documentation.
|
||||
If you have a question, please post it on our [Meshtastic Discussions page](https://github.com/orgs/meshtastic/discussions) instead. This system is reserved specifically for requesting changes to the Meshtastic documentation.
|
||||
|
||||
**Describe what section of the docs is outdated or otherwise in need of change**
|
||||
Be as clear and concise as possible. Provide a URL or GitHub path to the doc you are referencing.
|
||||
|
|
BIN
a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg
Normal file
After Width: | Height: | Size: 295 KiB |
|
@ -44,7 +44,7 @@ If you are interested in a more technical overview of how Meshtastic works, visi
|
|||
|
||||
## Contributors
|
||||
|
||||
Meshtastic is an open source project available on GitHub. Our generous volunteers donate their personal time to write and maintain this codebase. If you would like to contribute see our [GitHub](https://github.com/meshtastic), join our [Discord server](https://discord.gg/ktMAKGBnBs), and read up on our [forum](https://meshtastic.discourse.group).
|
||||
Meshtastic is an open source project available on GitHub. Our generous volunteers donate their personal time to write and maintain this codebase. If you would like to contribute see our [GitHub](https://github.com/meshtastic), join our [Discord server](https://discord.gg/ktMAKGBnBs), and read up on our [Meshtastic Discussions](https://github.com/orgs/meshtastic/discussions).
|
||||
|
||||
<div className="indexCtasBody">
|
||||
<Link
|
||||
|
|
|
@ -7,7 +7,7 @@ sidebar_position: 1
|
|||
description: "Maximize your Meshtastic device's potential with detailed radio settings instructions, including frequency bands, data rates, and encryption options."
|
||||
---
|
||||
|
||||
import {FrequencyCalculator} from "/src/components/tools/FrequencyCalculator";
|
||||
import { FrequencyCalculator } from "/src/components/tools/FrequencyCalculator";
|
||||
|
||||
:::info
|
||||
Meshtastic is **not** LoRaWAN, Helium or TTN (TheThingsNetwork). Meshtastic uses the full spectrum frequency range designated to LoRa technology per region. This allows for several hundred possible frequency channels in the US region alone.
|
||||
|
@ -80,7 +80,7 @@ Various data-rate options are available when configuring a frequency slot and ar
|
|||
We have eight LoRa radio presets. These are the most common settings and have been proven to work well:
|
||||
|
||||
| Channel setting | Alt Channel Name | Data-Rate | SF / Symbols | Coding Rate | Bandwidth | Link Budget |
|
||||
|:----------------------:|:----------------:|:----------:|:------------:|:-----------:|:---------:|:-----------:|
|
||||
| :--------------------: | :--------------: | :--------: | :----------: | :---------: | :-------: | :---------: |
|
||||
| Short Range / Turbo | Short Turbo | 21.88 kbps | 7 / 128 | 4/5 | 500[^1] | 140dB |
|
||||
| Short Range / Fast | Short Fast | 10.94 kbps | 7 / 128 | 4/5 | 250 | 143dB |
|
||||
| Short Range / Slow | Short Slow | 6.25 kbps | 8 / 256 | 4/5 | 250 | 145.5dB |
|
||||
|
@ -97,7 +97,6 @@ The link budget used by these calculations assumes a transmit power of 22dBm and
|
|||
|
||||
![link budget vs data rate plot](/img/about/link-budget-vs-data-rate.webp)
|
||||
|
||||
|
||||
### Custom Settings
|
||||
|
||||
Custom settings can be applied by using [supported software](/docs/software).
|
||||
|
@ -121,10 +120,10 @@ Some example settings:
|
|||
|
||||
The link budget used by these calculations assumes a transmit power of 17dBm and an antenna with 0dB gain. Adjust your link budget assumptions based on your actual devices.
|
||||
|
||||
These frequency slot settings may not have been tested. Use at your own discretion. Share on https://meshtastic.discourse.group with your successes or failure.
|
||||
These frequency slot settings may not have been tested. Use at your own discretion. Share on the [Meshtastic Discussions page](https://github.com/orgs/meshtastic/discussions) with your successes or failure.
|
||||
|
||||
## Cryptography
|
||||
|
||||
The pre-shared key (PSK) used by the devices can be an AES128 or AES256 sequence. Alternatively, encryption can be turned off, which may be useful if you are operating under a Ham Radio license.
|
||||
The pre-shared key (PSK) used by the devices can be an AES128 or AES256 sequence. Alternatively, encryption can be turned off, which may be useful if you are operating under a Ham Radio license.
|
||||
|
||||
[^1]: Short Turbo is the fastest preset and the only one with 500kHz bandwidth. It is not legal to use in all regions due to this wider bandwidth.
|
||||
[^1]: Short Turbo is the fastest preset and the only one with 500kHz bandwidth. It is not legal to use in all regions due to this wider bandwidth.
|
||||
|
|
|
@ -58,7 +58,6 @@ Default Very Long Slow
|
|||
|
||||
<img src="/img/records/MartinR7-message-trace.webp" alt="Trace" />
|
||||
|
||||
|
||||
#### Previous Ground Record: 254km
|
||||
|
||||
- **Range:** 254km (158 miles)
|
||||
|
@ -117,11 +116,11 @@ Default Long_Fast
|
|||
- **Firmware Version:** 1.2
|
||||
- **Antenna:** [868MHz Vertical 6dBi](https://ivent.co.nz/product/category/1000/868mhz%20vertical%206dbi%20antenna/38606)
|
||||
|
||||
![Topographical Map](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/a/a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg)
|
||||
![Topographical Map](/img/records/topographical_map.webp)
|
||||
|
||||
![Node A](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/9/99ec4bcc18b21f4e95ac1bcc0592b608c9c4f567_2_1332x1000.jpeg)
|
||||
![Node A](/img/records/node_a.webp)
|
||||
|
||||
![Node B](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/1/1c8bd5fc41f7bab925404b657a9c481882de9313_2_1332x1000.jpeg)
|
||||
![Node B](/img/records/node_b.webp)
|
||||
|
||||
<h5>Resources Used</h5>- http://www.heywhatsthat.com
|
||||
|
||||
|
|
|
@ -124,6 +124,10 @@ us on [Discord](https://discord.com/invite/ktMAKGBnBs) to add your group.
|
|||
|
||||
- [LithMesh Signal Group](https://signal.group/#CjQKIBScbOkXSG2bkFh_omdxjOM-XqYIU4eERDmGEDrm3jjmEhDyZhh-EeCLSfjfV-DoPvEQ)
|
||||
|
||||
## Mexico
|
||||
|
||||
- [Meshtastic Mexico Community](https://radioaficionados.mx/meshtastic)
|
||||
|
||||
## Netherlands, The
|
||||
|
||||
- [Meshtastic Netherlands Telegram](https://t.me/meshtastic_nl)
|
||||
|
@ -254,6 +258,14 @@ us on [Discord](https://discord.com/invite/ktMAKGBnBs) to add your group.
|
|||
- [Cypress, Texas Meshtastic Club](https://discord.gg/KzuwNRwE6q)
|
||||
- [DFW / North Texas Mesh](https://discord.gg/jyzYRTtyMD)
|
||||
|
||||
### Virginia
|
||||
|
||||
- [MadisonMesh](https://madisonmesh.com/)
|
||||
|
||||
### Wisconsin
|
||||
|
||||
- [Meshconsin](https://meshconsin.org)
|
||||
|
||||
### Washington
|
||||
|
||||
- [Puget Mesh](https://PugetMesh.org)
|
||||
|
|
|
@ -12,7 +12,7 @@ The serial module config options are: Enabled, Echo, Mode, Receive GPIO, Transmi
|
|||
|
||||
This is an interface to talk to and control your Meshtastic device over a serial port. The module can be set to different [modes](#mode), each fulfilling a different use-case.
|
||||
|
||||
![image](https://user-images.githubusercontent.com/9000580/205529843-962c3187-8411-452c-b729-42c58b1571f5.png)
|
||||
![image](/img/modules/Serial/jet.webp)
|
||||
|
||||
<object
|
||||
data="https://www.youtube.com/embed/HdOiGKBtapw?autohide=1&autoplay=0"
|
||||
|
@ -53,7 +53,7 @@ Available Values:
|
|||
Set the GPIO pin to the RXD pin you have set up.
|
||||
|
||||
:::tip
|
||||
With RAK4631, the default pins are TXD1 and RXD1 on the baseboard. For this device, setting [GPS Mode](/docs/configuration/radio/position/#gps-mode) to `Not_Present` will prevent a pin conflict.
|
||||
With the RAK4631 on the RAK19007 and some versions of the RAK19003 baseboards, the default pins are TXD1 (16) and RXD1 (15). For this device, setting [GPS Mode](/docs/configuration/radio/position/#gps-mode) to `Not_Present` is necessary. For other versions of the RAK19003 baseboard, the pins TXD0 (20) and RXD0 (19) are accessible.
|
||||
:::
|
||||
|
||||
### Transmit GPIO Pin
|
||||
|
|
|
@ -12,7 +12,11 @@ The Telemetry Module provides four types of data over the mesh: Device metrics (
|
|||
|
||||
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. The Environment Telemetry, Air Quality, and Health Telemetry modules must be enabled for them to be instrumented and their readings sent over the mesh.
|
||||
|
||||
<object data="https://www.youtube.com/embed/6jj1s-fsPlc?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
<object
|
||||
data="https://www.youtube.com/embed/6jj1s-fsPlc?autohide=1&autoplay=0"
|
||||
width="100%"
|
||||
height="400"
|
||||
></object>
|
||||
|
||||
### Currently Supported Sensor Types
|
||||
|
||||
|
@ -35,7 +39,6 @@ Supported sensors connected to the I2C bus of the device will be automatically d
|
|||
| MAX30102 | 0x57 | Heart Rate, Oxygen Saturation, and body temperature |
|
||||
| MLX90614 | 0x5A | Body temperature |
|
||||
|
||||
|
||||
## Module Config Values
|
||||
|
||||
### Environment Telemetry Enabled
|
||||
|
@ -52,7 +55,7 @@ Default is `1800` seconds (30 minutes).
|
|||
|
||||
How often we should send Device Metrics over the mesh.
|
||||
|
||||
Default is `1800` seconds (30 minutes).
|
||||
Default is `1800` seconds (30 minutes).
|
||||
|
||||
Device Metrics to a connected client app will always be sent once per minute, regardless of this setting.
|
||||
|
||||
|
@ -80,6 +83,16 @@ This option is used to configure the interval (in seconds) that should be used t
|
|||
|
||||
Default is `1800` seconds (30 minutes).
|
||||
|
||||
### Power Metrics Enabled
|
||||
|
||||
This option is used to enable/disable the sending of power telemetry as gathered by an attached supported voltage/current sensor. Note that this does not need to be enabled to monitor the voltage of the battery.
|
||||
|
||||
Default is `false`.
|
||||
|
||||
### Power Metrics Interval
|
||||
|
||||
This option is used to configure the interval (in seconds) that should be used to send power metrics from an attached supported sensor over the mesh network.
|
||||
|
||||
### Health Telemetry Enabled
|
||||
|
||||
This option is used to enable/disable the sending of health data from an attached supported sensor over the mesh network.
|
||||
|
@ -139,15 +152,17 @@ All telemetry module config options are available in the python CLI. Example com
|
|||
|
||||
## Settings
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------------------------: | :-----------------: | :---------------------------------------: |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------------------------: | :-----------------: | :----------------------------------------: |
|
||||
| telemetry.device_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
|
||||
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_screen_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
|
||||
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_screen_enabled | `true`, `false` | `false` |
|
||||
| telemetry.environment_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.air_quality_enabled | `true`, `false` | `false` |
|
||||
| telemetry.air_quality_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.air_quality_enabled | `true`, `false` | `false` |
|
||||
| telemetry.air_quality_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.power_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.power_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.health_measurement_enabled | `true`, `false` | `false` |
|
||||
| telemetry.health_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
|
||||
| telemetry.health_screen_enabled | `true`, `false` | `false` |
|
||||
|
|
|
@ -119,7 +119,7 @@ Setting this to option to 'true' means the device will ignore any messages it re
|
|||
|
||||
Acceptable values: `true`, `false`
|
||||
|
||||
Default is `false`. When set to `true`, this configuration indicates that the user approves their packets to be uploaded to MQTT. If set to `false`, nodes receiving your packets are requested not to forward packets to MQTT.
|
||||
Default is `false`. When set to `true`, this configuration indicates that the user approves their packets to be uploaded to MQTT. If set to `false`, nodes receiving your packets are requested not to forward packets to MQTT. This configuration only applies to Channels configured with the `defaultpsk` and `eventpsk` keys set in the Meshtastic Firmware; Channels with custom keys ignore this setting.
|
||||
|
||||
**Important:** This is not a cryptographic solution but a polite request that is enforced in the official firmware.
|
||||
|
||||
|
|
|
@ -10,15 +10,22 @@ sidebar_position: 1
|
|||
If you would like to develop this application we'd love your help! These build instructions are brief and should be improved, please send a PR if you can.
|
||||
|
||||
1. Use Android Studio to build/debug
|
||||
2. Use `git submodule update --init --recursive` to pull in the various sub-modules we depend on.
|
||||
3. There are a few config files which you'll need to copy from templates included in the project. Run the following commands to do so:
|
||||
2. Clone the repository and after successful cloning, change the working directory to Meshtastic-Android/
|
||||
```shell
|
||||
git clone https://github.com/meshtastic/Meshtastic-Android.git && cd Meshtastic-Android/
|
||||
```
|
||||
3. Pull in the various sub-modules we depend on.
|
||||
```shell
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
4. There are a few config files which you'll need to copy from templates included in the project. Run the following commands to do so:
|
||||
```shell
|
||||
rm ./app/google-services.json
|
||||
cp ./app/google-services-example.json ./app/google-services.json
|
||||
rm ./app/src/main/res/values/curfirmwareversion.xml
|
||||
cp ./app/special/curfirmwareversion.xml ./app/src/main/res/values/
|
||||
```
|
||||
4. Now you should be able to select "Run / Run" in the IDE and it will happily start running on your phone or the emulator.
|
||||
5. Now you should be able to select "Run / Run" in the IDE and it will happily start running on your phone or the emulator.
|
||||
|
||||
:::note
|
||||
The emulators don't support Bluetooth, so some features can not be used in that environment.
|
||||
|
|
|
@ -6,31 +6,31 @@ sidebar_position: 5
|
|||
description: Technical Overview of Encryption Employed with Meshtastic from Firmware 2.5.0 Onwards
|
||||
---
|
||||
|
||||
## PSK for Channels, PKC for Direct Messages (DMs) and Admin Messages
|
||||
## PSK for Channels, PKC for Direct Messages and Admin Messages
|
||||
|
||||
Starting with firmware version 2.5.0, which introduces Public Key Cryptography (PKC) for Direct Messages (DMs) and additionally incorporating the use of Session IDs for Admin Messages, the security architecture of Meshtastic has reached a new level of robustness.
|
||||
Up to version 2.4.x of the firmware, Meshtastic relied entirely on Pre-Shared Key (PSK) cryptography for all messaging. Starting with firmware version 2.5.0, Meshtastic introduced Public Key Cryptography (PKC) for Direct Messages (DMs) and added Session IDs for Admin Messages. Together, these enhancements bring the security architecture of Meshtastic to a new level of robustness.
|
||||
|
||||
Below is a detailed overview of how PSK, PKC, and Session IDs are integrated into your system to secure Channels, Direct Messages, and Admin Messages.
|
||||
|
||||
### 1. Chat Channels Using Pre-Shared Key (PSK)
|
||||
### 1. Chat Channels Using PSK
|
||||
|
||||
- **PSK Overview:**
|
||||
|
||||
- Chat Channels continue to utilize a Pre-Shared Key (PSK) for encrypting communications.
|
||||
- Chat Channels continue to utilize a PSK for encrypting communications.
|
||||
- All participants share the same PSK for their Channels, which is used for both encryption and decryption within the channel.
|
||||
|
||||
- **Security Considerations:**
|
||||
- **Confidentiality:** Only participants with the correct PSK can access messages within the Chat Channel.
|
||||
- **Key Management:** Secure distribution and regular rotation of the PSK are essential to maintaining the channel's security.
|
||||
|
||||
### 2. Direct Messages (DMs) Now Using PKC
|
||||
### 2. DMs Now Using PKC
|
||||
|
||||
- **PKC Implementation for DMs:**
|
||||
|
||||
- **Public/Private Key Pairs:** Each node is equipped with a unique public/private key pair. The private key is securely stored on the node, and the public key is shared with other nodes, allowing for secure, authenticated communication.
|
||||
- **Encryption and Signature:**
|
||||
- **Encryption:** DMs are encrypted using the recipient’s public key, ensuring only the recipient with the corresponding private key can decrypt the message.
|
||||
- **Digital Signatures:** Messages are signed with the sender’s private key before encryption, allowing the recipient to verify the sender’s identity and the message’s integrity using the sender’s public key.
|
||||
- **Digital Signatures:** DMs are signed with the sender’s private key before encryption, allowing the recipient to verify the sender’s identity and the message’s integrity using the sender’s public key.
|
||||
|
||||
- **Security Enhancements with PKC:**
|
||||
- **Message Confidentiality and Integrity:** With PKC, each DM is encrypted and signed, ensuring that only the intended recipient can read the message, and verifying that it has not been tampered with.
|
||||
|
|
|
@ -88,6 +88,4 @@ In summary - wavelengths in Europe fair well in plain sight, curve over not-so-t
|
|||
|
||||
## Discussion
|
||||
|
||||
To comment on / join in antenna range [Meshtastic discourse](https://meshtastic.discourse.group/t/antenna-improved-range/227/35?u=sens8tion)
|
||||
|
||||
There, you will also find reference to Meshtastic range achievements and aerial recommendations. (Note we've stopped short of making specific supplier aerial recommendations in this wiki.)
|
||||
For further insights, join the conversation on antenna range and performance at [Meshtastic Discussions on GitHub.](https://github.com/orgs/meshtastic/discussions)
|
||||
|
|
|
@ -114,7 +114,7 @@ Image Source: [Heltec](<https://resource.heltec.cn/download/WiFi_LoRa32_V3/HTIT-
|
|||
- [Rokland](https://store.rokland.com/collections/heltec-products/products/heltec-wifi-lora-32v3)
|
||||
- International
|
||||
- [Heltec](https://heltec.org/project/wifi-lora-32-v3/)
|
||||
- [AliExpress](https://www.aliexpress.us/item/3256805256690400.html)
|
||||
- [AliExpress](https://www.aliexpress.us/item/3256807466584635.html)
|
||||
|
||||
</TabItem>
|
||||
|
||||
|
|
|
@ -5,6 +5,19 @@ sidebar_label: Buttons
|
|||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
<Tabs
|
||||
groupId="t-beam buttons"
|
||||
queryString="t-beam"
|
||||
defaultValue="t-beam"
|
||||
values={[
|
||||
{label: 'T-Beam', value: 't-beam'},
|
||||
{label: 'T-Beam Supreme', value:'t-beam-supreme'},
|
||||
]}>
|
||||
<TabItem value="t-beam">
|
||||
|
||||
## Functionality
|
||||
|
||||
- **Power Button (left):**
|
||||
|
@ -23,3 +36,32 @@ sidebar_position: 1
|
|||
width="200"
|
||||
align="center-right"
|
||||
/>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "t-beam-supreme">
|
||||
|
||||
:::info
|
||||
Be aware that the button layout differs on the T-Beam Supreme model.
|
||||
:::
|
||||
|
||||
## Functionality
|
||||
|
||||
- **Power Button (middle):**
|
||||
- **Long press:** Powers the device on or off.
|
||||
- **Reset Button (right):**
|
||||
- **Single press:** Resets the device.
|
||||
- **User/Program Button (left):**
|
||||
- **Long press:** Will signal the device to shutdown after 5 seconds.
|
||||
- **Single press:** Changes the information page displayed on the device's screen.
|
||||
- **Double press:** Sends an adhoc ping of the device's position to the network.
|
||||
- **Triple press:** Disables the device's GPS. Repeat to re-enable. (_This will be indicated on both information screen pages on the device's display as shown below_)
|
||||
|
||||
<img src="/img/hardware/GPS-disabled.webp" width="200" align="center-left" />
|
||||
<img
|
||||
src="/img/hardware/GPS-disabled-by-button.webp"
|
||||
width="200"
|
||||
align="center-right"
|
||||
/>
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
|
|
@ -37,17 +37,33 @@ The RAK5005-O is no longer in production. It is recommended to use the RAK19007
|
|||
- (x1) Reset Button
|
||||
- It may be possible to add a user button using the [13002 IO module](https://store.rakwireless.com/collections/wisblock-interface/products/adapter-module-rak13002).
|
||||
- **Connectors**
|
||||
- Connector for 3.7v LiPo battery (with charge controller)
|
||||
- Connector for 5v solar panel (max 5.5v)
|
||||
- I<sup>2</sup>C, UART, GPIOs and analog input accessible with solder contacts
|
||||
- Micro USB port for debugging and power
|
||||
- JST PHR-2 connector for 3.7v LiPo battery (with charge controller)
|
||||
- JST-ZHR-2 connector for 5v solar panel (max 5.5v)
|
||||
- I<sup>2</sup>C, UART, GPIOs and analog input accessible with solder contacts
|
||||
- Micro USB port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
|
||||
:::note
|
||||
The RAK5005 (without the -O) is not compatible.
|
||||
:::
|
||||
|
||||
### Connectors Diagram
|
||||
|
||||
<img
|
||||
alt="RAK19001-O Connectors"
|
||||
src="/img/hardware/rak5005-0_connectors.web"
|
||||
style={{ zoom: "50%" }}
|
||||
/>
|
||||
|
||||
### Voltages
|
||||
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- Charge controller max charge rate is 500mAh.
|
||||
- Minimum input voltage for charging is 3.3v, maximum 4.3v.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- Minimum input voltage to charge is 4.4v, maximum 5.5v.
|
||||
|
||||
Further information on the RAK5005-O can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK5005-O/Overview/#product-description).
|
||||
|
||||
<img
|
||||
|
@ -63,23 +79,39 @@ Further information on the RAK5005-O can be found on the [RAK Documentation Cent
|
|||
## RAK19007
|
||||
|
||||
- [RAK19007](https://store.rakwireless.com/products/rak19007-wisblock-base-board-2nd-gen) - WisBlock Base Board (2nd Generation, an upgrade to the RAK5005-O)
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x1) WisBlock IO Module slot
|
||||
- (x4) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- To add a user button, you can utilize the AIN1 pin, which is exposed as pin 31 in the firmware.
|
||||
- **Connectors**
|
||||
- Connector for 3.7v LiPo battery (with charge controller)
|
||||
- Connector for 5v solar panel (max 5.5v)
|
||||
- I<sup>2</sup>C, UART, BOOT and GPIOs accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x1) WisBlock IO Module slot
|
||||
- (x4) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- To add a user button, you can utilize the AIN1 pin, which is exposed as pin 31 in the firmware.
|
||||
- **Connectors**
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- I<sup>2</sup>C, UART, BOOT and GPIOs accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
|
||||
Further information on the RAK19007 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK19007/Overview/#product-description).
|
||||
|
||||
### Connectors Diagram
|
||||
|
||||
<img
|
||||
alt="RAK19007 Connectors"
|
||||
src="/img/hardware/rak19007_connectors.webp"
|
||||
style={{ zoom: "50%" }}
|
||||
/>
|
||||
|
||||
### Voltages
|
||||
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- Charge controller max charge rate is 350mAh.
|
||||
- Minimum input voltage for charging is 3.3v, maximum 4.3v.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- Minimum input voltage to charge is 4.4v, maximum 5.5v.
|
||||
|
||||
### Resources
|
||||
|
||||
- Purchase Links:
|
||||
|
@ -96,22 +128,38 @@ Further information on the RAK19007 can be found on the [RAK Documentation Cente
|
|||
## RAK19003
|
||||
|
||||
- [RAK19003](https://store.rakwireless.com/products/wisblock-base-board-rak19003) - WisBlock's Mini Base Board.
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x2) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- There is a 3rd party sensor module that breaks out the user button, available [here](https://www.etsy.com/de/listing/1254963521/mini-io-expansion-board-for-rak-wireless).
|
||||
- **Connectors**
|
||||
- Connector for 3.7v LiPo battery (with charge controller)
|
||||
- Connector for 5v solar panel (max 5.5v)
|
||||
- I<sup>2</sup>C, UART and BOOT headers accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x2) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- There is a 3rd party sensor module that breaks out the user button, available [here](https://www.etsy.com/de/listing/1254963521/mini-io-expansion-board-for-rak-wireless).
|
||||
- **Connectors**
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- I<sup>2</sup>C, UART and BOOT headers accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
|
||||
Further information on the RAK19003 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK19003/Overview/#product-description)
|
||||
|
||||
### Connectors Diagram
|
||||
|
||||
<img
|
||||
alt="RAK19003 Connectors"
|
||||
src="/img/hardware/rak19003_connectors.webp"
|
||||
style={{ zoom: "50%" }}
|
||||
/>
|
||||
|
||||
### Voltages
|
||||
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- Charge controller max charge rate is 350mAh.
|
||||
- Minimum input voltage for charging is 3.3v, maximum 4.3v.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- Minimum input voltage to charge is 4.4v, maximum 5.5v.
|
||||
|
||||
### Resources
|
||||
|
||||
- Purchase Links:
|
||||
|
@ -132,26 +180,45 @@ Further information on the RAK19003 can be found on the [RAK Documentation Cente
|
|||
## RAK19001
|
||||
|
||||
- [RAK19001](https://store.rakwireless.com/products/rak19001-wisblock-dual-io-base-board) - WisBlock's Dual IO Base Board.
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x2) WisBlock IO Module slot
|
||||
- (x6) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- (x1) User-defined push button switch
|
||||
- (x1) Battery selector switch
|
||||
- On this board the PIN for user button (IO5) is available as a solder contact on the upper header row.
|
||||
- **Connectors**
|
||||
- Connector for 3.7v LiPo battery (with charge controller)
|
||||
- Connector for 5v solar panel (max 5.5v)
|
||||
- Separate connector for non-rechargeable batteries
|
||||
- I<sup>2</sup>C, SPI, UART, BOOT and GPIOs accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
- **Slots**
|
||||
- (x1) Core Module slot
|
||||
- (x2) WisBlock IO Module slot
|
||||
- (x6) WisBlock Sensor Module slots
|
||||
- **Buttons**
|
||||
- (x1) Reset Button
|
||||
- (x1) User-defined push button switch
|
||||
- (x1) Battery selector switch
|
||||
- On this board the PIN for user button (IO5) is available as a solder contact on the upper header row.
|
||||
- **Connectors**
|
||||
- JST PHR-2 connector for 3.7v LiPo battery (with charge controller)
|
||||
- JST ZHR-2 connector for 5v solar panel (max 5.5v)
|
||||
- Separate FGH20005-S02M2W1B connector for non-rechargeable batteries
|
||||
- I<sup>2</sup>C, SPI, UART, BOOT and GPIOs accessible with solder contacts
|
||||
- USB-C port for debugging and power
|
||||
- **Screen Support**
|
||||
- OLED screen support (OLED screen sold separately)
|
||||
|
||||
Further information on the RAK19001 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK19001/Overview/#product-description).
|
||||
|
||||
### Connectors Diagram
|
||||
|
||||
<img
|
||||
alt="RAK19001 Connectors"
|
||||
src="/img/hardware/rak19001_connectors.webp"
|
||||
style={{ zoom: "50%" }}
|
||||
/>
|
||||
|
||||
### Voltages
|
||||
|
||||
- JST PHR-2 connector for 3.7v LiPo battery.
|
||||
- Charge controller max charge rate is 500mAh.
|
||||
- Minimum input voltage for charging is 3.3v, maximum 4.3v.
|
||||
- JST ZHR-2 connector for 5v solar panel.
|
||||
- Minimum input voltage to charge is 4.4v, maximum 5.5v.
|
||||
- FGH20005-S02M2W1B connector for non-rechargable battery.
|
||||
- Minimum required is 3.3v, typical 3.7v, maximum 5.5v.
|
||||
- Active battery is selected with the battery selector switch.
|
||||
|
||||
### Resources
|
||||
|
||||
- Purchase Links:
|
||||
|
|
|
@ -14,6 +14,6 @@ If you opt-in to analytics on the Android app (thank you - that helps us know wh
|
|||
|
||||
The search engine for this website is provided by Algolia, please see their [privacy policy](https://www.algolia.com/policies/privacy) for details of what information they collect.
|
||||
|
||||
This is an open-source project run by hobbyists, and we try to be completely transparent. If you have questions on this policy, please [post on the forum](https://meshtastic.discourse.group/), and we'll reply/clarify/correct.
|
||||
This is an open-source project run by hobbyists, and we try to be completely transparent. If you have questions on this policy, please [post on the Meshtastic Discussions page](https://github.com/orgs/meshtastic/discussions), and we'll reply/clarify/correct.
|
||||
|
||||
Keep being awesome!
|
||||
|
|
|
@ -41,8 +41,6 @@ The minimum Android version is 5.0 (Lollipop 2014, first BLE support), however A
|
|||
|
||||
There is a Play Store [testing program](https://play.google.com/apps/testing/com.geeksville.mesh) with the latest cutting edge changes, though this may come with extra bugs.
|
||||
|
||||
It is recommended that you follow the [Meshtastic Discourse Alpha Testers](https://meshtastic.discourse.group/c/development/alpha-testers) channel if you decide to join.
|
||||
|
||||
_Google Play and the Google Play logo are trademarks of Google LLC._
|
||||
|
||||
### Install by Sideloading
|
||||
|
@ -73,4 +71,4 @@ If you do sideload, you may have to give your browser permissions to run a packa
|
|||
|
||||
Obtainium allows you to install and update Open-Source Apps directly from their releases pages, and receive notifications when new releases are made available.
|
||||
|
||||
\*Alpha releases include the latest cutting edge changes which may come with extra bugs. It is recommended that you follow the [Meshtastic Discourse Alpha Testers](https://meshtastic.discourse.group/c/development/alpha-testers) channel if you decide to use these versions.
|
||||
\*Alpha releases include the latest cutting edge changes which may come with extra bugs. It is recommended that you follow the Meshtastic Alpha Testers Channel on [Discord](https://discord.com/invite/ktMAKGBnBs) if you decide to use these versions.
|
||||
|
|
|
@ -7,31 +7,30 @@ sidebar_position: 3
|
|||
|
||||
## Using MQTT with Node-RED
|
||||
|
||||
Node-RED is a free cross-platform programming tool for wiring together hardware, APIs, and online services developed originally by IBM for IOT. It is widely used for home automation by many non-professional programmers and runs well on Pi's. Node-RED has many plug-in modules written by the community.
|
||||
Node-RED is a free cross-platform programming tool for wiring together hardware, APIs, and online services developed originally by IBM for IOT. It is widely used for home automation by many non-professional programmers and runs well on Pi's. Node-RED has many plug-in modules written by the community.
|
||||
|
||||
I will use this platform as a practical example on how to interface with the MQTT features of Meshtastic. Everything can be done from GUI's without using command line.
|
||||
|
||||
|
||||
### Enabling MQTT
|
||||
|
||||
Use http://client.meshtastic.org/ , the python CLI, or an Apple or Android app to connect to your device and adjust these settings.
|
||||
|
||||
1. Settings--> Radio Config--> Network
|
||||
|
||||
1. Settings--> Radio Config--> Network
|
||||
- On the node that will act as the gateway between the mesh and MQTT enable a network connection (i.e. Wifi, Ethernet).
|
||||
- Save
|
||||
- On the node that will act as the gateway between the mesh and MQTT enable a network connection (i.e. Wifi, Ethernet).
|
||||
- Save
|
||||
|
||||
2. Settings--> Module Config--> MQTT config
|
||||
2. Settings--> Module Config--> MQTT config
|
||||
- Configure the MQTT gateway's network configuration.
|
||||
- Verify Encryption Enabled is OFF.
|
||||
- (optional) Turn JSON Output Enabled ON.
|
||||
- Save
|
||||
3. Channel Editor
|
||||
- Go to Channel Editor and enable Uplink and Downlink on the channels you wish to publish to MQTT.
|
||||
- Save
|
||||
|
||||
- Save
|
||||
|
||||
### Using Node-RED with Meshtastic
|
||||
|
||||
There are three common approaches:
|
||||
|
||||
1. Using JSON-encoded messages
|
||||
|
@ -39,6 +38,7 @@ There are three common approaches:
|
|||
3. Using protobuf-encoded messages with a protobuf decode node and the Meshtastic protobuf definitions
|
||||
|
||||
The JSON output only publishes the following subset of the messages on a Meshtastic network:
|
||||
|
||||
- Text Message
|
||||
- Telemetry
|
||||
- Device Metrics
|
||||
|
@ -54,11 +54,12 @@ The JSON output only publishes the following subset of the messages on a Meshtas
|
|||
> Protobufs are mesh native.
|
||||
|
||||
#### 1. Using JSON-encoded messages
|
||||
:::note
|
||||
|
||||
:::note
|
||||
JSON is not supported on the nRF52 platform.
|
||||
:::
|
||||
|
||||
Make sure that option *JSON Output Enabled* is set in MQTT module options and you have a channel called "mqtt".
|
||||
Make sure that option _JSON Output Enabled_ is set in MQTT module options and you have a channel called "mqtt".
|
||||
|
||||
Below is a valid JSON envelope for information sent by MQTT to a device for broadcast onto the mesh. The `to` field is optional and can be omitted for broadcast. The `channel` field is also optional and can be omitted to send to the primary channel.
|
||||
|
||||
|
@ -71,7 +72,9 @@ Below is a valid JSON envelope for information sent by MQTT to a device for broa
|
|||
"payload": text or a json object go here
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. Using protobuf-encoded messages with the Meshtastic decode node
|
||||
|
||||
Install Node-Red plug-in:
|
||||
https://flows.nodered.org/node/@meshtastic/node-red-contrib-meshtastic
|
||||
|
||||
|
@ -80,10 +83,9 @@ More info is in the plug-in source repository.
|
|||
There is an example flow using this mechanism available
|
||||
https://github.com/scruplelesswizard/meshtastic-node-red
|
||||
|
||||
|
||||
#### 3. Using protobuf-encoded messages with a protobuf decode node and the Meshtastic protobuf definitions
|
||||
|
||||
If you don't want to depend on JSON decoding on the device, you can decode the protobuf messages off-device. To do that you will need to get the .proto files from https://github.com/meshtastic/protobufs. They function as a schema and are required for decoding in Node-RED. Save the files where the node-RED application can access them and note the file path of the "mqtt.proto" file.
|
||||
If you don't want to depend on JSON decoding on the device, you can decode the protobuf messages off-device. To do that you will need to get the .proto files from https://github.com/meshtastic/protobufs. They function as a schema and are required for decoding in Node-RED. Save the files where the node-RED application can access them and note the file path of the "mqtt.proto" file.
|
||||
|
||||
Install Node-RED plug-ins to your Node-RED application for an embedded MQTT server and a protobuf decoder.
|
||||
https://flows.nodered.org/node/node-red-contrib-aedes
|
||||
|
@ -91,20 +93,20 @@ https://flows.nodered.org/node/node-red-contrib-protobuf
|
|||
|
||||
Drag, drop, and wire the nodes like this. For this example, I ran Node-RED on a Windows machine. Note that file paths might be specified differently on different platforms. MQTT server wild cards are usually the same. A "+" is a single level wildcard for a specific topic level. A "#" is a multiple level wildcard that can be used at the end of a topic filter. The debug messages shown are what happens when the inject button sends a JSON message with a topic designed to be picked up by the specified Meshtastic device and then having it rebroadcast the message.
|
||||
|
||||
[<img src="/documents/mqtt/NodeRedTwo.jpg" style={{zoom:'50%'}} />](/documents/mqtt/NodeRedTwo.jpg)
|
||||
[<img src="/documents/mqtt/NodeRedThree.jpg" style={{zoom:'50%'}} />](/documents/mqtt/NodeRedThree.jpg)
|
||||
[<img src="/documents/mqtt/NR_nodes.jpg" style={{zoom:'50%'}} />](/documents/mqtt/NR_nodes.jpg)
|
||||
[<img src="/documents/mqtt/NodeRedTwo.webp" style={{zoom:'50%'}} />](/documents/mqtt/NodeRedTwo.webp)
|
||||
[<img src="/documents/mqtt/NodeRedThree.webp" style={{zoom:'50%'}} />](/documents/mqtt/NodeRedThree.webp)
|
||||
[<img src="/documents/mqtt/NR_nodes.webp" style={{zoom:'50%'}} />](/documents/mqtt/NR_nodes.webp)
|
||||
|
||||
The aedes broker must be set up on the same flow as the other nodes. By activating the Publish debug node, you can see all the published messages.
|
||||
[<img src="/documents/mqtt/Broker1.jpg" style={{zoom:'50%'}} />](/documents/mqtt/Broker1.jpg)
|
||||
[<img src="/documents/mqtt/Broker1.webp" style={{zoom:'50%'}} />](/documents/mqtt/Broker1.webp)
|
||||
Receiving a json mqtt message is very simple.
|
||||
[<img src="/documents/mqtt/Consume.jpg" style={{zoom:'50%'}} />](/documents/mqtt/Consume.jpg)
|
||||
[<img src="/documents/mqtt/Consume.webp" style={{zoom:'50%'}} />](/documents/mqtt/Consume.webp)
|
||||
Injecting a json message to be sent by a device is also very simple. You do need the correct envelope.
|
||||
[<img src="/documents/mqtt/Inject.jpg" style={{zoom:'50%'}} />](/documents/mqtt/Inject.jpg)
|
||||
[<img src="/documents/mqtt/Inject.webp" style={{zoom:'50%'}} />](/documents/mqtt/Inject.webp)
|
||||
Forwarding a text message from one device, through a broker, to another broker/device/channel would look like this.
|
||||
[<img src="/documents/mqtt/Forward.jpg" style={{zoom:'50%'}} />](/documents/mqtt/Forward.jpg)
|
||||
[<img src="/documents/mqtt/Forward.webp" style={{zoom:'50%'}} />](/documents/mqtt/Forward.webp)
|
||||
If you want to decode text and position messages without json, it gets complicated:
|
||||
[<img src="/documents/mqtt/DecodeNewest.jpg" style={{zoom:'50%'}} />](/documents/mqtt/DecodeNewest.jpg)
|
||||
[<img src="/documents/mqtt/DecodeNewest.webp" style={{zoom:'50%'}} />](/documents/mqtt/DecodeNewest.webp)
|
||||
If you are interested in my flow for this it is here:
|
||||
|
||||
```json
|
||||
|
@ -669,10 +671,10 @@ If you are interested in my flow for this it is here:
|
|||
(documents/mqtt/Flow.txt)
|
||||
|
||||
Node-red can rapidly (minutes vs days) put together some pretty impressive output when paired with meshtastic. Here is the output of that flow geofencing and mapping via mqtt data.
|
||||
[<img src="/documents/mqtt/Mapping.jpg" style={{zoom:'50%'}} />](/documents/mqtt/Mapping.jpg)
|
||||
[<img src="/documents/mqtt/Mapping.webp" style={{zoom:'50%'}} />](/documents/mqtt/Mapping.webp)
|
||||
|
||||
Advanced use, such as encoding Position and sending it to a device via MQTT without using JSON can get a little complicated. An example of how it can be done is below.
|
||||
[<img src="/documents/mqtt/EncodingPosition.jpg" style={{zoom:'50%'}} />](/documents/mqtt/EncodingPosition.jpg)
|
||||
[<img src="/documents/mqtt/EncodingPosition.webp" style={{zoom:'50%'}} />](/documents/mqtt/EncodingPosition.webp)
|
||||
The flow is:
|
||||
|
||||
```json
|
||||
|
@ -1001,4 +1003,4 @@ Sending a position to a device for broadcast to the mesh is much easier with JSO
|
|||
```
|
||||
|
||||
An example of doing this in node-red:
|
||||
[<img src="/documents/mqtt/PosJSON.jpg" style={{zoom:'50%'}} />](/documents/mqtt/PosJSON.jpg)
|
||||
[<img src="/documents/mqtt/PosJSON.webp" style={{zoom:'50%'}} />](/documents/mqtt/PosJSON.webp)
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Meshtastic Python CLI installation
|
|||
sidebar_label: Installation
|
||||
slug: /software/python/cli/installation
|
||||
sidebar_position: 1
|
||||
description: This page offers comprehensive instructions on methods of installing the Meshtastic Python CLI across different operating systems.
|
||||
description: This page offers comprehensive instructions on methods of installing the Meshtastic Python CLI across different operating systems.
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
|
@ -54,7 +54,7 @@ values={[
|
|||
- You should see something like:
|
||||
- `ID 10c4:ea60 Silicon Labs CP210x UART Bridge` for CP210X
|
||||
- `ID 1a86:55d4 QinHeng Electronics USB Single Serial` for CH9102
|
||||
- If there is no seral device shown that matches the device you are using, please review our [Install Serial Drivers](/docs/getting-started/serial-drivers/) page before proceeding.
|
||||
- If there is no seral device shown that matches the device you are using, please review our [Install Serial Drivers](/docs/getting-started/serial-drivers/) page before proceeding.
|
||||
|
||||
- Check that your computer has Python 3 installed.
|
||||
|
||||
|
@ -102,10 +102,10 @@ values={[
|
|||
```shell
|
||||
sudo apt install pipx && pipx install meshtastic
|
||||
```
|
||||
- If using `pipx` it may be necessary to update `$PATH` by running:
|
||||
```shell
|
||||
pipx ensurepath
|
||||
```
|
||||
- If using `pipx` it may be necessary to update `$PATH` by running:
|
||||
```shell
|
||||
pipx ensurepath
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="macos">
|
||||
|
@ -210,7 +210,7 @@ When installing Python, make sure to select the option to "Add Python to PATH" o
|
|||
```
|
||||
|
||||
:::note
|
||||
Be aware that the Meshtastic CLI is not able to control the nodes over USB through termux, but you can control devices over Wifi using the `--host x.x.x.x` option with the device IP address (ESP32 or Pico W only). Wifi connection is currently under development and may not be working properly just yet. If you would like to provide feedback or test this feature, please visit our [forum](https://meshtastic.discourse.group) or join our [Discord server](https://discord.gg/ktMAKGBnBs) for more information.
|
||||
Be aware that the Meshtastic CLI is not able to control the nodes over USB through termux, but you can control devices over Wifi using the `--host x.x.x.x` option with the device IP address (ESP32 or Pico W only). Wifi connection is currently under development and may not be working properly just yet. If you would like to provide feedback or test this feature, please join our [Discord server](https://discord.gg/ktMAKGBnBs) for more information.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -218,7 +218,6 @@ Be aware that the Meshtastic CLI is not able to control the nodes over USB throu
|
|||
|
||||
**You may need to close and re-open the CLI. The path variables may or may not update for the current session when installing.**
|
||||
|
||||
|
||||
### Standalone Installation (Ubuntu only)
|
||||
|
||||
1. Download the `meshtastic_ubuntu` executable from the [Releases](https://github.com/meshtastic/Meshtastic-python/releases) page.
|
||||
|
@ -227,6 +226,7 @@ Be aware that the Meshtastic CLI is not able to control the nodes over USB throu
|
|||
```shell
|
||||
chmod +x meshtastic_ubuntu && mv meshtastic_ubuntu meshtastic
|
||||
```
|
||||
|
||||
3. To run the CLI:
|
||||
|
||||
```shell
|
||||
|
|
|
@ -14,7 +14,7 @@ The `meshtastic` command is not run within python but is a script run from your
|
|||
|
||||
## Viewing Serial Output
|
||||
|
||||
The `--noproto` command in the Meshtastic Python CLI is used to disable the API and function merely as a "dumb serial terminal." This mode of operation allows both the API and device functionalities to remain accessible for regular use, while simultaneously providing a window into the raw serial output. This feature can be particularly useful for debugging, development, or understanding the low-level communication between devices. Depends on a physically cabled serial connection. It will connect but not display information over a network (--host) or Bluetooth (--ble) connection.
|
||||
The `--noproto` command in the Meshtastic Python CLI is used to disable the API and function merely as a "dumb serial terminal." This mode of operation allows both the API and device functionalities to remain accessible for regular use, while simultaneously providing a window into the raw serial output. This feature can be particularly useful for debugging, development, or understanding the low-level communication between devices. Depends on a physically cabled serial connection. It will connect but not display information over a network (--host) or Bluetooth (--ble) connection.
|
||||
|
||||
```shellsession title="Example Usage"
|
||||
user@host % meshtastic --noproto
|
||||
|
@ -112,12 +112,12 @@ Writing modified channels to device
|
|||
|
||||
Toggling `set-ham` changes your device settings in the following ways.
|
||||
|
||||
| Setting | `set-ham` Default | Normal Default |
|
||||
| :----------: | :---------------: | :------------------------------------------------------------------------: |
|
||||
| Setting | `set-ham` Default | Normal Default |
|
||||
| :----------: | :---------------: | :----------------------------------------------------------------------------: |
|
||||
| `IsLicensed` | `true` | See [User Config - IsLicensed](/docs/configuration/radio/user#is-licensed-ham) |
|
||||
| `LongName` | _Your CallSign_ | See [User Config - LongName](/docs/configuration/radio/user#long-name) |
|
||||
| `ShortName` | _Abrv CallSign_ | See [User Config - ShortName](/docs/configuration/radio/user#short-name) |
|
||||
| `PSK` | `""` | See [Channel Settings - PSK](#changing-the-preshared-key) |
|
||||
| `PSK` | `""` | See [Channel Settings - PSK](#changing-the-preshared-key) |
|
||||
|
||||
## Changing the preshared key
|
||||
|
||||
|
@ -190,6 +190,7 @@ meshtastic --ble AA11BB22-CC33-DD44-EE55-FF6677889900 --info
|
|||
```shell
|
||||
meshtastic --ble Meshtastic_1234 --nodes
|
||||
```
|
||||
|
||||
#### Export device config with --export-config
|
||||
|
||||
```shell
|
||||
|
@ -214,8 +215,6 @@ This is a collection of common questions and answers from our friendly forum.
|
|||
|
||||
### Permission denied: ‘/dev/ttyUSB0’
|
||||
|
||||
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.
|
||||
|
||||
```shell
|
||||
|
@ -236,4 +235,4 @@ There is a problem with Big Sur and pyserial. The workaround is to install a new
|
|||
|
||||
```shell
|
||||
pip3 install -U --pre pyserial
|
||||
```
|
||||
```
|
||||
|
|
|
@ -29,7 +29,7 @@ DFU
|
|||
: Device Firmware Update, a state which a device is placed into for it to receive a firmware update
|
||||
|
||||
ESP32 | [Drivers](/docs/getting-started/serial-drivers/esp32/) | [Firmware](/docs/getting-started/flashing-firmware/esp32/)
|
||||
: A chipset of microcontroller made/designed by Espressif, used by a number of devices. Higher power usage than NRF52, but often cheaper and supports WiFi if desired.
|
||||
: A chipset of microcontroller made/designed by Espressif, used by a number of devices. Higher power usage than NRF52, but often cheaper and supports WiFi if desired.
|
||||
|
||||
Firmware | [Guide](https://meshtastic.org/docs/getting-started/flashing-firmware/)
|
||||
: The low-level software programmed onto a Meshtastic device, controlling its hardware functions and enabling it to communicate within the mesh network using LoRa technology. Firmware
|
||||
|
@ -73,9 +73,12 @@ Packet
|
|||
Protobuf | [Reference](/docs/development/reference/protobufs/)
|
||||
: Protocol Buffers, a method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices.
|
||||
|
||||
PSK | [Encryption](/docs/overview/encryption/)
|
||||
Pre-Shared Key (PSK) | [Encryption](/docs/overview/encryption/)
|
||||
: Pre-Shared Key, a secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel.
|
||||
|
||||
Public Key Cryptography (PKC) | [Encryption](/docs/overview/encryption/)
|
||||
: A cryptographic method introduced in Meshtastic v2.5 for Direct Messages and Admin Messages, where each device uses a unique public and private key pair. The public key, shared with other devices, enables secure message encryption, while the private key allows only the intended recipient to decrypt and authenticate the message. This approach enhances privacy and integrity for both direct device-to-device communication and sensitive admin functions.
|
||||
|
||||
Repeater | [Role Definitions](/docs/configuration/radio/device/#roles)
|
||||
: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list.
|
||||
|
||||
|
|
|
@ -2997,8 +2997,8 @@ packages:
|
|||
resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
http-proxy-middleware@2.0.6:
|
||||
resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
|
||||
http-proxy-middleware@2.0.7:
|
||||
resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
peerDependencies:
|
||||
'@types/express': ^4.17.13
|
||||
|
@ -9380,7 +9380,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
http-proxy-middleware@2.0.6(@types/express@4.17.21):
|
||||
http-proxy-middleware@2.0.7(@types/express@4.17.21):
|
||||
dependencies:
|
||||
'@types/http-proxy': 1.17.15
|
||||
http-proxy: 1.18.1
|
||||
|
@ -12130,7 +12130,7 @@ snapshots:
|
|||
express: 4.21.0
|
||||
graceful-fs: 4.2.11
|
||||
html-entities: 2.5.2
|
||||
http-proxy-middleware: 2.0.6(@types/express@4.17.21)
|
||||
http-proxy-middleware: 2.0.7(@types/express@4.17.21)
|
||||
ipaddr.js: 2.2.0
|
||||
launch-editor: 2.9.1
|
||||
open: 8.4.2
|
||||
|
|
|
@ -7,10 +7,10 @@ export default function GiscusComponent() {
|
|||
|
||||
return (
|
||||
<Giscus
|
||||
repo="meshtastic/meshtastic"
|
||||
repoId="MDEwOlJlcG9zaXRvcnkzMzkzMDEyMjI="
|
||||
repo="meshtastic/discussions"
|
||||
repoId="R_kgDONDs6gA"
|
||||
category="Blog Post Comments"
|
||||
categoryId="DIC_kwDOFDlTZs4Choq7"
|
||||
categoryId="DIC_kwDONDs6gM4Cjy3h"
|
||||
mapping="pathname"
|
||||
term="specific-term" //If you didn't select "Discussion title contains a specific term", omit.
|
||||
strict="1"
|
||||
|
|
|
@ -65,17 +65,6 @@ const SocialCards: SocialCardProps[] = [
|
|||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
color: "bg-[#ffffff]",
|
||||
link: "https://meshtastic.discourse.group",
|
||||
children: (
|
||||
<img
|
||||
alt="discourse"
|
||||
className="m-auto h-10"
|
||||
src="/img/homepage/Discourse-Logo-White.svg"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
color: "bg-[#FF4500]",
|
||||
link: "https://reddit.com/r/meshtastic",
|
||||
|
|
Before Width: | Height: | Size: 25 KiB |
BIN
static/documents/mqtt/Broker1.webp
Normal file
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 37 KiB |
BIN
static/documents/mqtt/Consume.webp
Normal file
After Width: | Height: | Size: 9 KiB |
Before Width: | Height: | Size: 129 KiB |
BIN
static/documents/mqtt/Decode.webp
Normal file
After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 148 KiB |
BIN
static/documents/mqtt/DecodeNewest.webp
Normal file
After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 143 KiB |
BIN
static/documents/mqtt/EncodingPosition.webp
Normal file
After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 121 KiB |
BIN
static/documents/mqtt/Forward.webp
Normal file
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 36 KiB |
BIN
static/documents/mqtt/Inject.webp
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 168 KiB |
BIN
static/documents/mqtt/MapFlow.webp
Normal file
After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 191 KiB |
BIN
static/documents/mqtt/Mapping.webp
Normal file
After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 146 KiB |
BIN
static/documents/mqtt/NR_nodes.webp
Normal file
After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 415 KiB |
BIN
static/documents/mqtt/NodeRedThree.webp
Normal file
After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 409 KiB |
BIN
static/documents/mqtt/NodeRedTwo.webp
Normal file
After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 95 KiB |
BIN
static/documents/mqtt/PosJSON.webp
Normal file
After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 2.3 MiB |
BIN
static/img/hardware/lora_v1_with_DS18B20.webp
Normal file
After Width: | Height: | Size: 957 KiB |
BIN
static/img/hardware/rak19001_connectors.webp
Normal file
After Width: | Height: | Size: 285 KiB |
BIN
static/img/hardware/rak19003_connectors.webp
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
static/img/hardware/rak19007_connectors.webp
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
static/img/hardware/rak5005-0_connectors.webp
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
static/img/modules/Serial/jet.webp
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
static/img/records/node_a.webp
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
static/img/records/node_b.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
static/img/records/topographical_map.webp
Normal file
After Width: | Height: | Size: 103 KiB |