Merge branch 'master' into patch-1

This commit is contained in:
Tom 2023-06-16 18:57:20 +01:00 committed by GitHub
commit 0fb3838eb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 122 additions and 78 deletions

View file

@ -67,7 +67,7 @@ The current implementation provides optional confidentiality to members of a con
- Pairing from client-to-device is by:
- direct USB cable
- BT pairing
- Devices are 'promiscuous' and will pair with any near-by client. Network confidentiality requires physical protextion of all nodes.
- Devices are 'promiscuous' and will pair with any near-by client. Network confidentiality requires physical protection of all nodes.
### Phase 2 - Strong device and client identity
@ -75,9 +75,9 @@ The current implementation provides optional confidentiality to members of a con
- Know who sent a message (strong binding of messages to a particular node and/or terminal device)
- This would be an optional feature for a message
- Optionaly enforce identity based restrictions on some actions performed at nodes and/or clients
- Optionally enforce identity based restrictions on some actions performed at nodes and/or clients
- Optional support of strong pairing of a client to a device/node and restrict ability to manage and receive messages based on the pairing.
- The BT paring and the cryptographic paring are separate (to simplify pahse 1 deployment and testing)
- The BT paring and the cryptographic paring are separate (to simplify phase 1 deployment and testing)
- Above features should be architected to be cryptographically strong and algorithm agile.
**Phase 2 Proposed mechanisms:**
@ -93,7 +93,7 @@ The current implementation provides optional confidentiality to members of a con
Wrapped data to contain any of the existing message types.
- initial cipher suite **only** signs a message
- new signed/authenticated messages to:
- device->client: provide ownership status of device (owner is identifed by a public key)
- device->client: provide ownership status of device (owner is identified by a public key)
- client->device: set owner key (must be existing device owner or owner null)
- any->all. Broadcast public key and associated info (crude initial key distribution)

View file

@ -192,7 +192,7 @@ meshtastic --ch-set psk base64:puavdd7vtYJh8NUVWgxbsoG2u9Sdqc54YvMLs+KNcMA= --ch
```
:::tip
Use this to copy and paste the `base64` encoded (single channel) key from the meshtastic --info command. Please dont use the omnibus (all channels) code here, it is not a valid key.
Use this to copy and paste the `base64` encoded (single channel) key from the meshtastic --info command. Please don't use the omnibus (all channels) code here, it is not a valid key.
:::
```shell title="Disable encryption on PRIMARY channel"

View file

@ -115,6 +115,14 @@ While in light sleep when we receive packets on the LoRa radio we will wake and
`0` for default of 10 seconds
### Device Battery INA2xx Address
If an INA-2XX device is auto-detected on one of the I2C buses at the specified address, it will be used as the authoritative source for reading device battery level voltage. Setting is ignored for devices with PMUs (e.g. T-beams)
:::tip
I2C addresses are normally represented in hexadecimal and will require conversion to decimal in order to set via Meshtastic clients. For example the I2C address of 0x40 converted to decimal is 64.
:::
## Power Config Client Availability
<Tabs
@ -164,6 +172,7 @@ All Power config options are available in the python CLI.
| power.sds_secs | `integer` (seconds) | Default of `0` is 1 year |
| power.ls_secs | `integer` (seconds) | Default of `0` is 1 hour |
| 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 |
:::tip

View file

@ -53,7 +53,7 @@ The GPIO to use for the DIN signal in the I2S interface.
The GPIO to use for the SCK signal in the I2S interface.
:::info What is this?
These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's **no** default pin assigment, setting these is mandatory.
These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's **no** default pin assignment, setting these is mandatory.
:::
## Audio Module Config Client Availability

View file

@ -10,11 +10,12 @@ Modules are included in the firmware and allow users to extend the functionality
| Name | Description |
| :------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [Audio](/docs/settings/moduleconfig/audio) | enable Support for Codec2 Voice Comms on certain devices |
| [Audio](/docs/settings/moduleconfig/audio) | Enable Support for Codec2 Voice Comms on certain devices. |
| [Canned Message](/docs/settings/moduleconfig/canned-message) | Set a number of predefined messages to send out directly from the device with the use of an input device like a rotary encoder. |
| [External Notification](/docs/settings/moduleconfig/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc) |
| [External Notification](/docs/settings/moduleconfig/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc). |
| [MQTT](/docs/settings/moduleconfig/mqtt) | Forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet. |
| [Range Test](/docs/settings/moduleconfig/range-test) | Send messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV. |
| [Serial Module](/docs/settings/moduleconfig/serial) | Send messages across the mesh by sending strings over a serial port. |
| [Store & Forward](/docs/settings/moduleconfig/store-and-forward-module) | Stores messages on a device for delivery after disconnected clients rejoin the mesh. |
| [Telemetry](/docs/settings/moduleconfig/telemetry) | Attach sensors to the device and transmit readings on a regular interval to the mesh. |
| [Traceroute](/docs/settings/moduleconfig/traceroute) | Track which nodes are used to hop a message to a certain destination. |

View file

@ -1,6 +1,7 @@
---
id: store-and-forward-module
title: Store & Forward Module Settings
slug: /settings/moduleconfig/store-and-forward-module
sidebar_label: Store & Forward
---

View file

@ -8,11 +8,9 @@ sidebar_label: Telemetry
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
The Telemetry Module provides two types of data over the mesh. Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your meshtastic device and Environment Metrics from attached I2C sensors.
The Telemetry Module provides three types of data over the mesh: Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your Meshtastic device, Environment Metrics from attached I2C sensors, and Air Quality Metrics from attached I2C particle sensors.
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry must be enabled for them to be instrumented and their readings sent over the mesh.
The telemetry module config options are: Device Metrics Update Interval, Environment Metrics Update Interval, Environment Telemetry Enabled, Show on Device Screen, and Display Fahrenheit.
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry and Air Quality must be enabled for them to be instrumented and their readings sent over the mesh.
### Currently Supported Sensor Types
@ -27,39 +25,50 @@ The telemetry module config options are: Device Metrics Update Interval, Environ
| LPS22 | 0x5D, 0x5c | Barometric pressure |
| SHTC3 | 0x70 | Temperature and humidity |
| SHT31 | 0x44 | Temperature and humidity |
| PMSA003I| 0x12 | Concentration units by size and particle counts by size |
## Module Config Values
### Update Intervals
### Environment Telemetry Enabled
### Device Metrics Update Interval
How often we should send Device Metrics over the mesh.
Default is every 15 minutes.
Enable the Environment Telemetry (Sensors).
### Environment Metrics Update Interval
How often we should send Environment(Sensor) Metrics over the mesh.
Default is every 15 minutes.
Default is `900` seconds (15 minutes).
## Sensor options
### Device Metrics Update Interval
### Environment Telemetry Enabled
How often we should send Device Metrics over the mesh.
Enable the Environment Telemetry (Sensors)
Default is `900` seconds (15 minutes).
### Show on device screen
### Environment Screen Enabled
Show the Telemetry Module on the device display.
Show the environment telemetry data on the device display.
Default is `false`.
### Display Fahrenheit
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit using this setting.
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit (on the device display only) using this setting.
Default is `false`.
### Air Quality Enabled
This option is used to enable/disable the sending of air quality metrics from an attached supported sensor over the mesh network.
Default is `false`.
### Air Quality Interval
This option is used to configure the interval (in seconds) that should be used to send air quality metrics from an attached supported sensor over the mesh network.
Default is `900` seconds (15 minutes).
## Device Config Client Availability
<Tabs
@ -104,10 +113,12 @@ All telemetry module config options are available in the python CLI. Example com
| Setting | Acceptable Values | Default |
| :---------------------------------------: | :-----------------: | :---------------------------------------: |
| telemetry.device_update_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
| telemetry.environment_screen_enabled | `true`, `false` | `0` |
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
| telemetry.environment_screen_enabled | `true`, `false` | `false` |
| telemetry.environment_update_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
| telemetry.air_quality_enabled | `true`, `false` | `false` |
| telemetry.air_quality_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
:::tip

View file

@ -38,7 +38,7 @@ Typical flow when a phone connects to the device should be the following (if you
- There are only three relevant endpoints (and they have built in BLE documentation - so use a BLE tool of your choice to watch them): FromRadio, FromNum (sends notifies when new data is available in FromRadio) and ToRadio
- SetMTU size to 512
- Write a ToRadio.startConfig protobuf to the "ToRadio" endpoint - this tells the radio you are a new connection and you need the entire NodeDB sent down.
- Read repeatedly from the "FromRadio" endpoint. Each time you read you will get back a FromRadio protobuf (see Meshtatastic-protobuf). Keep reading from this endpoint until you get back and empty buffer.
- Read repeatedly from the "FromRadio" endpoint. Each time you read you will get back a FromRadio protobuf (see Meshtastic-protobuf). Keep reading from this endpoint until you get back and empty buffer.
- See below for the expected sequence for your initial download.
- After the initial download, you should subscribe for BLE "notify" on the "FromNum" endpoint. If a notification arrives, that means there are now one or more FromRadio packets waiting inside FromRadio. Read from FromRadio until you get back an empty packet.
- Any time you want to send packets to the radio, you should write a ToRadio packet into ToRadio.

View file

@ -5,7 +5,7 @@ sidebar_label: Module API
sidebar_position: 3
---
The purpose of this tutorial is for writing new core modules that can be ran on a device. In most cases, it is best to start with utilizing the serial module rather than creating a new one. However, if you're interested in creating a new core functionality from scratch, then building a module would be appropriate.
The purpose of this tutorial is for writing new core modules that can be run on a device. In most cases, it is best to start with utilizing the serial module rather than creating a new one. However, if you're interested in creating a new core functionality from scratch, then building a module would be appropriate.
## Key concepts
@ -71,7 +71,7 @@ The easiest way to get started is:
cp src/modules/ReplyModule.* src/modules/YourModule.*
```
3. Change the port number from `PortNum_REPLY_APP` to `PortNum_PRIVATE_APP`.
4. Edit the `setupModules()` function located at `modules/Moduless.cpp` to add a call to create an instance of your module (see comment at head of that function).
4. Edit the `setupModules()` function located at `modules/Modules.cpp` to add a call to create an instance of your module (see comment at head of that function).
5. Rebuild with your new module and install on the device.
6. Use the [Meshtastic Python CLI tool](https://github.com/meshtastic/Meshtastic-python) to send a packet to your board, for example:
- `meshtastic --dest 1234 --sendping` where _1234_ is another mesh node to send the ping to.

View file

@ -18,17 +18,15 @@ Another component that we use is [Vercel](https://vercel.com) — a platform for
## Documentation Organization
| Section | File Path | Description |
| :----------------------: | :------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| About Meshtastic | `docs/about` | High level explanation of of Meshtastic. |
| Meshtastic Software | `docs/software` | Current bulk of documentation running through each Meshtastic project. |
| Getting Started | `docs/getting-started` | Instructions on how to get the Meshtastic firmware onto a users device. |
| Device Settings | `docs/software/settings` | Details each user setting and provides explanations for what the setting does and how to configure the device using the various clients available (Android, CLI, iOS, Web) |
| Hardware Details | `docs/hardware` | Any hardware related content. Any time a user is attaching a peripheral accessory to their device. That includes 3D printed cases, antennas, buttons, chimes, rotary encoders, and screens. |
| Radio Mesh Details | `docs/mesh` | This section discusses everything relating to the Meshtastic mesh. Mesh health metrics will be discussed here as well as topics such as signal strength, range and anything else pertaining to "over the air". |
| Contribute to Meshtastic | `docs/developers` | Details each of the projects and how they work together to give a developer an idea of how the Meshtastic ecosystem operates. |
| About the Documentation | `docs/maintaining-documentation` | This section explains how our documentation is organized, how to make edits to the documentation, view a local copy of your fork of the project. Style guides and tips will also be included here. |
| Legal | `docs/legal` | Any legal information. Most changes here will be handled by developers actually working on the projects that require any legal disclosures. Examples include: the Meshtastic trademark, terms of service, and privacy policy. |
| Section | File Path | Description |
| :----------------------: | :---------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| About Meshtastic | `docs/about` | A high level explanation of Meshtastic plus everything relating to the Meshtastic mesh. This includes radio settings, mesh algorithm and encryption. |
| Getting Started | `docs/getting-started` | Instructions on how to get the Meshtastic firmware onto a users device. |
| Device Settings | `docs/settings` | Details for both the device and module configurations. Details each user setting and offers explanations on their functionalities in addition to guiding the user on how to configure the device using the various clients available (Android, CLI, iOS, Web).|
| Hardware Details | `docs/hardware` | Any hardware related content such as officially supported radios and their peripherals such as 3d printed cases, antennas, buttons, chime, rotary encoders, and screens. |
| Meshtastic Software | `docs/software` | An overview of the current software used in conjunction with Meshtastic to include officially supported client and community applications. |
| Contribute to Meshtastic | `docs/developers` | Details of the necessary information needed for developers to start contributing to the development of the Meshtastic project. |
| Legal | `docs/legal` | Any legal information. Most changes here will be handled by developers actually working on the projects that require any legal disclosures. Examples include: the Meshtastic trademark, terms of service, and privacy policy. |
## Quick Start

View file

@ -59,7 +59,7 @@ import TabItem from '@theme/TabItem';
<!--- Table of settings in alphabetical order --->
| Setting | Acceptable Values | Default |
| :---------------------: | :-------------------------: | :-----: |
| :---------------------: | :-------------------------: | :-----: |
| my_setting_with_options | `apple`, `banana`, `orange` | `apple` |
<!--- H3 for each setting above (alphabetized) --->
@ -71,7 +71,7 @@ import TabItem from '@theme/TabItem';
<!--- if the setting has many options, insert a table describing what those variables do --->
| Value | Description |
| :------: | :----------------------------: |
| :------: | :----------------------------: |
| `apple` | Description of apple (default) |
| `banana` | Description of banana |
| `orange` | Description of orange |

View file

@ -10,7 +10,7 @@ sidebar_label: OLED Localization
Please note that the used font file format differs from common Adafruit GFX.
2. Update the `customFontTableLookup` function in `Screen.h`
1. To map the double-byte UTF-8 code to the corresponding extended ASCII character of the desired codepage update the `customFontTableLookup` function in the `Screen.h` file.
2. Modify the `switch (last)` statement: use left byte from UTF-8 code in the `case` label to map charachter's right byte to its extended ASCII code by specifying an offset.
2. Modify the `switch (last)` statement: use left byte from UTF-8 code in the `case` label to map character's right byte to its extended ASCII code by specifying an offset.
3. Define language and font in `Screen.cpp`
```c

View file

@ -49,7 +49,7 @@ A description about the project
<!--You may optionally include brief install/update instructions here-->
<!--Any other pertenant sections-->
<!--Any other pertinent sections-->
### Compatibility
```

View file

@ -10,3 +10,5 @@ sidebar_label: Trademark Grants
- Details: Meshbrasil.com is an online shop for Meshtastic powered devices and accessories which carry the "Powered by Meshtastic" logo. The use of the Meshtastic Logo and Trademarks does not imply Meshbrasil.com is sponsored or endorsed by Meshtastic. Meshbrasil.com also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
- Grant: [Garth Vander Houwen](https://garthvh.com/store/)
- Details: Garth is a member of the Meshtastic LLC, is the developer of the iOS app and runs an online shop for Meshtastic powered devices which carry the "Powered by Meshtastic" and "Chirpy" logo. The use of the Meshtastic Logo and Trademarks does not imply Garth is sponsored or endorsed by Meshtastic. Garth also agrees to maintain compliance with the Meshtastic Legal requirements. This grant is revokable at any time for any reason.
- Grant: [Anthony (Tony) Good](https://quantumshadow3d.etsy.com)
- 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.

View file

@ -19,12 +19,12 @@ You will need a device with Meshtastic installed to go any further. See the [get
[![Search for devices](/img/android/android-settings-none-c.png)](/img/android/android-settings-none.png)
To find devices to connect via Bluetooth click the button on the bottom right corner.
To find devices to connect via Bluetooth click the "+" button on the bottom right corner.
[![Device available to select](/img/android/android-settings-connect-sm.png)](/img/android/android-settings-connect.png)
1. Select the device name, `Meshtastic_bebc` in this example. (You will see devices within range, so make sure to get the right one.)
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the screen.
1. Select the device name, `Meshtastic_769d` in this example. (You will see devices within range, so make sure to get the right one.)
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the device screen.
:::note
If the device was flashed without a screen connected, it will automatically default to a pairing PIN of '123456'. If it was booted with a screen once, the config is set to random pin. If you remove the screen afterwards, it stays like this.
Either set it to use the default pin manually, or factory reset it and it will revert to '123456' after the next boot.
@ -43,19 +43,24 @@ The cloud icon at the top right corner indicates if you are connected to a devic
## Common tasks
### Set your region
In order to start communicating with your mesh, you must select a region. This setting controls which frequency range your device uses and should be set according to your location. See [Region Settings](https://meshtastic.org/docs/getting-started/initial-config#set-regional-settings) for a list of region codes and their meanings.
- Tap on the "Region" dropdown in the top-right corner and make the appropriate selection.
### Change your name
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens.
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens. Initials, or "short name", can be customized in the Radio configuration - User settings. The four characters displayed after your initials cannot be changed. These are the last four hex digits of the device MAC address. Devices with unset names will display these four characters as the device short name.
[![Changing device name](/img/android/android-settings-mike-sm.png)](/img/android/android-settings-mike.png)
### Setup a channel
If you have been sent a QR code or link for Meshtastic, then skip ahead to [Join a Channel](#join-a-channel). Devices have a default channel preconfigured, shown as `#LongSlow-V (Long range / Slow)`. It is OK to use this initially.
If you have been sent a QR code or link for Meshtastic, then skip ahead to [Join a Channel](#join-a-channel). Devices have a default channel preconfigured, shown as `#LongFast-I (Long range / Fast)`. It is OK to use this channel if you want your node to be visible to all Meshtastic users (within range) who are using the default channel.
You can also create a new Channel and share the details with your group. The group is private and only those who have the details can join the group and see the messages. You will need to do this once initially, and then only when you want to change or make a new mesh network group.
The Channel tab allows you to do this. This screen is initially locked so that you don't change it accidentally. Press the lock symbol, and you will be able to edit. First, select the Channel options, as shown here, and chose the most appropriate option:
The Channel tab allows you to create a new private mesh. This screen is initially locked so that you don't change it accidentally. Press the lock symbol, and you will be able to edit. First, select the Channel options, as shown here, and chose the most appropriate option:
[![Changing channel settings](/img/android/android-change-channel-sm.png)](/img/android/android-change-channel.png)
@ -67,7 +72,7 @@ You will see a warning because changing the Channel will break communications wi
[![Do you want to change the channel?](/img/android/android-new-channel-sm.png)](/img/android/android-new-channel.png)
The app will generate a new QR code on the screen, and this encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
The app will generate a new QR code on the screen. This encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
### Join a channel
@ -112,17 +117,17 @@ You can test changing channels with the QR code shown below.
[![Messages](/img/android/android-messages-sm.png)](/img/android/android-messages.png)
The message window operates like most messaging apps. Note that the `(All) Primary channel` contact is always shown and works as a group chat. Other contacts are for Direct Messaging, or private chat.
The message window operates like most messaging apps. Note that your primary channel i.e. `LongFast` contact is always shown and works as a group chat. Other contacts are for direct messaging, or private group chats.
- Long press contacts or messages for options, like delete.
- Long press a node from the Nodes tab to send Direct Messages.
- Press a node from the Nodes tab to send Direct Messages.
With LoRa (or any radio) there is some uncertainty that the messages has been received, so there is a confirmation built-in to the protocol. There are small icons shown to the right of the messages you send:
With LoRa (or any radio) there is some uncertainty that the message has been received, so there is a confirmation built-in to the protocol. There are small icons shown to the right of the messages you send:
- Cloud with an up arrow: the message is queued in the app, waiting to be handed to the device.
- Cloud only: the device received the message from the app, and it has been sent and transmitted via LoRa.
- Cloud with a check mark: received at least one node's acknowledgement response. Confirmations could be from any one device.
- Person with a check mark - The intended recipient of your direct message acknowledged the message.
- Person with a check mark - The intended recipient node of your direct message acknowledged the message.
- Cloud crossed out: the initial sender did not receive any confirmation within a certain timeout.
By default there is no long-term store-and-forward of messages, so messages not received during transmission are lost.
@ -131,19 +136,25 @@ By default there is no long-term store-and-forward of messages, so messages not
[![Local Meshtastic network](/img/android/android-nodes-sm.png)](/img/android/android-nodes.png)
The network list shows all the users (devices) that have connected to the same Channel. For each entry, it shows the last time they were active, their location and distance (when available), and their last known power status. In the example above, Lora V2 is the local user, m8n was last heard from 3 minutes ago and is 29m away, and 25C is active and 498m away.
The network list shows all the users (devices) that have connected to the same Channel. For each entry, it shows the last time they were active, their location and distance (when available), and their last known power status. In the example above, Monkey is the local user, Rabbit was last heard from 10 minutes ago and is 50m away, and Panda was last heard 11 minutes ago and 5m away.
This is a list of network nodes, unnamed nodes are shown as `Unknown a3c9` (where `a3c9` is the last 4 hex digits from the MAC address.)
- Long press a node from the list to send Direct Messages.
- Tap on a node from the list to start Direct Messaging, request a position update, or request a [traceroute](/docs/settings/moduleconfig/traceroute).
- If you have an [Admin Channel](/docs/configuration/remote-admin) enabled on your devices, tapping on the node will also display an option to remotely configure the node.
### View the map
[![Mapping provided by Mapbox](/img/android/android-map-sm.png)](/img/android/android-map.png)
[![Meshtastic Map View](/img/android/android-map-sm.png)](/img/android/android-map.png)
The Map tab will show a local map with an icon for each active mesh node that has a known position. The users names are shown against the icon.
The Map tab will show a local map with an icon for each active mesh node that has a known position. The users names are shown above the icon.
The map is provided by [Mapbox](https://docs.mapbox.com/help/how-mapbox-works) (free-tier), and the map data is sourced from [OpenStreetMap OSM](https://www.openstreetmap.org). Mapbox currently requires analytics to be enabled for you to use their mapping system. There is currently no off-line maps (phone needs mobile data or Wifi), although this will be improved in the future. If you don't see the features that you'd expect on the map then head over to [OpenStreetMap OSM](https://www.openstreetmap.org) where you can contribute new data to the map.
[![Map Layers](/img/android/android-map-layers-c.png)](/img/android/android-map-layers.png)
- Clicking the layers icon in the top-right will allow you to select the map type.
[![Download offline maps](/img/android/android-map-download-c.png)](/img/android/android-map-download.png)
- Some map types allow downloading for offline use. If offline maps are available for your selected map type, a download icon will appear in the bottom-right corner of the map. Tap this icon and choose the option to Download Region, then select the area you wish to download.
## Configuration options
@ -157,28 +168,39 @@ Pressing the three vertical dots in the top right corner shows the configuration
The debug panel allows you to see all packets sent between the application and the device. This can be useful for debugging purposes.
### Advanced settings
### Radio Configuration
[![Advanced settings](/img/android/android-advanced-settings-c.png)](/img/android/android-advanced-settings.png)
[![Meshtastic configuration options](/img/android/android-radio-configuration-c.png)](/img/android/android-radio-configuration.png)
#### Broadcast position period
This allows you to disable or change the frequency with which your location is broadcast across the mesh. By default, this is set to 900 seconds (15 minutes). The minimum time this can be set for the default channel is 375 seconds, the reasons for which have been [discussed on the forum](https://meshtastic.discourse.group/t/lost-messages-while-testing/2455/19).
#### Device sleep period (now disabled by default & no longer recommended)
ESP32 devices can enter sleep mode to save battery life. During sleep Bluetooth is turned off. This setting allows the length of the sleep mode to be changed from the default 300 seconds (5 minutes). After this time period, they awake to check the phone for any queued messages and then go back to sleep, alternating between sleep and awake states. Receiving a message over LoRa (the LoRa receiver never switches off) or pressing a program button (if there is one on the device) also awakes the device.
Radio Configuration opens a list of all radio and module configuration settings.
- See [Device Config](/docs/settings/config) for radio settings.
- See [Module Config](/docs/settings/moduleconfig) for module settings.
- At the end of this list are buttons for Reboot, Shutdown, Factory reset, and NodeDB reset.
### Export rangetest.csv
This allows you to save all your position data with GPS coordinates into a .csv (comma separated value) file on your phone. This feature is similar but independent from the device range test module, and results may differ.
Allows you to save all your network's position data with GPS coordinates into a .csv (comma separated value) file on your phone. This file can be imported into the spreadsheet application of your choice for easy viewing. This feature is similar but independent from the device [range test module](/docs/settings/moduleconfig/range-test), and results may differ.
### Theme
[![Meshtastic theme](/img/android/android-settings-theme-c.png)](/img/android/android-settings-theme.png)
This allows you to change between light and dark themes, or to select the system default.
Allows you to change between light and dark themes, or to select the system default.
### Language
Allows you to select a language for the application's user interface.
### Show Introduction
Opens the introduction slideshow.
### Quick chat options
[![Quick Chat](/img/android/android-quick-chat-sm.png)](/img/android/android-quick-chat.png)
Brings up an editor to create and edit quick response messages. These will appear as buttons in the chat window. Messages have the option to send instantly, or be appended to your message and sent manually.
### About
Clicking this shows the current app version.
Displays the current app version.

View file

@ -15,7 +15,7 @@ The [Meshtastic-python repo](https://github.com/meshtastic/Meshtastic-python) an
If you wish to view the code or contribute to development of the python library or the command line interface, please visit the Meshtastic python [GitHub page](https://github.com/meshtastic/Meshtastic-python).
There are standalone executables for Windows and Ubuntu if you do not want to install python and/or the python libraries required to run the mestastic CLI tool. See [Standalone](#standalone) for more information.
There are standalone executables for Windows and Ubuntu if you do not want to install python and/or the python libraries required to run the meshtastic CLI tool. See [Standalone](#standalone) for more information.
Installation can also be easily done through the [Python package installer pip](https://pypi.org/project/meshtastic):
:::note
@ -190,7 +190,7 @@ Wifi connection is currently under development and may not be working properly j
```
- Upgrade pip and installed meshtastic and some of its dependencies
```shell
pip install --upgrade pip pygatt pytap2 wheel mesthtastic
pip install --upgrade pip pygatt pytap2 wheel meshtastic
```
:::note

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 748 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 227 KiB