Merge branch 'master' into i18n
|
@ -11,9 +11,9 @@ Meshtastic® is a project that enables you to use inexpensive LoRa radios as a l
|
|||
|
||||
### Features
|
||||
|
||||
- Long range ([_206km record by StarWatcher, CVR, rook, kboxlabs_](/docs/overview/range-tests#current-record))
|
||||
- Long range ([_254km record by kboxlabs_](/docs/overview/range-tests#current-record))
|
||||
- No phone required for mesh communication
|
||||
- Decentralised communication - no dedicated router required
|
||||
- Decentralized communication - no dedicated router required
|
||||
- Encrypted communication
|
||||
- Excellent battery life
|
||||
- Send and receive text messages between members of the mesh
|
||||
|
|
|
@ -109,7 +109,7 @@ Some example settings:
|
|||
|
||||
The link budget used by these calculations assumes a transmit power of 17dBm and an antenna with 0dB gain. Adjust your link budget assumptions based on your actual devices.
|
||||
|
||||
These channel settings may not have been tested. Use at your own discretion. Share on <https://meshtastic.discourse.group> with your successes or failure.
|
||||
These channel settings may not have been tested. Use at your own discretion. Share on https://meshtastic.discourse.group with your successes or failure.
|
||||
|
||||
## Cryptography
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@ sidebar_position: 4
|
|||
|
||||
## Current Record
|
||||
|
||||
- **Range:** 206km (128 miles)
|
||||
- **Record Holders:** _StarWatcher, CVR, rook, kboxlabs_
|
||||
- **Source:** [Meshtastic Discourse](https://meshtastic.discourse.group/t/practical-range-test-results/692/130)
|
||||
- **Range:** 254km (158 miles)
|
||||
- **Record Holders:** _kboxlabs_
|
||||
- **Source:** [Meshtastic Discourse](https://meshtastic.discourse.group/t/practical-range-test-results/692/137)
|
||||
|
||||
### Modem Settings
|
||||
|
||||
|
@ -22,10 +22,49 @@ Default Long_Fast
|
|||
|
||||
### Node A
|
||||
|
||||
- **Device:** [RAK4631 Core](https://meshtastic.org/docs/hardware/devices/rak/core-module) with [RAK 5005-O Base Board](https://meshtastic.org/docs/hardware/devices/rak/base-board)
|
||||
- **Firmware Version:** 2.1.17
|
||||
- **Antenna:** 902-928MHz 5.8 dBi Slinkdsco Outdoor
|
||||
|
||||
### Node B
|
||||
|
||||
- **Device:** [RAK4631 Core](https://meshtastic.org/docs/hardware/devices/rak/core-module) with [RAK 19003 Mini Base Board](https://meshtastic.org/docs/hardware/devices/rak/base-board)
|
||||
- **Firmware Version:** 2.1.18
|
||||
- **Antenna:** Standard LoRa 915MHz 60mm 2dBi Omnidirectional
|
||||
|
||||
<img src="/img/records/kboxlabs_sender.png" alt="Sending Node" />
|
||||
|
||||
<img src="/img/records/kboxlabs_receiver.png" alt="Receiving Node" />
|
||||
|
||||
<img src="/img/records/kboxlabs_map.png" alt="Geographic Locations" />
|
||||
|
||||
|
||||
## Previous Record
|
||||
|
||||
- **Range:** 206km (128 miles)
|
||||
- **Record Holders:** _StarWatcher, CVR, rook, kboxlabs_
|
||||
- **Source:** [Meshtastic Discourse](https://meshtastic.discourse.group/t/practical-range-test-results/692/130)
|
||||
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
### Modem Settings
|
||||
|
||||
Default Long_Fast
|
||||
- **Frequency:** 915MHz
|
||||
- **Bandwidth:** 250
|
||||
- **Spread Factor:** 11
|
||||
- **Coding Rate:** 4/8
|
||||
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
### Node A
|
||||
|
||||
- **Device:** [LILYGO TTGO T-Beam](/docs/hardware/devices/tbeam)
|
||||
- **Firmware Version:** 2.1.10
|
||||
- **Antenna:** Stock Antenna
|
||||
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
### Node B
|
||||
|
||||
- **Device:** [LILYGO TTGO T-Beam](/docs/hardware/devices/tbeam)
|
||||
|
@ -38,6 +77,7 @@ Default Long_Fast
|
|||
|
||||
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Previous Record
|
||||
|
||||
- **Range:** 166km (103 miles)
|
||||
|
|
|
@ -48,7 +48,7 @@ Each channel is assigned one of 3 roles:
|
|||
1. `PRIMARY` or `1`
|
||||
- This is the first channel that is created for you on initial setup.
|
||||
- Only one primary channel can exist and can not be disabled.
|
||||
- Direct messages are only available on this channel.
|
||||
- Periodic broadcasts like position and telemetry are only sent over this channel.
|
||||
2. `SECONDARY` or `2`
|
||||
- Can modify the encryption key (PSK).
|
||||
3. `DISABLED` or `0`
|
||||
|
|
|
@ -35,7 +35,7 @@ This setting defines the device's behavior for how messages are rebroadcasted.
|
|||
| Value | Description |
|
||||
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| `ALL` | ALL (Default) - This setting will rebroadcast ALL messages from its primary mesh as well as other meshes with the same modem settings, including when encryption settings differ. |
|
||||
| `All_SKIP_DECODING` | ALL_SKIP_DECODING - Same as behavior as ALL, but skips packet decoding and simply rebroadcasts them. **Only available with Repeater role.** |
|
||||
| `ALL_SKIP_DECODING` | ALL_SKIP_DECODING - Same as behavior as ALL, but skips packet decoding and simply rebroadcasts them. **Only available with Repeater role.** |
|
||||
| `LOCAL_ONLY` | LOCAL_ONLY - Ignores observed messages from foreign meshes that are open or those which it cannot decrypt. Only rebroadcasts message on the nodes local primary / secondary channels. |
|
||||
|
||||
### Serial Console
|
||||
|
|
|
@ -17,5 +17,5 @@ There are several config sections in the Meshtastic firmware, these are broken o
|
|||
| [LoRa](/docs/settings/config/lora) | The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Disabled and Ignore Incoming Array. |
|
||||
| [Network](/docs/settings/config/network) | Network config options are: WiFi Enabled, WiFi SSID, WiFi PSK, WiFi Mode and NTP Server. |
|
||||
| [Position](/docs/settings/config/position) | Position config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Broadcast Interval and Position Packet Flags. |
|
||||
| [Power](/docs/settings/config/power) | Power config options are: Charge Current, Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Mesh Super Deep Sleep Timeout, Super Deep Sleep Interval, Light Sleep Interval and Minimum Wake Interval. |
|
||||
| [Power](/docs/settings/config/power) | Power config options are: Charge Current, Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Light Sleep Interval and Minimum Wake Interval. |
|
||||
| [User](/docs/settings/config/user) | The user config options are: Long Name, Short Name, and Is Licensed |
|
||||
|
|
|
@ -36,7 +36,7 @@ The presets are designed to provide further options for optimizing either speed
|
|||
1. A high number of devices exist in the mesh, or messages are sent very frequently. Faster speeds (and therefore lower radio time per device) can help with mesh network congestion.
|
||||
2. Maximum range is desired, for long range scenarios where a several second delay in message receipt is acceptable (for instance, attempting to send messages from a town to a distant mountain top).
|
||||
|
||||
The Presets available are as follows, and follow a linear pattern of Fastest <--> Slowest, and Shortest <--> Longest range:
|
||||
The Presets available are as follows, and follow a linear pattern of Fastest \<\-\-\> Slowest, and Shortest \<\-\-\> Longest range:
|
||||
|
||||
1. `SHORT_FAST` (Fastest, highest bandwidth, lowest airtime, shortest range)
|
||||
|
||||
|
@ -81,7 +81,7 @@ Please be aware that values < 62.5kHz may require a TCXO on some hardware device
|
|||
|
||||
### Spread Factor
|
||||
|
||||
A number from 7 to 12. Indicates the number of chirps per symbol as 1<<spread_factor.
|
||||
A number from 7 to 12. Indicates the number of chirps per symbol as 1[\<\<]spread_factor.
|
||||
|
||||
### Coding Rate
|
||||
|
||||
|
|
|
@ -8,31 +8,31 @@ sidebar_label: Position
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
The position config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Broadcast Interval and Position Packet Flags. Position config uses an admin message sending a `Config.Position` protobuf.
|
||||
The position config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Smart Broadcast Minimum Distance, Smart Broadcast Minimum Interval, Broadcast Interval, Position Packet Flags, and GPS RX/TX Pins. Position config uses an admin message sending a `Config.Position` protobuf.
|
||||
|
||||
Position data from GPS is provided by either the radio or your paired phone. Position data is not required to use Meshtastic but time calculations require at least one device on the mesh have either a GPS or internet connection for time.
|
||||
|
||||
## Position Config Values
|
||||
|
||||
### GPS Disabled
|
||||
### GPS Enabled
|
||||
|
||||
Acceptable values: `true` or `false`
|
||||
|
||||
Defaults to false. Should the device GPS be disabled for this node?
|
||||
Defaults to true. Enables GPS on the node.
|
||||
|
||||
### GPS Update Interval
|
||||
|
||||
How often should we try to get GPS position (in seconds), or zero for the default of once every 30 seconds, or a very large value (maxint) to update only once at boot.
|
||||
How often we should try to get GPS position (in seconds), or zero for the default of once every 2 minutes, or a very large value (maxint) to update only once at boot.
|
||||
|
||||
### GPS Attempt Time
|
||||
|
||||
How long should we try to get our position during each GPS update interval attempt? (in seconds) Or if zero, use the default of 30 seconds.
|
||||
How long should we try to get our position during each GPS update interval attempt? (in seconds) Or if zero, use the default of 15 minutes.
|
||||
|
||||
### Fixed Position
|
||||
|
||||
Acceptable values: `true` or `false`
|
||||
|
||||
Off by default
|
||||
False by default
|
||||
|
||||
If set, this node is at a fixed position. The device will generate GPS updates at the regular GPS update interval, but use whatever the last lat/lon/alt it saved for the node. The lat/lon/alt can be set by an internal GPS or with the help of the mobile device's GPS.
|
||||
|
||||
|
@ -40,7 +40,7 @@ If set, this node is at a fixed position. The device will generate GPS updates a
|
|||
|
||||
Acceptable values: `true` or `false`
|
||||
|
||||
On by default
|
||||
True by default
|
||||
|
||||
Smart broadcast will send out your position at an increased frequency only if your location has changed enough for a position update to be useful.
|
||||
|
||||
|
@ -48,17 +48,29 @@ Smart broadcast complements broadcast interval (doesn't override that setting) b
|
|||
|
||||
Smart broadcast will calculate an ideal position update interval based on the data rate of your selected channel configuration.
|
||||
|
||||
### Smart Broadcast Minimum Distance
|
||||
|
||||
Default of `0` is 100 meters
|
||||
|
||||
The minimum distance in meters traveled (since the last send) before we can send a position to the mesh if smart broadcast is enabled.
|
||||
|
||||
### Smart Broadcast Minimum Interval
|
||||
|
||||
Default of `0` is 30 seconds
|
||||
|
||||
The minimum number of seconds (since the last send) before we can send a position to the mesh if smart broadcast is enabled.
|
||||
|
||||
### Broadcast Interval
|
||||
|
||||
Default of `0` is 15 minutes
|
||||
|
||||
If smart broadcast is of we should send our position this often (but only if it has changed significantly)
|
||||
If smart broadcast is off we should send our position this often (but only if it has changed significantly)
|
||||
|
||||
The GPS updates will be sent out every Broadcast Interval, with either the actual GPS location, or an empty location if no GPS fix was achieved. This defaults to broadcast every 15 minutes.
|
||||
The GPS updates will be sent out every Broadcast Interval, with either the actual GPS location, or an empty location if no GPS fix was achieved.
|
||||
|
||||
### Position Flags
|
||||
|
||||
Bit field of boolean configuration options for POSITION messages (bitwise OR of PositionFlags)
|
||||
Defines which options are sent in POSITION messages. Values are stored as a bit field of boolean configuration options (bitwise OR of PositionFlags).
|
||||
|
||||
| Value | Description |
|
||||
| :----------------: | :--------------------------------------------------------------: |
|
||||
|
@ -116,17 +128,19 @@ All Position config commands are available in the python CLI. Example commands a
|
|||
|
||||
:::
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------: |
|
||||
| position.gps_enabled | `true`, `false` | `true` |
|
||||
| position.gps_update_interval | `integer` (seconds) | Default `0` is 30 Seconds |
|
||||
| position.gps_attempt_time | `integer` (seconds) | Default of `0` is 30 Seconds |
|
||||
| position.fixed_position | `true`, `false` | `false` |
|
||||
| position.position_broadcast_smart_enabled | `true`, `false` | `true` |
|
||||
| position.position_broadcast_secs | `integer` (seconds) | Default of `0` is 15 Minutes |
|
||||
| position.flags | `UNSET`, `ALTITUDE`, `ALTITUDE_MSL`, `GEOIDAL_SEPARATION`, `DOP`, `HVDOP`, `PDOP`, `SATINVIEW`, `SEQ_NO`, `TIMESTAMP`, `HEADING`, `SPEED` | `UNSET` |
|
||||
| position.rx_gpio | `integer` (0-39) | `UNSET` |
|
||||
| position.tx_gpio | `integer` (0-34) | `UNSET` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------: |
|
||||
| position.gps_enabled | `true`, `false` | `true` |
|
||||
| position.gps_update_interval | `integer` (seconds) | Default `0` is 2 Minutes |
|
||||
| position.gps_attempt_time | `integer` (seconds) | Default of `0` is 15 Minutes |
|
||||
| position.fixed_position | `true`, `false` | `false` |
|
||||
| position.position_broadcast_smart_enabled | `true`, `false` | `true` |
|
||||
| position.broadcast_smart_minimum_distance | `integer` (meters) | Default of `0` is 100 Meters |
|
||||
|position.broadcast_smart_minimum_interval_secs| `integer` (seconds) | Default of `0` is 15 Minutes |
|
||||
| position.position_broadcast_secs | `integer` (seconds) | Default of `0` is 30 Seconds |
|
||||
| position.flags | `UNSET`, `ALTITUDE`, `ALTITUDE_MSL`, `GEOIDAL_SEPARATION`, `DOP`, `HVDOP`, `PDOP`, `SATINVIEW`, `SEQ_NO`, `TIMESTAMP`, `HEADING`, `SPEED` | `UNSET` |
|
||||
| position.rx_gpio | `integer` (0-39) | `UNSET` |
|
||||
| position.tx_gpio | `integer` (0-34) | `UNSET` |
|
||||
|
||||
:::tip
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ import calculateADC from "/src/utils/calculateADC";
|
|||
Power settings are advanced configuration, most users should choose a role under [Device Config](/docs/settings/config/device) to manage power for their device and shouldn't ever need to adjust these settings.
|
||||
:::
|
||||
|
||||
The power config options are: Power Saving, Shutdown after losing power, ADC Multiplier Override, Wait Bluetooth Interval, Mesh Super Deep Sleep Timeout, Super Deep Sleep Interval, Light Sleep Interval, and Minimum Wake Interval. Power config uses an admin message sending a `Config.Power` protobuf.
|
||||
The power config options are: Power Saving, Shutdown after losing power, ADC Multiplier Override, Wait Bluetooth Interval, Light Sleep Interval, Minimum Wake Interval, and Device Battery INA2xx Address. Power config uses an admin message sending a `Config.Power` protobuf.
|
||||
|
||||
:::info
|
||||
ADC Multiplier, Super Deep Sleep, and Light Sleep settings only apply to ESP32-based boards. These settings will have no effect on nRF52 modules.
|
||||
ADC Multiplier, The Light Sleep setting only applies to ESP32-based boards. This settings will have no effect on nRF52 modules.
|
||||
:::
|
||||
|
||||
## Power Config Values
|
||||
|
@ -95,20 +95,6 @@ How long to wait before turning off BLE in no Bluetooth states
|
|||
|
||||
`0` for default of 1 minute
|
||||
|
||||
### Mesh Super Deep Sleep Timeout
|
||||
|
||||
While in Light Sleep if this value is exceeded we will lower into super deep sleep
|
||||
|
||||
or Super Deep Sleep Interval (default 1 year) or a button press
|
||||
|
||||
`0` for default of two hours, MAXUINT for disabled
|
||||
|
||||
### Super Deep Sleep Interval
|
||||
|
||||
While in Light Sleep if Mesh Super Deep Sleep Timeout Seconds is exceeded we will lower into super deep sleep or this value (default 1 year) or a button press
|
||||
|
||||
`0` for default of one year
|
||||
|
||||
### Light Sleep Interval
|
||||
|
||||
In light sleep the CPU is suspended, LoRa radio is on, BLE is off and GPS is on
|
||||
|
@ -174,9 +160,7 @@ All Power config options are available in the python CLI.
|
|||
| power.on_battery_shutdown_after_secs | `integer` (seconds) | Default of `0` is off |
|
||||
| power.adc_multiplier_override | `2-4` (floating point value) | Default of `0` uses firmware values |
|
||||
| power.wait_bluetooth_secs | `integer` (seconds) | Default of `0` is 1 minute |
|
||||
| power.mesh_sds_timeout_secs | `integer` (seconds) | Default of `0` is 2 hours |
|
||||
| power.sds_secs | `integer` (seconds) | Default of `0` is 1 year |
|
||||
| power.ls_secs | `integer` (seconds) | Default of `0` is 1 hour |
|
||||
| power.ls_secs | `integer` (seconds) | Default of `0` is 5 minutes |
|
||||
| power.min_wake_secs | `integer` (seconds) | Default of `0` is 10 seconds |
|
||||
| power.device_battery_ina_address | `integer` (I2C address as decimal) | Default of `0` is no address set |
|
||||
|
||||
|
@ -205,18 +189,6 @@ meshtastic --set power.wait_bluetooth_secs 0
|
|||
meshtastic --set power.wait_bluetooth_secs 120
|
||||
```
|
||||
|
||||
```shell title="Set Mesh Super Deep Sleep Timeout (Default of 0 is 2 hours/7200 seconds)"
|
||||
meshtastic --set power.mesh_sds_timeout_secs 0
|
||||
meshtastic --set power.mesh_sds_timeout_secs 120
|
||||
// Disable using MAXUINT
|
||||
meshtastic --set power.mesh_sds_timeout_secs 4294967295
|
||||
```
|
||||
|
||||
```shell title="Set Super Deep Sleep (Default of 0 is 1 year)"
|
||||
meshtastic --set power.sds_secs 0
|
||||
meshtastic --set power.sds_secs 120
|
||||
```
|
||||
|
||||
```shell title="Set Light Sleep to default (Default of 0 is 5 minutes)"
|
||||
meshtastic --set power.ls_secs 0
|
||||
meshtastic --set power.ls_secs 120
|
||||
|
|
|
@ -51,7 +51,7 @@ values={[
|
|||
|
||||
:::info
|
||||
|
||||
User Config options are available for Android.
|
||||
All User config options are available for Android.
|
||||
|
||||
1. Open the Meshtastic App
|
||||
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > User**
|
||||
|
@ -63,7 +63,7 @@ User Config options are available for Android.
|
|||
<TabItem value="apple">
|
||||
|
||||
:::info
|
||||
`ShortName` and `LongName` User config options are available on iOS, iPadOS and macOS at `Settings > Radio Configuration > User`.
|
||||
All User config options are available on iOS, iPadOS and macOS at `Settings > Radio Configuration > User`.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
|
|
@ -6,26 +6,12 @@ slug: /hardware/peripheral/
|
|||
sidebar_position: 6
|
||||
---
|
||||
|
||||
## Firmware Versions
|
||||
## Remote Hardware
|
||||
|
||||
:::warning
|
||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||
:::
|
||||
|
||||
The device firmware runs on the nodes to build the mesh for communication. Each different make and model of device requires a different build of the Meshtastic firmware in order to run properly. Thankfully, due to the design of Meshtastic, it is possible to port the firmware to new devices as they become available. The firmware currently runs on a range of ESP32 based devices, but there is also increasing support for the nRF52 microprocessor with some more recent devices coming to market.
|
||||
|
||||
The current firmware has support for a screen to display received messages, along with information about nodes on the mesh, and more detailed information about the device on which it is running.
|
||||
|
||||
The latest firmware can be downloaded from the [Downloads](/downloads) page. If you wish to view the code or contribute to development of the firmware, please visit the device code [GitHub page](https://github.com/meshtastic/firmware).
|
||||
|
||||
:::info
|
||||
Please be aware that there are significant changes between version branches 1.2.x and 1.3.x which mean that devices need to be running the same branch of firmware to be able to talk to each other. Python, Android, and other software applications will also need to be running the same branch to be able to talk to the device.
|
||||
|
||||
This feature uses a preinstalled module in the device code and associated command line flags/classes in the python code. You'll need to be running at least version 1.2.23 (or later) of the python and device code to use this feature.
|
||||
:::
|
||||
|
||||
## Remote Hardware
|
||||
|
||||
### Supported Operations
|
||||
|
||||
- Set any GPIO
|
||||
|
|
|
@ -95,29 +95,29 @@ All audio module config options are available in the python CLI. Example command
|
|||
|
||||
:::
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :-----------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------: |
|
||||
| audio.enabled | `true`, `false` | `false` |
|
||||
| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
|
||||
| audio.bitrate | `CODEC2_DEFAULT` `CODEC2_3200` `CODEC2_2400` `CODEC2_1600` `CODEC2_1400` `CODEC2_1300` `CODEC2_1200` `CODEC2_700B` `CODEC2_700` | `CODEC2_DEFAULT` |
|
||||
| audio.i2s_ws | GPIO Pin Number 1-34 | no Default |
|
||||
| audio.i2s_sd | GPIO Pin Number 1-39 | no Default |
|
||||
| audio.i2s_din | GPIO Pin Number 1-34 | no Default |
|
||||
| audio.i2s_sck | GPIO Pin Number 1-34 | no Default |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------: |
|
||||
|audio.codec2_enabled| `true`, `false` | `false` |
|
||||
| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
|
||||
| audio.bitrate | `CODEC2_DEFAULT` `CODEC2_3200` `CODEC2_2400` `CODEC2_1600` `CODEC2_1400` `CODEC2_1300` `CODEC2_1200` `CODEC2_700B` `CODEC2_700` | `CODEC2_DEFAULT` |
|
||||
| audio.i2s_ws | GPIO Pin Number 1-34 | no Default |
|
||||
| audio.i2s_sd | GPIO Pin Number 1-39 | no Default |
|
||||
| audio.i2s_din | GPIO Pin Number 1-34 | no Default |
|
||||
| audio.i2s_sck | GPIO Pin Number 1-34 | no Default |
|
||||
|
||||
:::tip
|
||||
|
||||
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
|
||||
|
||||
```shell title="Example:"
|
||||
meshtastic --set audio.enabled true --set audio.bitrate CODEC2_1400
|
||||
meshtastic --set audio.codec2_enabled true --set audio.bitrate CODEC2_1400
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
```shell title="Enable / Disable Module"
|
||||
meshtastic --set audio.enabled true
|
||||
meshtastic --set audio.enabled false
|
||||
meshtastic --set audio.codec2_enabled true
|
||||
meshtastic --set audio.codec2_enabled false
|
||||
```
|
||||
|
||||
```shell title="Set WS to GPIO pin number 7"
|
||||
|
|
|
@ -10,7 +10,7 @@ import TabItem from "@theme/TabItem";
|
|||
|
||||
The Canned Message Module will allow you to send messages to the mesh network from the device without using the phone app. You can predefine text messages to choose from.
|
||||
|
||||
The canned message module config options are: Enabled, Save, and Sender. Range Test Module config uses an admin message sending a `ConfigModule.CannedMessage` protobuf.
|
||||
The canned message module config options are: Enabled, Send Bell, Messages, Input Source, Rotary Encoder Enabled, Up Down Encoder Enabled, Input Broker Pin A, Input Broker Pin B, Input Broker Pin Press, Input Broker Event Clockwise, Input Broker Event Counter Clockwise, and Input Broker Event Press. Canned Message config uses an admin message sending a `ConfigModule.CannedMessage` protobuf.
|
||||
|
||||
<object data="https://www.youtube.com/embed/qKQVYUbLLkg?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
|
@ -25,7 +25,7 @@ Enables the canned message module.
|
|||
Sends a bell character with each message.
|
||||
|
||||
The [External Notification Module](external-notification) can be set up to beep when a new message arrives.
|
||||
This module can also be configured to beep only when message contains the bell character.
|
||||
This module can also be configured to beep only when a message contains the bell character.
|
||||
|
||||
### Messages
|
||||
|
||||
|
@ -119,7 +119,7 @@ Example commands are below:
|
|||
| canned_message.enabled | `true`, `false` | `false` |
|
||||
| canned_message.send_bell | `true`, `false` | `false` |
|
||||
| canned_message.allow_input_source | `rotEnc1`, `_any`, `upDownEnc1`, `cardkb` | `_any` |
|
||||
| canned_message.messages | `string` | `""` (separate using pipes) |
|
||||
| --set-canned-message | `string` | `""` (separate using pipes) |
|
||||
| canned_message.inputbroker_event_cw | `InputEventChar` | (not defined) |
|
||||
| canned_message.inputbroker_event_ccw | `InputEventChar` | (not defined) |
|
||||
| canned_message.inputbroker_event_press | `InputEventChar` | (not defined) |
|
||||
|
|
|
@ -10,6 +10,8 @@ import TabItem from "@theme/TabItem";
|
|||
|
||||
The External Notification Module will allow you to connect a buzzer, speaker, LED, or other device to notify you when a message has been received from the mesh network. You can enable up to 3 pins independently from each other.
|
||||
|
||||
The External Notification Module config options are: Enabled, Active, Alert Bell (General),Alert Bell Vibra, Alert Bell Buzzer, Alert Message (General), Alert Message Vibra, Alert Message Buzzer, Output (General), Output Vibra, Output Buzzer, Output Milliseconds, Use PWM, and Nag Timeout. External Notification config uses an admin message sending a `ConfigModule.ExternalNotificationConfig` protobuf.
|
||||
|
||||
<object data="https://www.youtube.com/embed/MWt3RHMpifo?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
||||
## External Notification Module Config Values
|
||||
|
@ -18,6 +20,10 @@ The External Notification Module will allow you to connect a buzzer, speaker, LE
|
|||
|
||||
Enables the external notification module.
|
||||
|
||||
### Active (general / LED only)
|
||||
|
||||
Specifies whether the external circuit is active when the device's GPIO is low or high. If this is set true, the pin will be pulled active high, false means active low.
|
||||
|
||||
### Alert when receiving a bell (general / LED, Vibra and Buzzer)
|
||||
|
||||
Specifies if an alert should be triggered when receiving an incoming bell.
|
||||
|
@ -26,10 +32,6 @@ Specifies if an alert should be triggered when receiving an incoming bell.
|
|||
|
||||
Specifies if an alert should be triggered when receiving an incoming message.
|
||||
|
||||
### Active (general / LED only)
|
||||
|
||||
Specifies whether the external circuit is active when the device's GPIO is low or high.
|
||||
|
||||
### GPIO Pins (general / LED, Vibra and Buzzer)
|
||||
|
||||
Specifies the GPIO that your external circuit is attached to on the device. On devices that have a PWM buzzer, you can use the buzzer for notifications by setting the use_pwm property to TRUE. The Buzzer Pin will be ignored and the device.buzzer_gpio is used instead. If you enable PWM mode, the device will use
|
||||
|
|
|
@ -8,9 +8,9 @@ sidebar_label: MQTT
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
If your device is connected to Internet via wifi or ethernet, you can enable it to forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on the internet. One or more channels must be enabled as uplink and/or downlink for protobufs to be transmitted from and/or to the mesh (See [channels](/docs/settings/config/channels#downlink-enabled)). Without these settings the node will still connect to MQTT server and send status messages.
|
||||
If your device is connected to Internet via wifi or ethernet, you can enable it to forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on the internet. One or more channels must also be enabled as uplink and/or downlink for packets to be transmitted from and/or to your mesh (See [channels](/docs/settings/config/channels#downlink-enabled)). Without these settings enabled, the node will still connect to the MQTT server but only send status messages.
|
||||
|
||||
The MQTT module config options are: Enabled, Server Address, Username, Password, Encryption Enabled and JSON Enabled. MQTT Module config uses an admin message sending a `ConfigModule.MQTT` protobuf.
|
||||
The MQTT module config options are: Enabled, Server Address, Username, Password, Encryption Enabled, JSON Enabled, TLS Enabled, and Root Topic. MQTT Module config uses an admin message sending a `ConfigModule.MQTT` protobuf.
|
||||
|
||||
## Settings
|
||||
|
||||
|
@ -22,7 +22,7 @@ Enables the MQTT module.
|
|||
|
||||
### Server Address
|
||||
|
||||
The server to use for MQTT. If not set, the default server public will be used.
|
||||
The server to use for MQTT. If not set, the default public server will be used.
|
||||
|
||||
### Username
|
||||
|
||||
|
@ -30,16 +30,24 @@ MQTT Server username to use (most useful for a custom MQTT server). If using a c
|
|||
|
||||
### Password
|
||||
|
||||
MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honored even if empty. If using the default server, this will only be honored if set, otherwise the device will use the default password
|
||||
MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honored even if empty. If using the default server, this will only be honored if set, otherwise the device will use the default password.
|
||||
|
||||
### Encryption Enabled
|
||||
|
||||
Whether to send encrypted or decrypted packets to MQTT. This parameter is only honored if you also set server (the default official mqtt.meshtastic.org server can handle encrypted packets) Decrypted packets may be useful for external systems that want to consume meshtastic packets.
|
||||
Whether to send encrypted or unencrypted packets to MQTT. This parameter is only honored if you also set server (the default official mqtt.meshtastic.org server can handle encrypted packets). Unencrypted packets may be useful for external systems that want to consume meshtastic packets.
|
||||
|
||||
### JSON Enabled
|
||||
|
||||
Enable the sending / consumption of JSON packets on MQTT. These packets are not encrypted, but offer an easy way to integrate with systems that can read JSON.
|
||||
|
||||
### TLS Enabled
|
||||
|
||||
If true, we attempt to establish a secure connection using TLS.
|
||||
|
||||
### Root Topic
|
||||
|
||||
The root topic to use for MQTT messages. This is useful if you want to use a single MQTT server for multiple meshtastic networks and separate them via ACLs.
|
||||
|
||||
## MQTT Module Config Client Availability
|
||||
|
||||
<Tabs
|
||||
|
@ -66,7 +74,9 @@ MQTT Config options are available for Android.
|
|||
<TabItem value="apple">
|
||||
|
||||
:::info
|
||||
MQTT module config is not available for Apple.
|
||||
|
||||
MQTT Config options are available on iOS, iPadOS and macOS at Settings > Modules > MQTT.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -78,14 +88,16 @@ All MQTT module config options are available in the python CLI. Example commands
|
|||
|
||||
:::
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------: | :---------------: | :-----: |
|
||||
| mqtt.enabled | `true`, `false` | `false` |
|
||||
| mqtt.address | `string` | |
|
||||
| mqtt.username | `string` | |
|
||||
| mqtt.password | `string` | |
|
||||
| mqtt.encryption_enabled | `string` | |
|
||||
| mqtt.json_enabled | `true`, `false` | `false` |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------: | :---------------: | :-----------------: |
|
||||
| mqtt.enabled | `true`, `false` | `false` |
|
||||
| mqtt.address | `string` |`mqtt.meshtastic.org`|
|
||||
| mqtt.username | `string` | `meshdev` |
|
||||
| mqtt.password | `string` | `large4cats` |
|
||||
| mqtt.encryption_enabled | `true`, `false` | `false` |
|
||||
| mqtt.json_enabled | `true`, `false` | `false` |
|
||||
| mqtt.tls_enabled | `true`, `false` | `false` |
|
||||
| mqtt.root | `string` | |
|
||||
|
||||
:::tip
|
||||
|
||||
|
|
|
@ -8,7 +8,16 @@ sidebar_label: Range Test
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
This module 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.
|
||||
This module allows you to test the range of your Meshtastic nodes. It requires at least two nodes, a sender and a receiver. The receiving node 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.
|
||||
|
||||
While a minimum of two radios is required, more can be used. You can have any number of receivers and senders that your mesh is able to handle. You can test having a single sender with multiple receivers or a single receiver with multiple senders. Let us know on the [forum thread](https://meshtastic.discourse.group/t/new-plugin-rangetestplugin/2591) the results of your configuration.
|
||||
|
||||
:::info
|
||||
|
||||
Be sure to turn off the module or disable sending when not in use. This will use a lot of time on air, slow down your mesh, and spam your channel.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
The range test module config options are: Enabled, Save, and Sender. Range Test Module config uses an admin message sending a `ConfigModule.RangeTest` protobuf.
|
||||
|
||||
|
@ -18,13 +27,33 @@ The range test module config options are: Enabled, Save, and Sender. Range Test
|
|||
|
||||
Enables the range test module.
|
||||
|
||||
### Save CSV File `ESP32 Only Setting`
|
||||
### Save CSV File
|
||||
|
||||
If enabled, we will save a log of all received messages to a file named rangetest.csv which you can access from the web server Extensions > File Browser > rangetest.csv. The file will be created after receiving messages. The device will abort writing if there is less than 50k of space on the filesystem to prevent filling up the storage.
|
||||
:::info
|
||||
|
||||
Saving files is only available on ESP32-based devises
|
||||
|
||||
:::
|
||||
|
||||
If enabled, a log of all received messages will be saved to a file named rangetest.csv.
|
||||
|
||||
To access this file, first turn on the WiFi on your device and connect to your network. Once you can connect to your device, navigate to `meshtastic.local/rangetest.csv` (or your_device_ip/rangetest.csv) and the file will be downloaded automatically. This file will only be created after receiving initial messages.
|
||||
|
||||
To prevent filling up the storage, the device will abort writing if there is less than 50kb of space on the filesystem.
|
||||
|
||||
### Sender Interval
|
||||
|
||||
How long to wait between sending test packets. 0 is default which disables sending messages.
|
||||
How long to wait between sending sequential test packets. 0 is default which disables sending messages.
|
||||
|
||||
### Recommended Sender Settings
|
||||
|
||||
| Radio Setting | `range_test.sender` |
|
||||
| :-----------: | :-----------------: |
|
||||
| Long Slow | 60 |
|
||||
| Long Alt | 30 |
|
||||
| Medium | 15 |
|
||||
| Short Fast | 15 |
|
||||
|
||||
|
||||
## Range Test Module Config Client Availability
|
||||
|
||||
|
@ -48,6 +77,8 @@ Range Test Config options are available for Android.
|
|||
|
||||
:::
|
||||
|
||||
Android also had the option to download a rangetest.csv file which is stored on your phone. This file does not require the Range Test module to be active and will log all incoming Nodeinfo, Position, Telemetry and Messages.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="apple">
|
||||
|
||||
|
@ -55,6 +86,8 @@ Range Test Config options are available for Android.
|
|||
All range test module config options are available on iOS, iPadOS and macOS at Settings > Modules > Range Test.
|
||||
:::
|
||||
|
||||
Apple apps also have the option to download logged position data which is stored on your iPhone/iPad/Mac. Access this by clicking on the Nodes tab, selecting a node, then select Position Log and click Save. This data file does not require the Range Test module to be active.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli">
|
||||
|
||||
|
@ -103,42 +136,13 @@ meshtastic --set range_test.sender 0
|
|||
|
||||
:::info
|
||||
|
||||
No range test module config options are available in the Web UI.
|
||||
All range test module config options are available in the Web UI.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Examples
|
||||
|
||||
While a minimum of two radios is required, more can be used. You can have any number of receivers and senders that your mesh is able to handle. You can test having a single sender with multiple receivers or a single receiver with multiple senders. Let us know on the [forum thread](https://meshtastic.discourse.group/t/new-plugin-rangetestplugin/2591) the results of your configuration.
|
||||
|
||||
Be sure to turn off either the module configured as a sender or the device where the module setup as sender when not in use. This will use a lot of time on air and will spam your channel.
|
||||
|
||||
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 module on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.PortNum) are sent on.
|
||||
:::
|
||||
|
||||
### Accessing your CSV
|
||||
|
||||
Connect to your device over WiFi, either using the [software access point](/docs/settings/config/network#software-access-point) or [WiFi Client](/docs/settings/config/network#wifi-client). Then navigate to `meshtastic.local` (or your IP address). Your file will be available for download under `Extensions > File Browser > rangetest.csv` once it has been created by receiving messages.
|
||||
|
||||
```plaintext title="Example URLs"
|
||||
http://meshtastic.local
|
||||
http://198.168.0.15
|
||||
```
|
||||
|
||||
### Recommended Sender Settings
|
||||
|
||||
| Radio Setting | `range_test.sender` |
|
||||
| :-----------: | :-----------------: |
|
||||
| Long Slow | 60 |
|
||||
| Long Alt | 30 |
|
||||
| Medium | 15 |
|
||||
| Short Fast | 15 |
|
||||
|
||||
## Application Examples
|
||||
|
||||
|
@ -169,10 +173,6 @@ You can style the ranges differently based on the values, so you can have the pi
|
|||
|
||||
## FAQ
|
||||
|
||||
Q: Where is rangetest.csv saved?
|
||||
|
||||
- Turn on the WiFi on your device as either a WiFi client or a WiFi AP. Once you can connect to your device, navigate to `Extensions > File Browser` and you will see `rangetest.csv` once messages have been saved and the file has been created.
|
||||
|
||||
Q: Do I need to have WiFi turned on for the file to be saved?
|
||||
|
||||
- Nope, it'll just work.
|
||||
|
@ -191,7 +191,7 @@ Q: What will happen if I run out of space on my device?
|
|||
|
||||
Q: What do I do with the rangetest.csv file when I'm done?
|
||||
|
||||
- Go to /static and delete the file.
|
||||
- Currently the only way to erase the file is to perform a factory reset.
|
||||
|
||||
Q: Can I use this as a sender while on battery power?
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ sidebar_label: Serial
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
The serial module config options are: Enabled, Echo, Mode, Receive GPIO, Transmit GPIO and Sender. Serial Module config uses an admin message sending a `ConfigModule.Serial` protobuf.
|
||||
The serial module config options are: Enabled, Echo, Mode, Receive GPIO, Transmit GPIO, Baud Rate, Timeout, and Override Console Serial Port. Serial Module config uses an admin message sending a `ConfigModule.Serial` protobuf.
|
||||
|
||||
This is a simple interface to send messages over the mesh network by sending strings over a serial port. Anything you send the node will be turned into a message sent out over the mesh, and anything received from the mesh will be sent to the serial port. Note that this module does not (yet) allow arbitrary protobuf commands to be sent over the serial connection.
|
||||
|
||||
|
@ -196,13 +196,7 @@ Default is to use RX GPIO 16 and TX GPIO 17.
|
|||
|
||||
### Interfacing PIR Sensor With External Microcontroller
|
||||
|
||||
The following is an example of using a Raspberry Pi Pico connected to a PIR sensor to detect motion. When motion is detected, a message is sent via. serial to the T-Beam. The T-Beam transmits the message as text over the default channel by utilizing the serial module in TXTMSG mode.
|
||||
|
||||
#### BOM
|
||||
|
||||
- Raspberry Pi Pico running [CircuitPython](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython)
|
||||
- T-Beam V1.1 running Meshtastic
|
||||
- PIR Sensor ([Adafruit Breadboard Model](https://www.adafruit.com/product/4871))
|
||||
The following are examples of using either a Raspberry Pi Pico or Arduino Mini Pro connected to a PIR sensor to detect motion. When motion is detected, a message is sent via serial to the T-Beam. The T-Beam transmits the message as text over the default channel by utilizing the serial module in TXTMSG mode.
|
||||
|
||||
#### Meshtastic Software Configuration
|
||||
|
||||
|
@ -210,9 +204,15 @@ The following is an example of using a Raspberry Pi Pico connected to a PIR sens
|
|||
- GPIO Pins (For T-Beam) RX 13, TX 14
|
||||
- 38400 Baud
|
||||
|
||||
#### Wiring
|
||||
#### Rasberry Pi Pico BOM
|
||||
|
||||

|
||||
- A Raspberry Pi Pico running [CircuitPython](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython)
|
||||
- T-Beam V1.1 running Meshtastic
|
||||
- PIR Sensor ([Adafruit Breadboard Model](https://www.adafruit.com/product/4871))
|
||||
|
||||
#### Raspberry Pi Pico Wiring
|
||||
|
||||

|
||||
|
||||
- TX pin 14 on the T-Beam to RX pin 2 on the Pico
|
||||
- RX pin 13 on the T-Beam to TX pin 1 on the Pico
|
||||
|
@ -245,3 +245,52 @@ while True:
|
|||
time.sleep(30)
|
||||
time.sleep(0.5)
|
||||
```
|
||||
|
||||
#### Arduino Mini Pro BOM
|
||||
- An Arduino Mini Pro with example sketch from below uploaded to it.
|
||||
- T-Beam V1.1 running Meshtastic
|
||||
- PIR Sensor ([Adafruit Breadboard Model](https://www.adafruit.com/product/4871))
|
||||
|
||||
#### Arduino Mini Pro Wiring
|
||||
|
||||

|
||||
|
||||
- T-BEAM RX PIN 13 to TX PIN on the ARDUINO MINI
|
||||
- T-BEAM TX PIN 14 to RX PINon the ARDUINO MINI
|
||||
- T-BEAM PIN 3.3V to 3.3V PIN on the ARDUINO MINI
|
||||
- T-BEAM PIN GND to GND PIN on the ARDUINO MINI
|
||||
- ARDUINO MINI PIN 2 to OUT PIN on the PIR SENSOR
|
||||
- ARDUINO MINI PIN 3.3V to 3.3V on the PIR SENSOR
|
||||
- ARDUINO MINI PIN GND to GND PIN on the PIR SENSOR
|
||||
|
||||
#### Arduino Mini Pro Code
|
||||
|
||||
```cpp
|
||||
int LED = 13; // the pin to which the LED is connected
|
||||
int PIR = 2; // the pin to which the sensor is connected
|
||||
int previousState = LOW; // previous state of the sensor
|
||||
|
||||
|
||||
void setup() {
|
||||
pinMode(LED, OUTPUT); // initialize the LED as an output
|
||||
pinMode(PIR, INPUT); // initialize the sensor as an input
|
||||
Serial.begin(9600); // initialize serial communication
|
||||
}
|
||||
|
||||
void loop(){
|
||||
int currentState = digitalRead(PIR); // read the current state of the sensor
|
||||
if (currentState != previousState) { // check if the state has changed
|
||||
if (currentState == HIGH) { // check if there is motion
|
||||
digitalWrite(LED, HIGH); // turn the LED on
|
||||
Serial.println("Motion Detected");
|
||||
}
|
||||
else {
|
||||
digitalWrite(LED, LOW); // turn the LED off
|
||||
Serial.println("No Motion");
|
||||
}
|
||||
previousState = currentState; // update the previous state
|
||||
}
|
||||
delay(100); // small delay to avoid false sensor readings
|
||||
|
||||
}
|
||||
```
|
||||
|
|
|
@ -84,13 +84,13 @@ Since authentication is also eventually needed for our other transports (TCP and
|
|||
|
||||
### JavaScript
|
||||
|
||||
See: <https://github.com/meshtastic/meshtastic.js>
|
||||
See: https://github.com/meshtastic/meshtastic.js
|
||||
|
||||
A reference client written in JavaScript will provide a JavaScript API for using this transport. That client will do HTTP connections, use the generated protobuf JavaScript code and provide an API that hides all of this REST plumbing. The two key methods will be `sendToRadio(packet)` and `onFromRadio(callback)`.
|
||||
|
||||
### Protoman
|
||||
|
||||
See: <https://github.com/spluxx/Protoman>
|
||||
See: [https://github.com/spluxx/Protoman]
|
||||
|
||||
Protoman is able to interface with the Meshtastic REST API out of the box. This is useful for manual testing of the endpoints.
|
||||
|
||||
|
@ -100,4 +100,4 @@ HTTP and HTTPS are both supported on the ESP32 using self signed certificates on
|
|||
|
||||
## Related documents
|
||||
|
||||
- Interesting slide pack on the concept: <https://www.slideshare.net/mokeefe/javaone-2009-ts5276-restful-protocol-buffers>
|
||||
- Interesting slide pack on the concept: [https://www.slideshare.net/mokeefe/javaone-2009-ts5276-restful-protocol-buffers]
|
||||
|
|
|
@ -20,14 +20,14 @@ interface = meshtastic.serial_interface.SerialInterface()
|
|||
interface.sendText("hello mesh")
|
||||
|
||||
ourNode = interface.getNode('^local')
|
||||
print(f'Our node preferences:{ourNode.radioConfig.preferences}')
|
||||
print(f'Our node preferences:{ourNode.localConfig}')
|
||||
|
||||
# update a value
|
||||
print('Changing a preference...')
|
||||
ourNode.radioConfig.preferences.gps_update_interval = 60
|
||||
ourNode.localConfig.position.gps_update_interval = 60
|
||||
|
||||
print(f'Our node preferences now:{ourNode.radioConfig.preferences}')
|
||||
ourNode.writeConfig()
|
||||
print(f'Our node preferences now:{ourNode.localConfig}')
|
||||
ourNode.writeConfig("position")
|
||||
|
||||
interface.close()
|
||||
```
|
||||
|
@ -57,23 +57,7 @@ interface.close()
|
|||
|
||||
Note: Be sure to change the IP address in the code above to a valid IP address for your setup.
|
||||
|
||||
You can get and update settings like this:
|
||||
|
||||
```python
|
||||
import meshtastic
|
||||
import meshtastic.serial_interface
|
||||
interface = meshtastic.serial_interface.SerialInterface()
|
||||
|
||||
ourNode = interface.getNode('^local')
|
||||
print(ourNode.radioConfig.preferences)
|
||||
ourNode.radioConfig.preferences.gps_update_interval = 60
|
||||
print(ourNode.radioConfig.preferences)
|
||||
ourNode.writeConfig()
|
||||
|
||||
interface.close()
|
||||
```
|
||||
|
||||
For the rough notes/implementation plan see [TODO](https://github.com/meshtastic/Meshtastic-python/blob/master/TODO). See the API for full details of how to use the library.
|
||||
For the rough notes/implementation plan see [TODO](https://github.com/meshtastic/python/blob/master/TODO.md). See the API for full details of how to use the library.
|
||||
|
||||
## A note to developers of this lib
|
||||
|
||||
|
|
|
@ -5,4 +5,4 @@ title: Protobufs
|
|||
|
||||
Protobufs are used by Meshtastic software to send and receive data between App and Device and Device to Device.
|
||||
|
||||
Documentation on the Meshtastic Protobuf messages can be fund on the [BSR(Buf Schema Registry)](https://buf.build/meshtastic/protobufs).
|
||||
Documentation on the Meshtastic Protobuf messages can be found on the [BSR(Buf Schema Registry)](https://buf.build/meshtastic/protobufs).
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
id: building
|
||||
title: Building
|
||||
sidebar_label: Building
|
||||
---
|
||||
|
||||
Releases are automatically generated for every commit as per out [CI](https://github.com/meshtastic/web/blob/master/.github/workflows/main.yml). This performs two actions:
|
||||
|
||||
1. Generates a perpetually updated [GitHub release](https://github.com/meshtastic/web/releases/tag/latest) with an accompanying `build.tar` that a automatically get's pulled by the firmware CI at build time.
|
||||
2. A hosted version is deployed to [client.meshtastic.org](https://client.meshtastic.org).
|
|
@ -1,100 +1,66 @@
|
|||
---
|
||||
id: web-interface
|
||||
title: Development Overview of the Web Interface
|
||||
sidebar_label: Web Interface
|
||||
title: Web Client Development
|
||||
sidebar_label: Web Client
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
## Considerations
|
||||
## Overview
|
||||
|
||||
We have a total of 458,752 bytes (448KB) available on the SPIFFS (Serial Peripheral Interface Flash File System) -- the on-board storage of the ESP32. Of that space, let's not use more than half of that (224KB) in order to leave space for other uses.
|
||||
The Meshtastic web interface can be hosted or served from a node.
|
||||
|
||||
Right now, the Meshtastic Device Preferences as well as SSL keys use that space. We can imagine other future uses as well, such as logging chat messages and possibly saving received signal strength with GPS coordinates to create coverage heat maps.
|
||||
The official hosted version can be found at [https://client.meshtastic.org](https://client.meshtastic.org).
|
||||
|
||||
## Static Files
|
||||
The version served from a node can be accessed by first [connecting your node to your network](/docs/settings/config/network) and then navigating to http://meshtastic.local (or your_node_ip.local).
|
||||
|
||||
Static files can be placed in the /data folder. All files should be compressed in the .gz format with a .gz extension regardless of the file type.
|
||||
|
||||
As an example, this would mean we will have files such as:
|
||||
## Development & Building
|
||||
|
||||
- style.css.gz
|
||||
- meshtastic.js.gz
|
||||
- meshtasticlogo.png.gz
|
||||
### Development
|
||||
|
||||
Unless otherwise stated, files in the `/data` folder of the source code will be stored in `/static` on the device.
|
||||
Clone the [Meshtastic Web Repo](https://github.com/meshtastic/web) repository
|
||||
```shell
|
||||
git clone https://github.com/meshtastic/web.git
|
||||
cd web
|
||||
```
|
||||
|
||||
## Application Interface
|
||||
Install the dependencies.
|
||||
|
||||
We make extensive use of [Meshtastic.js](https://github.com/meshtastic/meshtastic.js).
|
||||
```bash
|
||||
pnpm i
|
||||
```
|
||||
### Building
|
||||
|
||||
## Embedded Server
|
||||
Build the project:
|
||||
|
||||
### Root
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
When requesting to the root of the web server, the either /static/index.html or /static/index.html.gz will be fetched from the file system and served to the client. We require that the file is in the gzip format. Serving an uncompressed file is not supported. If both index.html and index.html.gz are on the filesystem, index.html will be served and index.html.gz will be ignored.
|
||||
Start the development server:
|
||||
|
||||
### /static
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
All files stored in /data/static in the Meshtastic source code will be available in /static on the Meshtastic device.
|
||||
### Packaging
|
||||
|
||||
If a file is uploaded in a .gz format, the .gz extension will be stripped prior to being served to the client. Keep your filenames as short as possible. Short filenames work better than long file names.
|
||||
Build the project:
|
||||
|
||||
An experimental file system browser with upload and delete capability is available by going to either:
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
- http://meshtastic.local/static
|
||||
- https://meshtastic.local/static
|
||||
GZip the output:
|
||||
|
||||
There are known issues with uploading files with large file sizes.
|
||||
```bash
|
||||
pnpm package
|
||||
```
|
||||
|
||||
The current preferred method to upload data is through PlatformIO and the file system browser is provided without guarantees.
|
||||
|
||||
### /restart
|
||||
## Releases
|
||||
|
||||
A post to this location will cause the device to restart.
|
||||
Releases are automatically generated for every commit as per out [CI](https://github.com/meshtastic/web/blob/master/.github/workflows/main.yml). This performs two actions:
|
||||
|
||||
### /favicon.ico
|
||||
|
||||
The Meshtastic logo in .ico format.
|
||||
|
||||
### /hotspot-detect.html
|
||||
|
||||
Used by the Apple Captive Portal Assistant.
|
||||
|
||||
### /upload
|
||||
|
||||
Endpoint to upload files. Used by the file manager.
|
||||
|
||||
### /json/report
|
||||
|
||||
Return a report of airtime statistics and current status.
|
||||
|
||||
Formula to calculate when the current time period will roll over:
|
||||
|
||||
`data.airtime.seconds_per_period - (data.airtime.seconds_since_boot % data.airtime.seconds_per_period)`
|
||||
|
||||
### /json/scanNetworks
|
||||
|
||||
Returns a json data structure of WiFi networks in the area. It's recommended to call this at least 2 or 3 times and combine the results.
|
||||
|
||||
We purposely exclude open (insecure) networks from the list.
|
||||
|
||||
### /json/spiffs/browse/static
|
||||
|
||||
Returns a json data structure with the contents of /static.
|
||||
|
||||
If a filename includes a '.gz' extension, will also return a modified version of the filename with the extension stripped. This is to support the functionality in /static (see above).
|
||||
|
||||
### /json/spiffs/delete/static
|
||||
|
||||
Delete file specified by the parameter "delete". Use the method "DELETE".
|
||||
|
||||
eg: /json/spiffs/delete/static?delete=static/something.txt
|
||||
|
||||
### Performance
|
||||
|
||||
As a general guide, the ESP32 will return HTTP requests significantly faster than HTTPS requests. For responses of 1kb or less, expect the following for real world performance:
|
||||
|
||||
HTTP - 3.0 requests / sec
|
||||
HTTPS - 0.4 requests / sec
|
||||
|
||||
The bottleneck of HTTPS is with the SSL handshake. We will get better performance serving one large file rather than multiple small files.
|
||||
1. Generates a perpetually updated [GitHub release](https://github.com/meshtastic/web/releases/tag/latest) with an accompanying `build.tar` that a automatically get's pulled by the firmware CI at build time.
|
||||
2. A hosted version is deployed to [client.meshtastic.org](https://client.meshtastic.org).
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
---
|
||||
id: esp32-partitions
|
||||
title: Managing ESP32 partitions
|
||||
sidebar_label: ESP32 partitions
|
||||
---
|
||||
|
||||
:::caution
|
||||
It has been reported that some of this information is out of date.
|
||||
FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.
|
||||
:::
|
||||
|
||||
## Insufficient space to upload web interface files
|
||||
|
||||
This problem seems to occur when your board has the partitioning structure set incorrectly. This typically occurs when the board has had a firmware other than Meshtastic on it previously. In this situation, the file upload page on the device typically shows a free space of around 48,000 bytes, rather than the ~300,000 bytes that it should have free.
|
||||
|
||||

|
||||
|
||||
There are a number of methods that essentially involve erasing the flash and then re-uploading the Meshtastic firmware.
|
||||
|
||||
## Install Script
|
||||
|
||||
The most reliable way to fix this problem is to use the install script that is included in the meshtastic firmware zip. If that doesn’t work, these other methods may work:
|
||||
|
||||
## Alternative methods
|
||||
|
||||
### Using the Arduino IDE:
|
||||
|
||||
https://meshtastic.discourse.group/t/solved-help-installing-with-other-than-esphome-flasher/2214/9
|
||||
|
||||
### Using Pio in Windows
|
||||
|
||||
```powershell
|
||||
pio run --target erase --environment tbeam
|
||||
```
|
||||
|
||||
Then re-install the firmware ie using ESPHome Flasher.
|
||||
|
||||
Requires: [Python](https://www.python.org), [Pio](https://pypi.org/project/pio), command to be run in the root directory of the firmware project once you’ve cloned it (this last requirement is an assumption based on pio not knowing what a tbeam is, may also require Visual Studio Code and PlatformIO as these were installed during use).
|
||||
|
||||
### Esptool.py
|
||||
|
||||
@1984 posted another method using the python based esptool.py to erase and re-flash the firmware:
|
||||
|
||||
```shell
|
||||
esptool.py --baud 921600 erase_flash
|
||||
esptool.py --baud 921600 write_flash 0x1000 system-info.bin
|
||||
esptool.py --baud 921600 write_flash 0x00390000 spiffs-*.bin
|
||||
esptool.py --baud 921600 write_flash 0x10000 firmware-tbeam-EU865-1.1.42.bin
|
||||
```
|
||||
|
||||
Requires: [Python](https://www.python.org) and [esptool.py](https://github.com/espressif/esptool)
|
||||
|
||||
### Visual Studio & PlatformIO
|
||||
|
||||
There is also the method of using the Visual Studio IDE. This requires having Visual Studio and PlatformIO installed, along with having cloned the firmware code as per the [build instructions](/docs/development/firmware/build). After loading the project in Visual Studio, select the PlatformIO alien icon, then find the appropriate device, and then click the Erase Flash command.
|
||||
|
||||

|
||||
|
||||
https://meshtastic.discourse.group/t/configuring-channel-via-python-api/1948/17
|
||||
|
||||
Requires: [Visual Studio Code](https://code.visualstudio.com), [PlatformIO](https://platformio.org), cloned copy of the Meshtastic Firmware project
|
||||
|
||||
## How do I know it's worked?
|
||||
|
||||
Once it has been successfully erased and re-flashed, visiting https://192.168.42.1/static should leave you with free space on the order of 300,000 bytes, rather than the ~48,000 bytes you currently have. You can then upload the files from the meshtastic web release.
|
||||
|
||||
Occasionally, this may glitch may appear when uploading the larger app.js.gz file, but a further erase and flash typically solves this.
|
|
@ -12,6 +12,9 @@ The nRF52 based devices have the easiest firmware upgrade process. No driver or
|
|||
### Drag & Drop
|
||||
nRF52 devices use the [Drag & Drop](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop) installation method to install firmware releases.
|
||||
|
||||
### Over-The-Air (OTA)
|
||||
nRF52 devices are able to accept [OTA firmware updates](/docs/getting-started/flashing-firmware/nrf52/ota) from a mobile device over bluetooth.
|
||||
|
||||
### Factory Erase
|
||||
You may wish to perform a [Factory Erase](/docs/getting-started/flashing-firmware/nrf52/nrf52-erase) prior to installing firmware to clear data that may change format and location between releases.
|
||||
|
||||
|
|
50
docs/getting-started/flashing-firmware/nrf52/ota.mdx
Normal file
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
id: ota
|
||||
title: nRF52 OTA Firmware Updates
|
||||
sidebar_label: Over-The-Air
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
nRF52 devices from RAK are able to accept OTA firmware updates from a mobile device over bluetooth. The T-Echo bootloader does not have OTA support.
|
||||
|
||||
<Tabs
|
||||
groupId="settings"
|
||||
defaultValue="apple"
|
||||
values={[
|
||||
{label: 'Android', value: 'android'},
|
||||
{label: 'Apple', value: 'apple'},
|
||||
]}>
|
||||
|
||||
<TabItem value="android">
|
||||
|
||||
:::info
|
||||
As of this writing, the current Android release of the nRF DFU app (v2.3.0) is not compatible with Meshtastic firmware updates. Please use the instructions below for updating via OTA with the nRF Connect App.
|
||||
:::
|
||||
|
||||
OTA firmware updates are available for Android using an older release of the more advanced nRF Connect App __version 4.24.3__ which is available for download from the [Nordic Semiconductor GitHub page](https://github.com/NordicSemiconductor/Android-nRF-Connect/releases/tag/v4.24.3).
|
||||
|
||||
1. Download the firmware release you wish to install from the [Meshtastic Download Page](/downloads) or [Meshtastic GitHub](https://github.com/meshtastic/firmware/releases).
|
||||
2. Unzip the firmware folder
|
||||
3. Open the nRF Connect App and select CONNECT on your device from the SCANNER tab
|
||||
4. Select the DFU icon from the top-right of the screen
|
||||
5. Select the correct device firmware file (will end with -ota.zip)
|
||||
6. The update will start automatically
|
||||
|
||||
</TabItem>
|
||||
|
||||
|
||||
<TabItem value="apple">
|
||||
|
||||
OTA firmware updates are available on iOS & iPadOS using the nRF Device Firmware Update App available through the [Apple App Store](https://apps.apple.com/us/app/nrf-device-firmware-update/id1624454660)
|
||||
|
||||
1. Download the firmware release you wish to install from the [Meshtastic Download Page](/downloads), [Meshtastic GitHub](https://github.com/meshtastic/firmware/releases), or via the iOS or iPadOS app.
|
||||
2. Unzip the firmware folder
|
||||
3. Open the nRF DFU App and select the correct device firmware file (will end with -ota.zip)
|
||||
4. Connect to your device
|
||||
5. Upload the firmware
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
|
@ -18,25 +18,33 @@ This guide assumes that you have already purchased the devices you will be using
|
|||
to see your options.
|
||||
:::
|
||||
|
||||
Before you begin, it's important to determine which kind of hardware you're using. Meshtastic works with devices that have either of these two types of Micro-Controller Units (MCU):
|
||||
Before you begin, it's important to determine which kind of hardware you're using. Meshtastic works with devices that have these types of Micro-Controller Units (MCU):
|
||||
|
||||
### ESP32
|
||||
|
||||
The ESP32 chip is older and consumes more power than the nRF52 chip, but is equipped with both WiFi and Bluetooth. Supported ESP32 devices:
|
||||
The ESP32 chip is older and consumes more power than the nRF52 chip, but is equipped with both WiFi and Bluetooth. Supported ESP32 devices include:
|
||||
|
||||
- LILYGO® TTGO T-Beam
|
||||
- LILYGO® TTGO Lora
|
||||
- Nano G1
|
||||
- Station G1
|
||||
- Heltec V3 and Wireless Stick Lite V3
|
||||
- RAK11200 Core module for RAK WisBlock modular boards
|
||||
|
||||
### nRF52
|
||||
|
||||
The nRF52 chip is much more power efficient than the ESP32 chip and easier to update, but is only equipped with Bluetooth. Supported nRF52 devices:
|
||||
The nRF52 chip is much more power efficient than the ESP32 chip and easier to update, but is only equipped with Bluetooth. Supported nRF52 devices include:
|
||||
|
||||
- RAK WisBlock
|
||||
- RAK4631 Core module for RAK WisBlock modular boards
|
||||
- LILYGO® TTGO T-Echo
|
||||
|
||||
### RP2040
|
||||
|
||||
The RP2040 is a dual-core ARM chip developed by Raspberry Pi. Supported RP2040 devices include:
|
||||
|
||||
- Raspberry Pi Pico + Waveshare LoRa Module (Note: **Bluetooth and Wi-Fi on the Pico W is not yet supported by Meshtastic**)
|
||||
- RAK11310 Core module for RAK WisBlock modular boards
|
||||
|
||||
:::info
|
||||
|
||||
If your device is not listed above, please review our [supported devices](/docs/supported-hardware) to determine which MCU your device has or contact us in [Discord](https://discord.gg/ktMAKGBnBs) with any questions.
|
||||
|
|
|
@ -7,6 +7,6 @@ sidebar_position: 2
|
|||
|
||||
## RicInNewMexico
|
||||
|
||||
[_RicInNewMexico_](https://github.com/RicInNewMexico) has gone through the trouble of testing a number of commonly purchased antennas in the Meshtastic community and given an opinion on whether or not a given antenna is performing optimally.
|
||||
[_RicInNewMexico_](https://github.com/RicInNewMexico) and others have gone through the trouble of testing a number of commonly purchased antennas in the Meshtastic community and given an opinion on whether or not a given antenna is performing optimally.
|
||||
|
||||
Please check out the project on Github: [Meshtastic-Antenna-Reports](https://github.com/RicInNewMexico/Meshtastic-Antenna-Reports)
|
||||
|
|
|
@ -17,7 +17,7 @@ The antenna's design will affect:
|
|||
- Amount of signal which is reflected back to the device itself
|
||||
|
||||
:::caution
|
||||
While the LoRa devices we use for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an antenna or with a poorly matched antenna. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
While the LoRa devices we use for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an antenna or with a poorly matched antenna. Radio signals transmitted without an antenna can reflect back and damage the device.
|
||||
:::
|
||||
|
||||
<object data="https://www.youtube.com/embed/V3f-Y3EfsBU?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
|
|
|
@ -9,8 +9,8 @@ Testing of antennas can be both simple and complex. At its simplest, testing inv
|
|||
|
||||
If you have sufficient range with your existing aerial, skip this section. If you don't, consider either getting more nodes and / or replace the stock aerial with one tuned (to your region transmitter's frequency):
|
||||
|
||||
- A quarter wave _tuned_ stubby aerial (<10cm for fit-in-pocket) should have a real-world range of a couple of km without significant obstacles (buildings / hills).
|
||||
- Aerial criteria: 50 Ohm, appropriate connector (usually SMA male or U.FL), low VSWR (<2) (at tuning frequency - see its datasheet), gain > 0 dBi .
|
||||
- A quarter wave _tuned_ stubby aerial (\<10cm for fit-in-pocket) should have a real-world range of a couple of km without significant obstacles (buildings / hills).
|
||||
- Aerial criteria: 50 Ohm, appropriate connector (usually SMA male or U.FL), low VSWR (\<2) (at tuning frequency - see its datasheet), gain > 0 dBi .
|
||||
- Caution, avoid suppliers who:
|
||||
- don't state the aerial's tuned frequency and its specific purpose (LoRa network)
|
||||
- claim huge gain figures on omni-directional aerials
|
||||
|
@ -27,7 +27,7 @@ Some understanding of the factors affecting radio communications will help achie
|
|||
The Meshtastic devices (of various flavors) lend themselves to experimentation, not only because you can replace their aerials, but also because of their mesh operation. All nodes will, without alteration, relay communications from any other members of the mesh around obstacles and over greater distances. The cost of aerial investment should be weighed against investment in additional low-cost nodes.
|
||||
|
||||
:::caution
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Un-transmitted radio signal reflected back to the transmitter can damage the device.
|
||||
While the LoRa devices we are using for Meshtastic are relatively low power radios, care should be taken _not_ to operate any radio transmission device without an aerial or with a poorly matched aerial. Radio signals transmitted without an antenna can reflect back and damage the device.
|
||||
:::
|
||||
|
||||
The information collected here is by no means definitive, and necessarily abbreviated (it's a huge topic).
|
||||
|
@ -72,7 +72,7 @@ Unless you're using your devices in a vacuum, with clear line of sight between a
|
|||
- Absorption by materials (with varying degrees attenuation, by material and depth),
|
||||
- Reflection off surfaces (and channeling through material tunnels, including warm / cold air tunnels commonly present in the atmosphere),
|
||||
- Diffraction around obstacles (over forests and around corners).
|
||||
- [Fresnel Zone](They may not have been selected for your given frequency range, tuned or of a quality design.) - Football shape between antennas that must be clear of obstructions or else the signal is attenuated.
|
||||
- Fresnel Zone - A football shape between antennas that must be clear of obstructions or else the signal is attenuated.
|
||||
|
||||
### Environmental Factors
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
id: heltec
|
||||
title: HELTEC® Lora 32
|
||||
sidebar_label: HELTEC® Lora 32
|
||||
title: HELTEC® LoRa 32
|
||||
sidebar_label: HELTEC® LoRa 32
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
|
@ -12,91 +12,35 @@ import TabItem from "@theme/TabItem";
|
|||
groupId="heltec"
|
||||
defaultValue="v3"
|
||||
values={[
|
||||
{label: 'Lora32 V1', value: 'v1'},
|
||||
{label: 'Lora32 V2.0', value: 'v2.0'},
|
||||
{label: 'Lora32 V2.1', value: 'v2.1'},
|
||||
{label: 'Lora32 V3', value:'v3'},
|
||||
{label: 'Wireless Stick Lite V3', value:'Wireless Stick Lite V3'}
|
||||
{label: 'LoRa32 V2.1', value: 'v2.1'},
|
||||
{label: 'LoRa32 V3', value:'v3'},
|
||||
{label: 'Wireless Stick Lite V3', value:'Wireless Stick Lite V3'},
|
||||
{label: 'Wireless Tracker', value: 'tracker'},
|
||||
{label: 'Wireless Paper', value: 'paper'}
|
||||
]}>
|
||||
<TabItem value="v1">
|
||||
|
||||
:::warning
|
||||
Not recommended! Very old board with design issues. Support is being phased out. Use V3 in new projects.
|
||||
:::
|
||||
|
||||
- **MCU**
|
||||
- ESP32 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver**
|
||||
- Semtech SX1276
|
||||
- **Frequency options**
|
||||
- 433 MHz
|
||||
- 915 MHz
|
||||
- 868 MHz
|
||||
- **Connectors**
|
||||
- Micro USB
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
## Features
|
||||
|
||||
- Built in 0.96 inch OLED display
|
||||
- User and Reset switches
|
||||
- No GPS
|
||||
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-v1-X.X.X.xxxxxxx.bin`
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="v2.0">
|
||||
|
||||
:::warning
|
||||
Not recommended because of design issues! Support is being phased out. Use V3 in new projects.
|
||||
:::
|
||||
|
||||
- **MCU**
|
||||
- ESP32 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver**
|
||||
- Semtech SX127x
|
||||
- **Frequency options**
|
||||
- 915 MHz
|
||||
- 868 MHz
|
||||
- **Connectors**
|
||||
- Micro USB
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
## Features
|
||||
|
||||
- Built in 0.96 inch OLED display
|
||||
- User and Reset switches
|
||||
- No GPS
|
||||
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-v2.0-X.X.X.xxxxxxx.bin`
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="v2.1">
|
||||
|
||||
:::warning
|
||||
Not recommended because of design issues! Support is being phased out. Use V3 in new projects.
|
||||
:::
|
||||
|
||||
- **MCU**
|
||||
- **MCU:**
|
||||
- ESP32 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver**
|
||||
- **LoRa Transceiver:**
|
||||
- Semtech SX127x
|
||||
- **Frequency options**
|
||||
- **Frequency Options:**
|
||||
- 433 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- **Connectors**
|
||||
- **Connectors:**
|
||||
- Micro USB
|
||||
- Antenna: U.FL antenna connector
|
||||
- Antenna:
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
|
||||
## Features
|
||||
|
||||
- Built in 0.96 inch OLED display
|
||||
- User and Reset switches
|
||||
- User and Reset Buttons
|
||||
- No GPS
|
||||
|
||||
## Resources
|
||||
|
@ -106,64 +50,168 @@ Not recommended because of design issues! Support is being phased out. Use V3 in
|
|||
</TabItem>
|
||||
<TabItem value="v3">
|
||||
|
||||
- **MCU**
|
||||
- ESP32-S3 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver**
|
||||
- Semtech SX126x
|
||||
- **Frequency options**
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- **Connectors**
|
||||
- USB-C
|
||||
- Antenna: U.FL antenna connector
|
||||
:::info
|
||||
This device may have issues charging a connected battery if utilizing a USB-C to USB-C cable. It's recommended to use a USB-A to USB-C cable.
|
||||
:::
|
||||
|
||||
- **MCU:**
|
||||
- ESP32-S3FN8 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver:**
|
||||
- Semtech SX1262
|
||||
- **Frequency Options:**
|
||||
- 433 MHz
|
||||
- 470 - 510 MHz
|
||||
- 863 - 870 MHz
|
||||
- 902 - 928 MHz
|
||||
- **Connectors:**
|
||||
- USB-C
|
||||
- Antenna:
|
||||
- Dedicated 2.4 GHz metal spring antenna for WiFi/Bluetooth
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Built in 0.96 inch OLED display
|
||||
- User and Reset switches
|
||||
- User and Reset Buttons
|
||||
- No GPS
|
||||
|
||||
### Pin Map
|
||||
|
||||
_V3.png)
|
||||
|
||||
Image Source: [Heltec](https://resource.heltec.cn/download/WiFi_LoRa32_V3/HTIT-WB32LA(F)_V3.png)
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-v3-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.com/item/1005004970848837.html)
|
||||
- Purchase link: [Heltec](https://heltec.org/project/wifi-lora-32-v3/)
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.us/item/3256805256690400.html)
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="Wireless Stick Lite V3">
|
||||
|
||||
- **MCU**
|
||||
- ESP32-S3 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver**
|
||||
- Semtech SX126x
|
||||
- **Frequency options**
|
||||
- 433 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- **Connectors**
|
||||
- USB-C
|
||||
- Antenna: IPEX/u.FL antenna connector
|
||||
:::info
|
||||
This device may have issues charging a connected battery if utilizing a USB-C to USB-C cable. It's recommended to use a USB-A to USB-C cable.
|
||||
:::
|
||||
|
||||
- **MCU:**
|
||||
- ESP32-S3FN8 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver:**
|
||||
- Semtech SX1262
|
||||
- **Frequency Options:**
|
||||
- 433 MHz
|
||||
- 470 - 510 MHz
|
||||
- 863 - 870 MHz
|
||||
- 902 - 928 MHz
|
||||
- **Connectors:**
|
||||
- USB-C
|
||||
- Antenna:
|
||||
- Dedicated 2.4 GHz stamped metal antenna for WiFi/Bluetooth
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- No display.
|
||||
- User and Reset switches.
|
||||
- Additional GPIO availability.
|
||||
- No GPS.
|
||||
- User and Reset Buttons
|
||||
- Additional GPIO availability
|
||||
- No GPS
|
||||
|
||||
### Meshtastic I2C Definitions
|
||||
- SCL: GPIO47
|
||||
- SDA: GPIO48
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
### Pin Map
|
||||
|
||||

|
||||
|
||||
Image Source: [Heltec](https://resource.heltec.cn/download/Wireless_Stick_Lite_V3/HTIT-WSL_V3.png)
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-wsl-v3-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.com/item/1005004839521502.html)
|
||||
- Purchase link: [Heltec](https://heltec.org/project/wireless-stick-lite-v2/)
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.us/item/3256805256996507.html)
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="tracker">
|
||||
|
||||
:::info
|
||||
This device may have issues charging a connected battery if utilizing a USB-C to USB-C cable. It's recommended to use a USB-A to USB-C cable.
|
||||
:::
|
||||
|
||||
- **MCU:**
|
||||
- ESP32-S3FN8 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver:**
|
||||
- Semtech SX1262
|
||||
- **Frequency Options:**
|
||||
- 470 - 510 MHz
|
||||
- 863 - 870 MHz
|
||||
- 902 - 928 MHz
|
||||
- **Connectors:**
|
||||
- USB-C
|
||||
- Antenna:
|
||||
- Dedicated 2.4 GHz metal spring antenna for WiFi/Bluetooth
|
||||
- U.FL/IPEX antenna connector for LoRa and GNSS
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Onboard 0.96-inch LCD display
|
||||
- User and Reset Buttons
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Pin Map
|
||||
|
||||

|
||||
|
||||
Image Source: [Heltec](https://heltec.org/project/wireless-tracker/)
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-wireless-tracker-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [Heltec](https://heltec.org/project/wireless-tracker/)
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.us/item/3256805495189423.html)
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="paper">
|
||||
|
||||
:::info
|
||||
This device may have issues charging a connected battery if utilizing a USB-C to USB-C cable. It's recommended to use a USB-A to USB-C cable.
|
||||
:::
|
||||
|
||||
- **MCU:**
|
||||
- ESP32-S3FN8 (WiFi & Bluetooth)
|
||||
- **LoRa Transceiver:**
|
||||
- Semtech SX1262
|
||||
- **Frequency Options:**
|
||||
- 470 - 510 MHz
|
||||
- 863 - 870 MHz
|
||||
- 902 - 928 MHz
|
||||
- **Connectors:**
|
||||
- USB-C
|
||||
- Antenna:
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
- Integrated 2.4 GHz PCB antenna
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Onboard 2.13-inch black and white E-Ink display screen
|
||||
- User and Reset switches
|
||||
- No GPS
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-heltec-wireless-paper-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [Heltec](https://heltec.org/project/wireless-paper/)
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.us/item/3256805461611876.html)
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
|
|
@ -84,7 +84,6 @@ This board is still in production but for various reasons not recommended for ne
|
|||
|
||||
- Firmware file: `firmware-tlora_v1_3-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [AliExpress](https://www.aliexpress.com/item/4000628100802.html)
|
||||
- US Distributor - Purchase link: [Rokland](https://store.rokland.com/products/lilygo-lora-v1-3-esp32-sx1276-915mhz-wifi-wireless-bluetooth-module-0-96-inch-oled-screen-support-arduino-development-board-q312?ref=8Bb2mUO5i-jKwt)
|
||||
|
||||

|
||||

|
||||
|
@ -190,7 +189,6 @@ Early versions of some of these boards contained the wrong component in the LiPo
|
|||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tlora-v2-1-1.8-X.X.X.xxxxxxx.bin`
|
||||
- Purchase link: [Banggood](https://www.banggood.com/LILYGO-LORA-H570-V1_8-SX1280-ESP32-2_4G-Smart-WiFi-bluetooth-Wireless-Module-0_96inch-OLED-Display-Development-Board-with-Antenna-Type-C-p-1969395.html)
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ The Nano G1 Explorer, powered by Meshtastic, is a significant upgrade from the N
|
|||
|
||||
### Resources
|
||||
|
||||
- Firmware file: `firmware-nano-g1-explorer-x.x.x.bin`
|
||||
- Firmware file: `firmware-nano-g1-explorer-X.X.X.xxxxxxx.bin`
|
||||
- Official Purchase Links:
|
||||
- [Official Store](https://shop.uniteng.com/product/meshtastic-mesh-device-nano-edition/)
|
||||
- [Official Tindie Store](https://www.tindie.com/products/neilhao/meshtastic-mesh-device-nano-g1-explorer/)
|
||||
|
|
|
@ -20,7 +20,7 @@ The Nano G1 is the first dedicated hardware device to be designed from scratch p
|
|||
- **Navigation Module**
|
||||
- ATGM336H-5N-71 (Supports GPS, BDS and GLONASS)
|
||||
- **Antenna**
|
||||
- Built in 915Mhz Lora PCB Antenna (VSWR <=1.5 @ 915 MHz)
|
||||
- Built in 915Mhz Lora PCB Antenna (VSWR \<=1.5 @ 915 MHz)
|
||||
- **Connectors**
|
||||
- USB-C
|
||||
|
||||
|
@ -33,8 +33,7 @@ The Nano G1 is the first dedicated hardware device to be designed from scratch p
|
|||
|
||||
### Resources
|
||||
|
||||
- Firmware file: `firmware-nano-g1-1.x.x.bin`
|
||||
- [Purchase link](https://www.tindie.com/products/neilhao/meshtastic-mesh-device-nano-edition/)
|
||||
- Firmware file: `firmware-nano-g1-X.X.X.xxxxxxx.bin`
|
||||
|
||||
Further information on the Nano G1 can be found on [Unit Engineering's Wiki](https://uniteng.com/wiki/doku.php?id=meshtastic:nano).
|
||||
|
||||
|
|
|
@ -15,27 +15,26 @@ groupId="rakcore"
|
|||
defaultValue="RAK4631"
|
||||
values={[
|
||||
{label: 'RAK4631', value: 'RAK4631'},
|
||||
{label: 'RAK11200', value: 'RAK11200'}
|
||||
{label: 'RAK11200', value: 'RAK11200'},
|
||||
{label: 'RAK11310', value: 'RAK11310'}
|
||||
]}>
|
||||
|
||||
<TabItem value="RAK4631">
|
||||
|
||||
### RAK4631
|
||||
## RAK4631 - nRF52
|
||||
|
||||
:::info
|
||||
Please be aware of the difference between the RAK4631 (Arduino bootloader) and the RAK4631-R (RUI3 bootloader). Meshtastic requires the Arduino bootloader. If you have a RAK4631-R, please see the [instructions for converting the bootloader](/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r).
|
||||
:::
|
||||
|
||||
- [RAK4631](https://store.rakwireless.com/products/rak4631-lpwan-node?variant=37505443856582)
|
||||
- RAK4631
|
||||
- **MCU**
|
||||
- nRF52840
|
||||
- Bluetooth BLE 5.0
|
||||
- Very low power consumption
|
||||
- **Meshtastic Firmware**
|
||||
- [`firmware-rak4631-2.X.X.xxxxxxx.uf2`](/downloads)
|
||||
- **LoRa transceiver**
|
||||
- **LoRa Transceiver:**
|
||||
- SX1262
|
||||
- **Frequency Options**
|
||||
- **Frequency Options:**
|
||||
- 433 MHz
|
||||
- 470 MHz
|
||||
- 799 MHz
|
||||
|
@ -44,12 +43,16 @@ Please be aware of the difference between the RAK4631 (Arduino bootloader) and t
|
|||
- 915 MHz
|
||||
- 920 MHz
|
||||
- 923 MHz
|
||||
- **Connectors**
|
||||
- U.FL antenna
|
||||
- **Connectors:**
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
|
||||
Further information on the RAK4631 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Overview/#product-description).
|
||||
### RAK4631 Resources
|
||||
|
||||
US Distributor - Purchase link: [Rokland - US915 Mhz](https://store.rokland.com/products/rak-wireless-rak4631-nordic-nrf52840-ble-core-module-for-lorawan-with-lora-sx1262)
|
||||
- Firmware file: `firmware-rak4631-X.X.X.xxxxxxx.uf2`
|
||||
- Further information on the RAK4631 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Overview/#product-description).
|
||||
- US Distributor - Purchase link: [Rokland - US915 Mhz](https://store.rokland.com/products/rak-wireless-rak4631-nordic-nrf52840-ble-core-module-for-lorawan-with-lora-sx1262)
|
||||
- Purchase Link: [RAK Wireless Store](https://store.rakwireless.com/products/rak4631-lpwan-node?variant=37505443856582)
|
||||
- Purchase Link: [RAK Wireless Aliexpress](https://www.aliexpress.us/item/3256801470104151.html)
|
||||
|
||||
<img
|
||||
alt="RAK4631 Core Module"
|
||||
|
@ -60,41 +63,27 @@ US Distributor - Purchase link: [Rokland - US915 Mhz](https://store.rokland.com/
|
|||
</TabItem>
|
||||
<TabItem value="RAK11200">
|
||||
|
||||
### RAK11200 / RAK13300
|
||||
## RAK11200 - ESP32
|
||||
|
||||
:::caution Note
|
||||
Only supported on the RAK5005-O / RAK19007 and the RAK19001 base board.
|
||||
:::info
|
||||
Only supported on the RAK5005-O / RAK19007 and the RAK19001 base boards.
|
||||
:::
|
||||
|
||||
The RAK11200 does not contain a LoRa transceiver, and thus needs to be added separately in the form of the [RAK13300 LPWAN module](https://store.rakwireless.com/products/rak13300-wisblock-lpwan). This occupies the IO Port of the base board.
|
||||
|
||||
- [RAK11200](https://store.rakwireless.com/products/wiscore-esp32-module-rak11200)
|
||||
- **MCU**
|
||||
- RAK11200
|
||||
- **MCU:**
|
||||
- ESP32-WROVER
|
||||
- Bluetooth 4.2
|
||||
- WiFi 802.11 b/g/n
|
||||
- High power consumption (relative to nRF52)
|
||||
- **Meshtastic Firmware**
|
||||
- [`firmware-rak11200-2.X.X.xxxxxx.bin`](/downloads)
|
||||
|
||||
Further information on the RAK11200 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK11200/Overview/#product-description).
|
||||
### RAK11200 Resources
|
||||
|
||||
- [RAK13300](https://store.rakwireless.com/products/rak13300-wisblock-lpwan)
|
||||
- **LoRa transceiver**
|
||||
- SX1262
|
||||
- **Frequency Options**
|
||||
- 433 MHz
|
||||
- 470 MHz
|
||||
- 864 MHz
|
||||
- 865 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- 920 MHz
|
||||
- 923 MHz
|
||||
- **Connectors**
|
||||
- U.FL antenna
|
||||
|
||||
Further information on the RAK13300 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK13300/Overview/#product-description).
|
||||
- Firmware file: `firmware-rak11200-X.X.X.xxxxxxx.bin`
|
||||
- Further information on the RAK11200 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK11200/Overview/#product-description).
|
||||
- Purchase Link: [RAK Wireless Store](https://store.rakwireless.com/products/wiscore-esp32-module-rak11200)
|
||||
- Purchase Link: [RAK Wireless Aliexpress](https://www.aliexpress.us/item/3256802312474717.html)
|
||||
|
||||
<img
|
||||
alt="RAK4631 5005 11200"
|
||||
|
@ -102,5 +91,42 @@ Further information on the RAK13300 can be found on the [RAK Documentation Cente
|
|||
style={{ zoom: "50%" }}
|
||||
/>
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="RAK11310">
|
||||
|
||||
## RAK11310 - RP2040
|
||||
|
||||
:::info
|
||||
|
||||
**Please note, this core module does NOT include BLE/WiFi.**
|
||||
|
||||
:::
|
||||
|
||||
- **MCU:**
|
||||
- Raspberry Pi RP2040
|
||||
- Dual M0+ Core
|
||||
- 133MHz CPU Clock
|
||||
- **LoRa Transceiver:**
|
||||
- SX1262
|
||||
- **Frequency Options:**
|
||||
- 433 MHz
|
||||
- 470 MHz
|
||||
- 864 MHz
|
||||
- 865 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- 920 MHz
|
||||
- 923 MHz
|
||||
- **Connectors:**
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
|
||||
### RAK11310 Resources
|
||||
|
||||
- Firmware file: `firmware-rak11310-X.X.X.xxxxxxx.uf2`
|
||||
- Further information on the RAK11310 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK11310/Overview/#product-description).
|
||||
- Purchase Link: [RAK Wireless Store](https://store.rakwireless.com/products/rak11310-wisblock-lpwan-module)
|
||||
- Purchase Link: [RAK Wireless Aliexpress](https://www.aliexpress.us/item/3256803225175784.html)
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
|
|
@ -18,7 +18,7 @@ If you wish to purchase parts separately, you will need a [WisBlock Base Board](
|
|||
|
||||
You can optionally purchase peripherals such as a GPS module, Screen, Sensor, or other various modules.
|
||||
|
||||
Please see the RAK documentation for the correct way to connect your hardware to ensure that you do not damage the device. There is currently no pin required to pair RAK devices via BLE.
|
||||
Please see the RAK documentation for the correct way to connect your hardware to the baseboard to ensure that you do not damage the device.
|
||||
|
||||
## Resources
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ The [RAK1400 EPD module](https://store.rakwireless.com/products/wisblock-epd-mod
|
|||
- Resolution 212 x 104 pixels
|
||||
- Occupies the IO Port of a Wisblock Base
|
||||
|
||||
- Firmware for 5005 with RAK14000 e-paper: [`firmware-rak4631_eink-1.3.x.uf2`](/downloads)
|
||||
- Firmware for 5005 with RAK14000 e-paper: [`firmware-rak4631_eink-X.X.X.xxxxxxx.uf2`](/downloads)
|
||||
|
||||
<img
|
||||
alt="RAK4631 5005 14000"
|
||||
|
|
50
docs/hardware/devices/raspberry-pi/index.mdx
Normal file
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
id: raspberry-pi
|
||||
title: Raspberry Pi Pico
|
||||
sidebar_label: Raspberry Pi Pico
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
|
||||
The Raspberry Pi Pico series is a range of tiny, fast, and versatile boards built using RP2040, the flagship microcontroller chip designed by Raspberry Pi in the UK.
|
||||
|
||||
:::info
|
||||
|
||||
Only the Pico W has WiFi/BLE capabilities. However, Meshtastic does not currently support the Pico W's WiFi/BLE
|
||||
:::
|
||||
|
||||
|
||||
### Pico
|
||||
|
||||
- **MCU:**
|
||||
- Raspberry Pi RP2040
|
||||
- Dual M0+ Core
|
||||
- 133MHz CPU Clock
|
||||
- **Connectors (On Pico):**
|
||||
- Micro-USB on Pico
|
||||
|
||||
:::note
|
||||
|
||||
Please be aware that the Raspberry Pi Pico must be used in combination with a [Waveshare LoRa Module](https://www.waveshare.com/product/raspberry-pi/boards-kits/raspberry-pi-pico-cat/pico-lora-sx1262-868m.htm), which provides the necessary SX1262 LoRa radio. Please ensure to select the correct frequency for your region.
|
||||
|
||||
:::
|
||||
|
||||
- **LoRa Transceiver (On LoRa Module):**
|
||||
- SX1262
|
||||
- **Frequency Options:**
|
||||
- 410 - 525 MHz
|
||||
- 863 - 870 MHz
|
||||
- 902 - 930 MHz
|
||||
- **Connectors (On LoRa Module):**
|
||||
- U.FL/IPEX antenna connector for LoRa
|
||||
- 1.25mm 2-Pin JST for battery
|
||||
|
||||
### Pico Resources
|
||||
|
||||
- Firmware file:`firmware-pico-X.X.X.xxxxxxx.uf2`
|
||||
- [Offical Website for the Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/), including official reseller links.
|
||||
|
||||
|
|
@ -35,8 +35,12 @@ The Station G1 is the second dedicated hardware device to be designed from scrat
|
|||
|
||||
### Resources
|
||||
|
||||
- Firmware file: `firmware-station-g1-1.x.x.bin`
|
||||
- [Purchase link](https://www.tindie.com/products/neilhao/meshtastic-mesh-device-station-edition/)
|
||||
- Firmware file: `firmware-station-g1-X.X.X.xxxxxxx.bin`
|
||||
- [Official Store](https://shop.uniteng.com/product/meshtastic-mesh-device-station-edition/)
|
||||
- [Official Tindie Store](https://www.tindie.com/products/neilhao/meshtastic-mesh-device-station-edition/)
|
||||
|
||||
|
||||
|
||||
|
||||
Further information on the Station G1 can be found on [Unit Engineering's Wiki](https://uniteng.com/wiki/doku.php?id=meshtastic:station).
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ sidebar_position: 2
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
All T-beam models have an 18650 size battery holder on the rear of the device. This is designed to the original specification of the 18650 and only fits unprotected flat top 18650 cells. Button top and protected cells are typically longer than 65mm, often approaching 70mm.
|
||||
All T-beam models (with the exception of the S3-Core) have an 18650 size battery holder on the rear of the device. This is designed to the original specification of the 18650 and only fits unprotected flat top 18650 cells. Button top and protected cells are typically longer than 65mm, often approaching 70mm.
|
||||
|
||||
Further information on the LILYGO® T-Beam devices can be found on LILYGO®'s [GitHub page](https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series).
|
||||
|
||||
|
@ -19,7 +19,9 @@ values={[
|
|||
{label: 'T-Beam v0.7', value:'0.7'},
|
||||
{label: 'T-Beam v1.1', value: '1.1'},
|
||||
{label: 'T-Beam with M8N', value: 'm8n'},
|
||||
{label: 'T-Beam with M8N & SX1262', value: 'sx1262'}
|
||||
{label: 'T-Beam with M8N & SX1262', value: 'sx1262'},
|
||||
{label: 'T-Beam S3-Core', value: 's3core'},
|
||||
{label: 'T-Beam Supreme', value: 'supreme'}
|
||||
]}>
|
||||
|
||||
<TabItem value="0.7">
|
||||
|
@ -75,12 +77,14 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
|
|||
- Micro USB
|
||||
- Antenna: SMA antenna connector
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Meshtastic preinstalled
|
||||
- Power, Program and Reset switches
|
||||
- **Comes with 0.96 inch OLED display** (soldering required to assemble)
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
|
||||
|
@ -109,12 +113,14 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
|
|||
- Micro USB
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Meshtastic preinstalled
|
||||
- Power, Program and Reset switches
|
||||
- Screen sold separately
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
|
||||
|
@ -141,12 +147,14 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
|
|||
- Micro USB
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Meshtastic preinstalled
|
||||
- Power, Program and Reset switches
|
||||
- Screen sold separately
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tbeam-X.X.X.xxxxxxx.bin`
|
||||
|
@ -156,4 +164,77 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
|
|||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "s3core">
|
||||
|
||||
- **MCU**
|
||||
- ESP32-S3 (WiFi & Bluetooth 5LE)
|
||||
- **LoRa Transceiver**
|
||||
- **Semtech SX1262** (improved performance)
|
||||
- **Frequency options**
|
||||
- 433 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- **Navigation Module**
|
||||
- **NEO-M10S - GNSS receiver (supports GPS, GLONASS, Galileo, BeiDou)** (better GPS sensitivity)
|
||||
- **Quectel L76K - (supports GPS, Beidou, GLONASS)** (lower price)
|
||||
- **Connectors**
|
||||
- USB-C
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- SoftRF preinstalled (flashing to Meshtastic required)
|
||||
- Boot and Reset switches
|
||||
- Can be used standalone without 'Supreme' daughterboard in a headless configuration
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tbeam-s3-core-X.X.X.xxxxxxx.bin`
|
||||
- Purchase Link: [AliExpress](https://www.aliexpress.com/item/1005005418286231.html)
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "supreme">
|
||||
|
||||
- **MCU**
|
||||
- ESP32-S3 (WiFi & Bluetooth 5LE)
|
||||
- **LoRa Transceiver**
|
||||
- **Semtech SX1262** (improved performance)
|
||||
- **Frequency options**
|
||||
- 433 MHz
|
||||
- 868 MHz
|
||||
- 915 MHz
|
||||
- **Navigation Module**
|
||||
- **NEO-M10S - GNSS receiver (supports GPS, GLONASS, Galileo, BeiDou)** (better GPS sensitivity)
|
||||
- **Quectel L76K - (supports GPS, Beidou, GLONASS)** (lower price)
|
||||
- **Connectors**
|
||||
- USB-C
|
||||
- Antenna: U.FL antenna connector
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Features
|
||||
|
||||
- Includes T-Beam S3-Core Module
|
||||
- SoftRF preinstalled (flashing to Meshtastic required)
|
||||
- Power, Boot and Reset switches
|
||||
- 1.3" OLED included
|
||||
- BME280 Air pressure sensor
|
||||
- QMI8658 IMU
|
||||
- QMC6310 Magnetometer
|
||||
- PCF8563 RTC
|
||||
- Micro-SD reader (not implemented in Meshtastic)
|
||||
|
||||
<!-- trunk-ignore(markdownlint/MD024) -->
|
||||
## Resources
|
||||
|
||||
- Firmware file: `firmware-tbeam-s3-core-X.X.X.xxxxxxx.bin`
|
||||
- Purchase Link: [AliExpress](https://www.aliexpress.com/item/1005005418286231.html)
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
|
||||
</Tabs>
|
||||
|
|
|
@ -14,3 +14,13 @@ sidebar_label: Trademark Grants
|
|||
- Details: Tony is an admin and contributer of computer aided design (CAD)/3D designs primarily for device enclosures and accessories, and runs an online shop for Meshtastic powered devices which carry the "Meshtastic" and "M" logos. The use of the Meshtastic Logo and Trademarks does not imply Tony is sponsored or endorsed by Meshtastic. Tony also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: http://k9rocket.tech
|
||||
- Details: K9 Rocket Technologies is an open technology development company selling and implementing Meshtastic-powered devices. The devices and their respective promotional content carry the "Powered by Meshtastic", "Meshtastic", & "M" logos. The use of the Meshtastic Logo and Trademarks does not imply K9 Rocket Technologies is sponsored or endorsed by Meshtastic. K9 Rocket Technologies also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason
|
||||
- Grant: Ben Lipsey
|
||||
- Details: Ben Lipsey is a Meshtastic Contributor and Promotional Materials Distributor. Promotional materials carry the "Meshtastic" and "M" logos. Materials also carry the Meshtastic.org URL. The use of the Meshtastic Logo and Trademarks does not imply Ben Lipsey is sponsored or endorsed by Meshtastic. Ben Lipsey also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: Mark Birss
|
||||
- Details: Mark Birss is a Meshtastic contributor/developer of DIY devices that carry the "Meshtastic" , Meshtastic.org URL and "M" logos. The use of the Meshtastic Logo and Trademarks does not imply Mark Birss is sponsored or endorsed by Meshtastic. Mark Birss also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant [Paul Carney](https://www.etsy.com/shop/3Dsafe)
|
||||
- Details: Paul primarily designs enclosures and assembles complete Meshtastic Radios for sale using modules from TTGO, Heltec and RAK. He runs an online shop for Meshtastic powered devices which carry the "Meshtastic" and M logos. The use of the Meshtastic Logo and Trademarks does not imply Paul is sponsored or endorsed by Meshtastic. Paul also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: [Keith Monaghan](http://voltaicenclosures.com/)
|
||||
- Details: Keith is a contributer of computer aided design (CAD)/3D designs primarily for device enclosures and accessories, and runs an online shop for Meshtastic powered devices which carry the "Meshtastic" and "M" logos. The use of the Meshtastic Logo and Trademarks does not imply Keith is sponsored or endorsed by Meshtastic. Keith also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
||||
- Grant: [Neil Hao](https://shop.uniteng.com/)
|
||||
- Details: Neil is a contributer of hardware designs, and runs an online shop for Meshtastic powered devices which carry the "Meshtastic" and "M" logos. The use of the Meshtastic Logo and Trademarks does not imply Neil is sponsored or endorsed by Meshtastic. Neil also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
|
|
@ -87,6 +87,8 @@ type this in the host machine:
|
|||
|
||||
`meshtastic --info --host localhost`
|
||||
|
||||
While you can interact with it in the same way as a normal device using a client that supports TCP connections, the application has its limitations. For example, rebooting is not implemented, so for some settings to apply you have to restart the application.
|
||||
|
||||
### Stop the container
|
||||
|
||||
Run this to get the ID:
|
||||
|
|
|
@ -17,22 +17,29 @@ You can find the settings available for MQTT [here](/docs/settings/moduleconfig/
|
|||
|
||||
Using or emitting packets directly in/from smart home control software such as Home Assistant or other consumers that can work with JSON messages.
|
||||
|
||||
When MQTT is enabled, the Meshtastic device simply uplinks and/or downlinks every raw protobuf packet that it sees to the MQTT broker. In addition, some packet types are serialized or deserialized from/to JSON messages for easier use in consumers. All packets are sent to the broker, whether they originate from another device on the mesh, or the gateway node itself.
|
||||
When MQTT is enabled, the Meshtastic device simply uplinks and/or downlinks every raw protobuf MeshPacket that it sees to the MQTT broker, encapsulated in a [ServiceEnvelope protobuf](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.ServiceEnvelope). In addition, some packet types are serialized or deserialized from/to JSON messages for easier use in consumers. All packets are sent to the broker, whether they originate from another device on the mesh, or the gateway node itself.
|
||||
|
||||
Packets may be encrypted. If you use the default meshtastic MQTT server, packets are always encrypted. If you use a custom MQTT broker (ie set `mqtt.address`), the `mqtt.encryption_enabled` setting applies, which by default is false.
|
||||
|
||||
IMPORTANT: When MQTT is turned on, you are potentially broadcasting your entire mesh traffic onto the public internet. This includes messages and position information.
|
||||
|
||||
### MQTT Topics
|
||||
### MQTT [Topics](https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices)
|
||||
|
||||
The device will uplink and downlink raw ([protobuf](https://developers.google.com/protocol-buffers)) packets to the `msh/` prefix:
|
||||
If no specific [root topic](/docs/settings/moduleconfig/mqtt#root-topic) is configured, the default root topic will be `msh/`.
|
||||
Each device that is connected to MQTT will publish its MQTT state ("`online`"/"`offline`") to:
|
||||
|
||||
`msh/2/c/ShortFast/!12345678` where
|
||||
`msh/2/stat/USERID`, where `USERID` is the user ID of the gateway device (the one connected to MQTT).
|
||||
|
||||
- `!12345678` is the address of the gateway device.
|
||||
- `ShortFast` is the channel name.
|
||||
For each channel where uplink and/or downlink is enabled two other topics might be used.
|
||||
|
||||
The payload is a raw protobuf. Looking at the MQTT traffic with a program like `mosquitto_sub` will tell you it's working, but you won't get much useful information out of it. For example:
|
||||
#### Protobufs topic
|
||||
A gateway node will uplink and/or downlink raw ([protobuf](https://developers.google.com/protocol-buffers)) MeshPackets to the topic:
|
||||
|
||||
`msh/2/c/CHANNELNAME/USERID`, where `CHANNELNAME` is the name of the channel.
|
||||
|
||||
For example: `msh/2/c/LongFast/!abcd1234`
|
||||
|
||||
The payload is a raw protobuf, whose definitions for Meshtastic can be found [here](https://github.com/meshtastic/protobufs/blob/master/meshtastic). Reference guides for working with protobufs in several popular programming languages can be found [here](https://protobuf.dev/reference/). Looking at the MQTT traffic with a program like `mosquitto_sub` will tell you it's working, but you won't get much useful information out of it. For example:
|
||||
|
||||
```text
|
||||
苓????"!
|
||||
|
@ -40,7 +47,12 @@ The payload is a raw protobuf. Looking at the MQTT traffic with a program like `
|
|||
ShortFast !937bed1c
|
||||
```
|
||||
|
||||
Packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON and then forwarded to the `msh/2/json/CHANNELID/DEVICEID` topic: `TEXT_MESSAGE_APP`, `ENVIRONMENTAL_MEASUREMENT_APP`, `NODEINFO_APP` and `POSITION_APP`.
|
||||
If [encryption_enabled](/docs/settings/moduleconfig/mqtt#encryption-enabled) is set to true, the payload of the MeshPacket will remain encrypted with the key for the specified channel.
|
||||
|
||||
#### JSON topic
|
||||
If [JSON is enabled](/docs/settings/moduleconfig/mqtt/#json-enabled), packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON: `TEXT_MESSAGE_APP`, `ENVIRONMENTAL_MEASUREMENT_APP`, `NODEINFO_APP` and `POSITION_APP`. These are then forwarded to the topic:
|
||||
|
||||
`msh/2/json/CHANNELNAME/USERID`.
|
||||
|
||||
An example of a received `NODEINFO_APP` message:
|
||||
|
||||
|
@ -62,6 +74,22 @@ An example of a received `NODEINFO_APP` message:
|
|||
}
|
||||
```
|
||||
|
||||
The meaning of these fields is as follows:
|
||||
|
||||
- "`id`" is the unique ID for this message.
|
||||
- "`channel`" is the channel index this message was received on.
|
||||
- "`from`" is the unique node number of the node on the mesh that sent this message, represented as a signed decimal number.
|
||||
- "`id`" inside the payload of a `NODEINFO_APP` message is the user ID of the node that sent it, which is currently just the hexadecimal representation of the node number.
|
||||
- "`hardware`" is the [hardware model](https://github.com/meshtastic/protobufs/blob/master/meshtastic/mesh.proto#L215) of the node sending the `NODEINFO_APP` message.
|
||||
- "`longname`" is the long name of the device that sent the `NODEINFO_APP` message.
|
||||
- "`shortname`" is the short name of the device that sent the `NODEINFO_APP` message.
|
||||
- "`sender`" is the user ID of the gateway device, which is in this case the same node that sent the `NODEINFO_APP` message (the hexadecimal value `7efeee00` represented by an integer in decimal is `2130636288`).
|
||||
- "`timestamp`" is the Unix Epoch when the message was received, represented as an integer in decimal.
|
||||
- "`to`" is the node number of the destination of the message. In this case, "-1" means it was a broadcast message (this is the decimal integer representation of `0xFFFFFFFF`).
|
||||
- "`type`" is the type of the message, in this case it was a `NODEINFO_APP` message.
|
||||
|
||||
The "from" field can thus be used as a stable identifier for a specific node. Note that (like the "`id`" and "`to`" fields) in JSON this is a signed value, whereas in protobufs it is unsigned.
|
||||
|
||||
If the message received contains valid JSON in the payload, the JSON is deserialized and added as a JSON object rather than a string containing the serialized JSON.
|
||||
|
||||
**Sent messages** will be checked if the MQTT payload contains a valid JSON-encoded envelope:
|
||||
|
@ -90,34 +118,6 @@ Check out [MQTT Settings](/docs/settings/moduleconfig/mqtt) for full information
|
|||
`uplink_enabled` will tell the device to publish mesh packets to MQTT.
|
||||
`downlink_enabled` will tell the device to subscribe to MQTT, and forward any packets from there onto the mesh.
|
||||
|
||||
### Topics
|
||||
|
||||
The "mesh/crypt/CHANNELID/NODEID/PORTID" [topic](https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices) will be used for messages sent from/to a mesh.
|
||||
|
||||
Gateway nodes will forward any MeshPacket from a local mesh channel with uplink_enabled. The packet (encapsulated in a ServiceEnvelope) will remain encrypted with the key for the specified channel.
|
||||
|
||||
For any channels in the local node with downlink_enabled, the gateway node will forward packets from MQTT to the local mesh. It will do this by subscribing to mesh/crypt/CHANNELID/# and forwarding relevant packets.
|
||||
|
||||
If the channelid 'well known'/public it could be decrypted by a web service (if the web service was provided with the associated channel key), in which case it will be decrypted by a web service and appear at "mesh/clear/CHANNELID/NODEID/PORTID". Note: This is not in the initial deliverable.
|
||||
|
||||
#### Service Envelope
|
||||
|
||||
The payload published on mesh/... will always be wrapped in a [ServiceEnvelope protobuf](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.ServiceEnvelope).
|
||||
|
||||
ServiceEnvelope will include the message, and full information about arrival time, who forwarded it, source channel, source mesh id, etc...
|
||||
|
||||
#### NODEID
|
||||
|
||||
The unique ID for a node. A hex string that starts with an ! symbol.
|
||||
|
||||
#### USERID
|
||||
|
||||
A user ID string. This string is either a user ID if known or a nodeid to simply deliver the message to whoever the local user is of a particular device (i.e. person who might see the screen). FIXME, see what riot.im uses and perhaps use that convention? Or use the signal +phone number convention? Or the email address?
|
||||
|
||||
#### CHANNELID
|
||||
|
||||
FIXME, figure out how channelids work
|
||||
|
||||
### Gateway nodes
|
||||
|
||||
Any meshtastic node that has a direct connection to the internet (either via a helper app or installed WiFi/4G/satellite hardware) can function as a "Gateway node".
|
||||
|
|
|
@ -17,6 +17,27 @@ Shows a help message that describes the arguments.
|
|||
```shell title="Usage"
|
||||
meshtastic -h
|
||||
```
|
||||
### --export-config
|
||||
|
||||
Export the configuration of the device. (to be consumed by the '--configure' command).
|
||||
|
||||
To create to a file with the connected device's configuration, this command's output must be piped to a yaml file.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --export-config > example_config.yaml
|
||||
```
|
||||
|
||||
```title="Usage"shell
|
||||
meshtastic --export-config
|
||||
```
|
||||
|
||||
### --configure
|
||||
|
||||
Configure radio using a yaml file.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --configure example_config.yaml
|
||||
```
|
||||
|
||||
### --port PORT
|
||||
|
||||
|
@ -51,6 +72,38 @@ Read and display the radio config information.
|
|||
meshtastic --port /dev/ttyUSB0 --info
|
||||
```
|
||||
|
||||
### --set-canned-message
|
||||
|
||||
Set the canned message plugin messages separated by pipes `|` (up to 200 characters).
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --set-canned-message "I need an alpinist!|Call Me|Roger Roger|Keep Calm|On my way"
|
||||
```
|
||||
|
||||
### --get-canned-message
|
||||
|
||||
Show the canned message plugin message.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --get-canned-message
|
||||
```
|
||||
|
||||
### --set-ringtone RINGTONE
|
||||
|
||||
Set the Notification Ringtone (up to 230 characters).
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --set-ringtone "LeisureSuit:d=16,o=6,b=56:f.5,f#.5,g.5,g#5,32a#5,f5,g#.5,a#.5,32f5,g#5,32a#5,g#5,8c#.,a#5,32c#,a5,a#.5,c#.,32a5,a#5,32c#,d#,8e,c#.,f.,f.,f.,f.,f,32e,d#,8d,a#.5,e,32f,e,32f,c#,d#.,c#"
|
||||
```
|
||||
|
||||
### --get-ringtone
|
||||
|
||||
Show the stored ringtone.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --get-ringtone
|
||||
```
|
||||
|
||||
### --nodes
|
||||
|
||||
Prints a node list in a pretty, formatted table.
|
||||
|
@ -67,19 +120,22 @@ Displays the QR code that corresponds to the current channel.
|
|||
meshtastic --qr
|
||||
```
|
||||
|
||||
### --get GET
|
||||
### --get [config_section]
|
||||
|
||||
Gets a preferences field.
|
||||
|
||||
Configuration values are described in: [Configuration](https://meshtastic.org/docs/settings).
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --get lora
|
||||
meshtastic --get lora.region
|
||||
```
|
||||
|
||||
### --set [config_section].[option] [value]
|
||||
### --set [config_section].[option] [value]
|
||||
|
||||
Sets a preferences field.
|
||||
|
||||
Configuration values are described in this section: [Configuration Sections](https://meshtastic.org/docs/settings/config)
|
||||
Configuration values are described in: [Configuration](https://meshtastic.org/docs/settings).
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --set lora.region Unset
|
||||
|
@ -95,7 +151,7 @@ meshtastic --seturl https://www.meshtastic.org/c/GAMiIE67C6zsNmlWQ-KE1tKt0fRKFci
|
|||
|
||||
### --ch-index CH_INDEX
|
||||
|
||||
Set the specified channel index
|
||||
Set the specified channel index.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-index 1 --ch-disable
|
||||
|
@ -141,17 +197,57 @@ Set a channel parameter.
|
|||
meshtastic --ch-set id 1234 --ch-index 0
|
||||
```
|
||||
|
||||
### --ch-vlongslow
|
||||
|
||||
Change modem preset to `VERY_LONG_SLOW`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-vlongslow
|
||||
```
|
||||
|
||||
### --ch-longslow
|
||||
|
||||
Change to the standard long-range (but slow) channel.
|
||||
Change modem preset to `LONG_SLOW`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-longslow
|
||||
```
|
||||
|
||||
### --ch-longfast
|
||||
|
||||
Change modem preset to (the default) `LONG_FAST`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-longfast
|
||||
```
|
||||
|
||||
### --ch-medslow
|
||||
|
||||
Change modem preset to `MEDIUM_SLOW`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-medslow
|
||||
```
|
||||
|
||||
### --ch-medfast
|
||||
|
||||
Change modem preset to `MEDIUM_FAST`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-medfast
|
||||
```
|
||||
|
||||
### --ch-shortslow
|
||||
|
||||
Change modem preset to `SHORT_SLOW`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-shortslow
|
||||
```
|
||||
|
||||
### --ch-shortfast
|
||||
|
||||
Change to the standard fast (but short range) channel.
|
||||
Change modem preset to `SHORT_FAST`.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --ch-shortfast
|
||||
|
@ -162,7 +258,15 @@ meshtastic --ch-shortfast
|
|||
Set device owner name.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --dest '!28979058' --set-owner "MeshyJohn"
|
||||
meshtastic --set-owner "MeshyJohn"
|
||||
```
|
||||
|
||||
### --set-owner-short SET_OWNER_SHORT
|
||||
|
||||
Set device owner short name (4 characters max).
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --set-owner-short "MJ"
|
||||
```
|
||||
|
||||
### --set-ham SET_HAM
|
||||
|
@ -175,7 +279,7 @@ meshtastic --set-ham KI1345
|
|||
|
||||
### --dest DEST
|
||||
|
||||
The destination node id for any sent commands
|
||||
The destination node id for any sent commands. Used for [Remote Node Administration](/docs/configuration/remote-admin)
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --dest '!28979058' --set-owner "MeshyJohn"
|
||||
|
@ -183,7 +287,7 @@ meshtastic --dest '!28979058' --set-owner "MeshyJohn"
|
|||
|
||||
### --sendtext SENDTEXT
|
||||
|
||||
Send a text message. Can specify a channel index ('--ch-index') or a destination ('--dest')
|
||||
Send a text message. Can specify a channel index ('--ch-index') or a destination ('--dest').
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --sendtext "Hello Mesh!"
|
||||
|
@ -197,12 +301,52 @@ Send a ping message (which requests a reply).
|
|||
meshtastic --sendping
|
||||
```
|
||||
|
||||
### --reboot
|
||||
### --traceroute TRACEROUTE
|
||||
|
||||
Tell the destination node to reboot.
|
||||
Traceroute from connected node to a destination. You need pass the destination ID as an argument. Only nodes that have the encryption key can be traced.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --dest '!28979058' --reboot
|
||||
meshtastic --traceroute 'ba4bf9d0'
|
||||
```
|
||||
|
||||
### --ack
|
||||
|
||||
Used in combination with --sendtext to wait for an acknowledgment.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --sendtext "Hello Mesh!" --ack
|
||||
```
|
||||
|
||||
### --reboot
|
||||
|
||||
Tell the node to reboot.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --reboot
|
||||
```
|
||||
|
||||
### --shutdown
|
||||
|
||||
Tell the node to shutdown.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --shutdown
|
||||
```
|
||||
|
||||
### --factory-reset
|
||||
|
||||
Tell the node to install the default config.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --factory-reset
|
||||
```
|
||||
|
||||
### --reset-nodedb
|
||||
|
||||
Tell the node to clear its list of nodes.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --reset-nodedb
|
||||
```
|
||||
|
||||
### --reply
|
||||
|
@ -309,46 +453,10 @@ Show program's version number and exit.
|
|||
meshtastic --version
|
||||
```
|
||||
|
||||
### --configure
|
||||
|
||||
Configure all of the radio configuration from a yaml file.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --configure example_config.yaml
|
||||
```
|
||||
|
||||
### --export-config
|
||||
|
||||
Export the configuration of the device. (to be consumed by the '--configure' command)
|
||||
|
||||
To create to a file with the connected device's configuration, this command's output must be piped to a yaml file
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --export-config > example_config.yaml
|
||||
```
|
||||
|
||||
```title="Usage"shell
|
||||
meshtastic --export-config
|
||||
```
|
||||
|
||||
### --support
|
||||
|
||||
Print out info that would be helpful supporting any issues.
|
||||
|
||||
```shell title="Usage"
|
||||
meshtastic --support
|
||||
```
|
||||
|
||||
## 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.
|
||||
```
|
|
@ -9,7 +9,7 @@ sidebar_position: 1
|
|||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
This library provides a command line interface (CLI) 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.
|
||||
This library provides a command line interface (CLI) for managing the user settings of Meshtastic nodes and provides an easy API for sending and receiving messages over mesh radios. Events are delivered using a publish-subscribe model, and you can subscribe to only the message types you are interested in.
|
||||
|
||||
The [Meshtastic-python repo](https://github.com/meshtastic/Meshtastic-python) and [API documentation](https://python.meshtastic.org) are excellent sources of information.
|
||||
|
||||
|
|
|
@ -27,9 +27,9 @@ to keep the Bluetooth link alive for eight hours (any usage of the Bluetooth pro
|
|||
|
||||
```shell title="Expected Output"
|
||||
# You should see a result similar to this:
|
||||
mydir$ meshtastic --set bluetooth.wait_bluetooth_secs 28800
|
||||
mydir$ meshtastic --set power.wait_bluetooth_secs 28800
|
||||
Connected to radio...
|
||||
Setting bluetooth.wait_bluetooth_secs to 28800
|
||||
Setting power.wait_bluetooth_secs to 28800
|
||||
Writing modified preferences to device...
|
||||
```
|
||||
|
||||
|
@ -51,14 +51,14 @@ For a full list of preferences which can be set (and their documentation) can be
|
|||
|
||||
### Changing channel settings
|
||||
|
||||
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).
|
||||
The channel settings can also be changed, either by using a standard (shareable) meshtastic URL or you can set a 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.
|
||||
:::
|
||||
|
||||
```shell
|
||||
meshtastic --ch-set name mychan --ch-index 1 --ch-set channel_num 4 --info
|
||||
meshtastic --ch-set name mychan --ch-index 1 --info
|
||||
```
|
||||
|
||||
You can even set the channel preshared key to a particular AES128 or AES256 sequence.
|
||||
|
@ -69,14 +69,14 @@ meshtastic --ch-index 1 --ch-set psk 0x1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2
|
|||
|
||||
Use `--ch-set psk none --ch-index 0` to turn off encryption.
|
||||
|
||||
Use `--ch-set psk random --ch-index 0` will assign a new (high quality) random AES256 key to the primary channel (similar to what the Android app does when making new channels).
|
||||
Use `--ch-set psk random --ch-index 0` to assign a new (high quality) random AES256 key to the primary channel (similar to what the Android app does when making new channels).
|
||||
|
||||
Use `--ch-set psk default --ch-index 0` to restore the standard 'default' (minimally secure, because it is in the source code for anyone to read) AES128 key.
|
||||
|
||||
All `ch-set` commands need to have the `ch-index` parameter specified:
|
||||
|
||||
```shell
|
||||
meshtastic --ch-index 1 --ch-set name mychan --ch-set channel_num 4 --info
|
||||
meshtastic --ch-index 1 --ch-set name mychan --info
|
||||
```
|
||||
|
||||
### Ham radio support
|
||||
|
@ -85,7 +85,7 @@ Meshtastic is designed to be used without a radio operator license. If you do ha
|
|||
|
||||
```shell title="Expected Output"
|
||||
# You should see a result similar to this:
|
||||
mydir$ meshtastic --port /dev/ttyUSB1 --set-ham KI1345
|
||||
mydir$ meshtastic --set-ham KI1345
|
||||
Connected to radio
|
||||
Setting Ham ID to KI1345 and turning off encryption
|
||||
Writing modified channels to device
|
||||
|
@ -130,7 +130,7 @@ This indicates an OS permission problem for access by your user to the USB seria
|
|||
sudo usermod -a -G dialout <username>
|
||||
```
|
||||
|
||||
If the adding the user to the dialout group does not work, you can use the following command to find out which group to add your user to.
|
||||
If adding your user to the dialout group does not work, you can use the following command to find out which group to add your user to.
|
||||
In this example (from Arch Linux) the group was "uucp"
|
||||
|
||||
```shell
|
||||
|
|
50
package.json
|
@ -15,39 +15,39 @@
|
|||
"crowdin:sync": "docusaurus write-translations && crowdin upload && crowdin download"
|
||||
},
|
||||
"dependencies": {
|
||||
"@algolia/client-search": "^4.17.0",
|
||||
"@crowdin/cli": "^3.2.2",
|
||||
"@docusaurus/core": "2.4.1",
|
||||
"@docusaurus/plugin-content-docs": "2.4.1",
|
||||
"@docusaurus/preset-classic": "2.4.1",
|
||||
"@docusaurus/theme-common": "^2.4.1",
|
||||
"@docusaurus/theme-mermaid": "^2.4.1",
|
||||
"@headlessui/react": "^1.7.14",
|
||||
"@algolia/client-search": "^4.19.1",
|
||||
"@docusaurus/core": "3.0.0-alpha.0",
|
||||
"@docusaurus/plugin-content-docs": "3.0.0-alpha.0",
|
||||
"@docusaurus/preset-classic": "3.0.0-alpha.0",
|
||||
"@docusaurus/theme-common": "3.0.0-alpha.0",
|
||||
"@docusaurus/theme-mermaid": "3.0.0-alpha.0",
|
||||
"@headlessui/react": "^1.7.16",
|
||||
"@heroicons/react": "^2.0.18",
|
||||
"@mdx-js/react": "^1.6.22",
|
||||
"@meshtastic/meshtasticjs": "2.1.9-0",
|
||||
"@mdx-js/react": "^2.3.0",
|
||||
"@meshtastic/meshtasticjs": "2.2.0-0",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"base64-js": "^1.5.1",
|
||||
"dotenv": "^16.0.3",
|
||||
"dotenv": "^16.3.1",
|
||||
"framer-motion": "^6.5.1",
|
||||
"postcss": "^8.4.23",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-icons": "^4.8.0",
|
||||
"postcss": "^8.4.27",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-icons": "^4.10.1",
|
||||
"react-responsive-carousel": "^3.2.23",
|
||||
"swr": "^2.1.5",
|
||||
"tailwindcss": "^3.3.2",
|
||||
"url-search-params-polyfill": "^8.1.1",
|
||||
"use-breakpoint": "^3.0.7"
|
||||
"swr": "^2.2.0",
|
||||
"tailwindcss": "^3.3.3",
|
||||
"url-search-params-polyfill": "^8.2.4",
|
||||
"use-breakpoint": "^3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "2.4.1",
|
||||
"@docusaurus/module-type-aliases": "3.0.0-alpha.0",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"@tsconfig/docusaurus": "^1.0.7",
|
||||
"@types/node": "^20.1.7",
|
||||
"@types/react": "^18.2.6",
|
||||
"@types/react-dom": "^18.2.4",
|
||||
"rome": "^12.1.0",
|
||||
"typescript": "^5.0.4"
|
||||
"@tsconfig/docusaurus": "^2.0.0",
|
||||
"@types/node": "^20.4.8",
|
||||
"@types/react": "^18.2.18",
|
||||
"@types/react-dom": "^18.2.7",
|
||||
"rome": "^12.1.3",
|
||||
"typescript": "^5.1.6"
|
||||
}
|
||||
}
|
||||
|
|
3427
pnpm-lock.yaml
BIN
static/img/hardware/HT-Tracker_V1_Pin_Map.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
static/img/hardware/HTIT-WB32LA(F)_V3.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
static/img/hardware/T-BEAM-S3-Supreme.jpg
Normal file
After Width: | Height: | Size: 860 KiB |
BIN
static/img/hardware/T-BEAM-S3Core.jpg
Normal file
After Width: | Height: | Size: 728 KiB |
BIN
static/img/modules/Serial/arduino-mini-pro-pir-wiring.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
static/img/modules/Serial/pico-pir-wiring.png
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
static/img/records/kboxlabs_map.png
Normal file
After Width: | Height: | Size: 4.4 MiB |
BIN
static/img/records/kboxlabs_receiver.png
Normal file
After Width: | Height: | Size: 4.6 MiB |
BIN
static/img/records/kboxlabs_sender.png
Normal file
After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 411 KiB After Width: | Height: | Size: 551 KiB |