mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-28 23:19:47 -08:00
210 lines
7.1 KiB
Plaintext
210 lines
7.1 KiB
Plaintext
---
|
|
id: telemetry
|
|
title: Telemetry Module Configuration
|
|
slug: /settings/moduleconfig/telemetry
|
|
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.
|
|
|
|
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.
|
|
|
|
### Currently Supported Sensor Types
|
|
|
|
| Sensor | I<sup>2</sup>C Address | Data Points |
|
|
| :-----: | :--------------------: | :-----------------------------------------------------------: |
|
|
| BMP280 | 0x76, 0x77 | Temperature and barometric pressure |
|
|
| BME280 | 0x76, 0x77 | Temperature, barometric pressure and humidity |
|
|
| BME680 | 0x76, 0x77 | Temperature, barometric pressure, humidity and air resistance |
|
|
| MCP9808 | 0x18 | Temperature |
|
|
| INA260 | 0x40, 0x41 | Current and Voltage |
|
|
| INA219 | 0x40, 0x41 | Current and Voltage |
|
|
| LPS22 | 0x5D, 0x5c | Barometric pressure |
|
|
| SHTC3 | 0x70 | Temperature and humidity |
|
|
| SHT31 | 0x44 | Temperature and humidity |
|
|
|
|
## Module Config Values
|
|
|
|
### Update Intervals
|
|
|
|
### Device Metrics Update Interval
|
|
|
|
How often we should send Device Metrics over the mesh.
|
|
|
|
Default is every 15 minutes.
|
|
|
|
### Environment Metrics Update Interval
|
|
|
|
How often we should send Environment(Sensor) Metrics over the mesh.
|
|
|
|
Default is every 15 minutes.
|
|
|
|
## Sensor options
|
|
|
|
### Environment Telemetry Enabled
|
|
|
|
Enable the Environment Telemetry (Sensors)
|
|
|
|
### Show on device screen
|
|
|
|
Show the Telemetry Module on the device display.
|
|
|
|
### Display Fahrenheit
|
|
|
|
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit using this setting.
|
|
|
|
Default is `false`.
|
|
|
|
## Device Config Client Availability
|
|
|
|
<Tabs
|
|
groupId="settings"
|
|
defaultValue="apple"
|
|
values={[
|
|
{label: 'Android', value: 'android'},
|
|
{label: 'Apple', value: 'apple'},
|
|
{label: 'CLI', value: 'cli'},
|
|
{label: 'Web', value: 'web'},
|
|
]}>
|
|
<TabItem value="android">
|
|
|
|
:::info
|
|
|
|
Telemetry Config options are available for Android.
|
|
|
|
1. Open the Meshtastic App
|
|
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > Telemetry Config**
|
|
|
|
:::
|
|
|
|
</TabItem>
|
|
<TabItem value="apple">
|
|
|
|
:::info
|
|
All telemetry module config options are available on iOS, iPadOS and macOS at Settings > Module Configuration > Telemetry.
|
|
|
|
:::
|
|
|
|
</TabItem>
|
|
<TabItem value="cli">
|
|
|
|
:::info
|
|
|
|
All telemetry module config options are available in the python CLI. Example commands are below:
|
|
|
|
:::
|
|
|
|
## Settings
|
|
|
|
| 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_update_interval | `integer` (seconds) | Default `0` is 15 minutes(`900` seconds). |
|
|
|
|
:::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 telemetry.device_update_interval 0 --set telemetry.environment_update_interval 0
|
|
```
|
|
|
|
:::
|
|
|
|
```shell title="Set module update intervals (Default of 0 is 5 Minutes)"
|
|
meshtastic --set telemetry.device_update_interval 0
|
|
// Device Metrics Two Minutes
|
|
meshtastic --set telemetry.device_update_interval 0
|
|
// Environment Metrics Two Minutes
|
|
meshtastic --set telemetry.environment_update_interval 120
|
|
```
|
|
|
|
```shell title="Enable/Disable Environment Module"
|
|
meshtastic --set telemetry.environment_measurement_enabled true
|
|
meshtastic --set telemetry.environment_measurement_enabled false
|
|
```
|
|
|
|
```shell title="Enable/Disable on device screen"
|
|
meshtastic --set telemetry.environment_screen_enabled true
|
|
meshtastic --set telemetry.environment_screen_enabled false
|
|
```
|
|
|
|
```shell title="Enable / Disable Display Fahrenheit"
|
|
meshtastic --set telemetry.environment_display_fahrenheit true
|
|
meshtastic --set telemetry.environment_display_fahrenheit false
|
|
```
|
|
|
|
</TabItem>
|
|
<TabItem value="web">
|
|
|
|
:::info
|
|
|
|
All telemetry module config options are available in the Web UI.
|
|
|
|
:::
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
## Examples
|
|
|
|
### RAK 4631 with BME680 Environment Sensor
|
|
|
|
Setup of a RAK 4631 with Environment Sensor
|
|
|
|
[<img src="RAK4631_with_EnvSensor" src="/img/hardware/rak/RAK4631_with_EnvSensor.jpg" style={{zoom:'25%'}} />](/img/hardware/rak/RAK4631_with_EnvSensor.jpg)
|
|
|
|
Requirements:
|
|
|
|
- RAK4631
|
|
- Environment Sensor
|
|
|
|
Steps:
|
|
|
|
- configure the device:
|
|
|
|
```shell
|
|
meshtastic --set telemetry.environment_measurement_enabled true --set telemetry.environment_screen_enabled true --set telemetry.environment_display_fahrenheit true
|
|
```
|
|
|
|
:::tip
|
|
|
|
You can change the values above to suit your needs but it is recommended that commands be chained together as one as shown.
|
|
|
|
:::
|
|
|
|
- Device will reboot after command is sent.
|
|
- When the device boots again it should say "Telemetry" and it may show the sensor data
|
|
- If this does not appear to have any effects, run:
|
|
|
|
```shell
|
|
meshtastic --noproto
|
|
```
|
|
|
|
And examine the serial logs for Telemetry diagnostic information.
|
|
|
|
## Supporting Additional Sensors
|
|
|
|
### Environment Metrics
|
|
|
|
The environment metrics in the telemetry module supports a limited amount of fields as they are stored in memory on the device. Support for sensors that provide one or more of the following fields can potentially be added to the main firmware provided there is a GPL licensed library for us to include to support it, and the library size is not prohibitive.
|
|
|
|
- Temperature
|
|
- Relative Humidity
|
|
- Barometric Pressure
|
|
- Gas Resistance (AQI)
|
|
- Voltage
|
|
- Current
|
|
|
|
### Supporting Other Sensor types
|
|
|
|
For other interesting sensor types and use cases we need to add a portnum for more generic telemetry packets and a second MCU will be required to interact with the sensor and process the data to be sent over the mesh. This data will not be stored in the nodedb on the device.
|