meshtastic/docs/software/settings/environmental-measurment-plugin.md

345 lines
9.7 KiB
Markdown
Raw Normal View History

---
id: environmental-measurement-plugin
title: Environmental Measurement Plugin Settings
sidebar_label: Environmental Measurement Plugin
---
2021-05-05 09:18:44 -07:00
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
2022-01-28 14:53:32 -08:00
<!--- TODO add link to hardware setup to admonition--->
:::note
This plugin requires attaching a peripheral accessory to your device. It will not work without one.
:::
## Overview
2022-01-27 13:54:50 -08:00
The Environment Measurement Plugin will allow nodes to send a specific message with information from connected environmental sensors. Currently supported sensors are BME280, BME680, DHT11, DHT12, DHT21, DHT22 and Dallas 1-wire DS18B20.
2022-01-28 10:11:19 -08:00
:::tip
2022-01-27 20:32:18 -08:00
Once plugin settings are changed, a **reset** is required for them to take effect.
2022-01-27 13:53:53 -08:00
:::
## Settings
2021-05-03 13:11:24 -07:00
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| environmental_measurement_plugin_display_farenheit | `true`, `false` | `false` |
2022-02-02 09:58:56 -08:00
| environmental_measurement_plugin_measurement_enabled | `true`, `false` | `false` |
2021-05-03 13:11:24 -07:00
| environmental_measurement_plugin_read_error_count_threshold | `integer` | `0` |
| environmental_measurement_plugin_recovery_interval | `integer` (seconds) | `0` |
| environmental_measurement_plugin_screen_enabled | `true`, `false` | `0` |
| environmental_measurement_plugin_sensor_pin | `integer` | `0` |
2022-01-27 13:53:09 -08:00
| environmental_measurement_plugin_sensor_type | `0-6` | `0` |
2021-05-03 13:11:24 -07:00
| environmental_measurement_plugin_update_interval | `integer` (seconds) | `0` |
2022-02-02 11:46:12 -08:00
### environmental_measurement_plugin_display_farenheit
2021-05-03 13:11:24 -07:00
2022-02-02 11:46:12 -08:00
The sensor is always read in Celsius, but the user can opt to view the temperature display in Fahrenheit using this setting.
2021-05-03 13:11:24 -07:00
2022-02-02 11:46:12 -08:00
#### Display Farenheit/Celsius
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
2021-05-03 13:11:24 -07:00
2022-02-02 11:46:12 -08:00
```bash title="Display Farenheit"
meshtastic --set environmental_measurement_plugin_display_farenheit true
```
2022-02-02 11:46:12 -08:00
```bash title="Display Celsius"
meshtastic --set environmental_measurement_plugin_display_farenheit false
```
2022-02-02 11:46:12 -08:00
</TabItem>
<TabItem value="android">
2021-05-03 13:11:24 -07:00
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
2022-01-27 13:53:53 -08:00
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2021-05-03 15:25:24 -07:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
2022-02-02 11:46:12 -08:00
### environmental_measurement_plugin_measurement_enabled
2021-05-04 08:41:13 -07:00
2022-02-02 11:46:12 -08:00
Enables the plugin.
2021-05-04 08:41:13 -07:00
2022-02-02 11:46:12 -08:00
#### Enable/Disable the plugin
2021-05-05 09:18:44 -07:00
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
2022-01-22 13:03:40 -08:00
{label: 'iOS', value: 'iOS'},
2022-01-27 13:52:04 -08:00
{label: 'Web', value: 'web'},
2021-05-05 09:18:44 -07:00
]}>
<TabItem value="cli">
2022-02-02 11:46:12 -08:00
```bash title="Enable Plugin"
meshtastic --set environmental_measurement_plugin_measurement_enabled true
2022-01-27 13:52:04 -08:00
```
2022-02-02 11:46:12 -08:00
```bash title="Disable Plugin"
meshtastic --set environmental_measurement_plugin_measurement_enabled false
2022-01-27 13:52:04 -08:00
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
</Tabs>
### environmental_measurement_plugin_read_error_count_threshold
Sometimes sensor reads can fail. If this happens, we will retry a configurable number of attempts. Each attempt will be delayed by the minimum required refresh rate for that sensor
### environmental_measurement_plugin_recovery_interval
Sometimes we can end up with more than read_error_count_threshold failures. In this case, we will stop trying to read from the sensor for a while. Wait this long until trying to read from the sensor again.
### environmental_measurement_plugin_screen_enabled
Enable/Disable the environmental measurement plugin on-device display.
#### Enable/Disable the plugin on device screen
2022-01-27 13:52:04 -08:00
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Enable on device screen"
2022-01-22 13:03:40 -08:00
meshtastic --set environmental_measurement_plugin_screen_enabled true
2022-01-27 13:52:04 -08:00
```
```bash title="Disable on device screen"
meshtastic --set environmental_measurement_plugin_screen_enabled false
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
</Tabs>
### environmental_measurement_plugin_sensor_pin
:::note
The preferred setup is using I2C, so the `environmental_measurement_plugin_sensor_pin` may not be needed.
:::
Specify the preferred GPIO Pin for sensor readings. May not be needed if using I2C.
#### Set plugin sensor pin
2022-01-27 13:52:04 -08:00
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Set plugin sensor pin"
meshtastic --set environmental_measurement_plugin_sensor_pin PINNUMBER
2022-01-27 13:52:04 -08:00
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
</Tabs>
### environmental_measurement_plugin_sensor_type
Specify the sensor type.
| Value | Description | Sensor Features |
| :---: | :---------: | :-------------: |
| `0` | DHT11 | Temperature, Humidity |
| `1` | DS18B20 (Dallas 1-wire) | Temperature |
| `2` | DHT12 | Temperature, Humidity |
| `3` | DHT21 | Temperature, Humidity |
| `4` | DHT22 | Temperature, Humidity |
| `5` | BME280 | Temperature, Humidity, Pressure |
| `6` | BME680 | Temperature, Humidity, Pressure, VOC Gas |
#### Set sensor type
2022-01-27 13:52:04 -08:00
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
:::note
The CLI is able to take the `value` or the `name` of the sensor from the table above.
:::
```bash title="Set sensor type to DS18B20"
meshtastic --set environmental_measurement_plugin_sensor_type 1
```
```bash title="Set sensor type to DS18B20"
meshtastic --set environmental_measurement_plugin_sensor_type DS18B20
2022-01-27 13:52:04 -08:00
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-27 13:52:04 -08:00
</TabItem>
</Tabs>
### environmental_measurement_plugin_update_interval
2022-01-27 13:52:04 -08:00
Interval in seconds of how often we should try to send our measurements to the mesh.
#### Set plugin update interval
2022-01-27 13:52:04 -08:00
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Set plugin update interval to 15 seconds"
meshtastic --set environmental_measurement_plugin_update_interval 15
2022-01-22 13:30:22 -08:00
```
2021-05-05 09:18:44 -07:00
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2021-05-05 09:18:44 -07:00
2022-01-22 13:03:40 -08:00
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-22 13:03:40 -08:00
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
2022-01-22 13:03:40 -08:00
2021-05-05 09:18:44 -07:00
</TabItem>
</Tabs>
## Details
### Hardware
The sensors can be wired differently, here's [one example](https://randomnerdtutorials.com/esp32-ds18b20-temperature-arduino-ide) for sensor DS18B20.
### Known Problems
* No default configuration values are currently set, so this must be done when enabling the plugin.