From 30c61c2df2fd2b3a2b0d0880bc423a7e05b6a050 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Mon, 1 Aug 2022 16:26:21 -0700 Subject: [PATCH] Add information on how to support sensors --- docs/settings/config/device.mdx | 10 ++--- docs/settings/config/display.mdx | 10 ++--- docs/settings/config/position.mdx | 38 ++++++++-------- docs/settings/config/power.mdx | 56 ++++++++++++------------ docs/settings/config/user.mdx | 17 +------ docs/settings/config/wifi.mdx | 30 ++++++------- docs/settings/moduleconfig/telemetry.mdx | 19 +++++++- 7 files changed, 91 insertions(+), 89 deletions(-) diff --git a/docs/settings/config/device.mdx b/docs/settings/config/device.mdx index 95ea5729..45626d89 100644 --- a/docs/settings/config/device.mdx +++ b/docs/settings/config/device.mdx @@ -77,19 +77,19 @@ WiFi related settings are not available on Apple OS's. No device config options are available in the python CLI. Example commands are below: ```shell title="Set the role to client" -meshtastic --set role client +meshtastic --set device.role client ``` ```shell title="Disable serial console" -meshtastic --set serial_disabled true +meshtastic --set device.serial_disabled true ``` ```shell title="Enable debug logging" -meshtastic --set debug_log_enabled true +meshtastic --set device.debug_log_enabled true ``` ```shell title="Factory reset your radio" -meshtastic --set factory_reset true +meshtastic --set device.factory_reset true ``` @@ -103,7 +103,7 @@ No device config options are available in the Flasher. :::info -No device config options are available in the Web UI. +All device config options are available in the Web UI. ::: diff --git a/docs/settings/config/display.mdx b/docs/settings/config/display.mdx index 108dbf40..56a9d9f2 100644 --- a/docs/settings/config/display.mdx +++ b/docs/settings/config/display.mdx @@ -63,18 +63,18 @@ All display config options are available on iOS, iPadOS and macOS at Settings > No display config options are available in the python CLI. Example commands are below: ```shell title="Set Screen On Duration (Default of 0 is 10 minutes)" -meshtastic --set screen_on_secs 0 -meshtastic --set screen_on_secs 120 +meshtastic --set display.screen_on_secs 0 +meshtastic --set display.screen_on_secs 120 ``` ```shell title="Set Auto Carousel Interval (Default of 0 is Off)" meshtastic --set auto_screen_carousel_secs 0 // Set to 2 Minutes (120 Seconds) -meshtastic --set auto_screen_carousel_secs 120 +meshtastic --set display.auto_screen_carousel_secs 120 ``` ```shell title="Specify GPS format on device screen" -meshtastic --set gps_format GpsFormatUTM +meshtastic --set display.gps_format GpsFormatUTM ``` @@ -88,7 +88,7 @@ No display config options are available in the Flasher. :::info -No display config options are available in the Web UI. +All display config options are available in the Web UI. ::: diff --git a/docs/settings/config/position.mdx b/docs/settings/config/position.mdx index ff8504bd..3ea56fc1 100644 --- a/docs/settings/config/position.mdx +++ b/docs/settings/config/position.mdx @@ -103,29 +103,29 @@ All position config values except for postion flag are available on iOS, iPadOS No Position config conmmands are available in the python CLI. Example commands are below: -| Setting | Acceptable Values | Default | -| :----------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | -| gps_enabled | `true`, `false` | `true` | -| gps_update_interval | `integer` (seconds) | Default `0` is 30 Seconds | -| gps_attempt_time | `integer` (seconds) | Default of `0` is 30 Seconds | -| fixed_position | `true`, `false` | `false` | -| position_broadcast_smart | `true`, `false` | `true` | -| position_broadcast_secs | `integer` (seconds) | Default of `0` is 15 Minutes | -| position_flags | `POS_UNDEFINED`, `POS_ALTITUDE`, `POS_ALT_MSL`, `POS_GEO_SEP`, `POS_DOP`, `POS_HVDOP`, `PDOP`, `POS_BATTERY`, `POS_SATINVIEW`, `POS_SEQ_NOS`, `POS_TIMESTAMP`, `POS_HEADING`, `POS_SPEED` | `POS_UNDEFINED` | +| 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.broadcast_smart | `true`, `false` | `true` | +| position.broadcast_secs | `integer` (seconds) | Default of `0` is 15 Minutes | +| position.flags | `POS_UNDEFINED`, `POS_ALTITUDE`, `POS_ALT_MSL`, `POS_GEO_SEP`, `POS_DOP`, `POS_HVDOP`, `PDOP`, `POS_BATTERY`, `POS_SATINVIEW`, `POS_SEQ_NOS`, `POS_TIMESTAMP`, `POS_HEADING`, `POS_SPEED` | `POS_UNDEFINED` | ```shell title="Set GPS update interval (Default of 0 is 30 seconds)" -meshtastic --set gps_update_interval 0 -meshtastic --set gps_update_interval 45 +meshtastic --set position.gps_update_interval 0 +meshtastic --set position.gps_update_interval 45 ``` ```shell title="Set GPS attempt time (Default of 0 is 30 seconds)" -meshtastic --set gps_attempt_time 0 -meshtastic --set gps_attempt_time 45 +meshtastic --set position.gps_attempt_time 0 +meshtastic --set position.gps_attempt_time 45 ``` ```shell title="Set Fixed Position - Current Location" -meshtastic --set fixed_position true +meshtastic --set position.fixed_position true ``` :::note @@ -137,17 +137,17 @@ meshtastic --setlat 37.8651 --setlon -119.5383 ``` ```shell title="Unset Fixed Position" -meshtastic --set fixed_position false +meshtastic --set position.fixed_position false ``` ```shell title="Enable / Disable Smart position broadcast (Enabled by default)" -meshtastic --set position_broadcast_smart true -meshtastic --set position_broadcast_smart false +meshtastic --set position.broadcast_smart true +meshtastic --set position.broadcast_smart false ``` ```shell title="Set Position Broadcast Interval (Default of 0 is 15 minutes)" -meshtastic --set position_broadcast_secs 0 -meshtastic --set position_broadcast_secs 60 +meshtastic --set position.broadcast_secs 0 +meshtastic --set position.broadcast_secs 60 ``` :::note diff --git a/docs/settings/config/power.mdx b/docs/settings/config/power.mdx index cf61bae7..21435fe2 100644 --- a/docs/settings/config/power.mdx +++ b/docs/settings/config/power.mdx @@ -101,59 +101,59 @@ Power config is not available on Apple OS's. No Power config options are available in the python CLI. -| Setting | Acceptable Values | Default | -| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------: | -| charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` | -| is_power_saving | `true`, `false` | `false` | -| on_battery_shutdown_after_secs | `integer` (seconds) | Default of `0` is off | -| adc_multiplier_override | `2-4` (floating point value) | Default of `0` uses firmware values | -| wait_bluetooth_secs | `integer` (seconds) | Default of `0` is 1 minute | -| mesh_sds_timeout_secs | `integer` (seconds) | Default of `0` is 2 hours | -| sds_secs | `integer` (seconds) | Default of `0` is 1 year | -| ls_secs | `integer` (seconds) | Default of `0` is 1 hour | -| min_wake_secs | `integer` (seconds) | Default of `0` is 10 seconds | +| Setting | Acceptable Values | Default | +| :----------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------: | +| power.charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` | +| power.is_power_saving | `true`, `false` | `false` | +| 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.min_wake_secs | `integer` (seconds) | Default of `0` is 10 seconds | ```shell title="Set / Unset charge current (Tbeam 1.1 only)" -meshtastic --set charge_current MAUnset -meshtastic --set charge_current MA100 +meshtastic --set power.charge_current MAUnset +meshtastic --set power.charge_current MA100 ``` ```shell title="Enable / Disable Power Saving" -meshtastic --set is_power_saving true -meshtastic --set is_power_saving false +meshtastic --set power.is_power_saving true +meshtastic --set power.is_power_saving false ``` ```shell title="Enable / Disable Shutdown after losing power" -meshtastic --set on_battery_shutdown_after_secs 120 -meshtastic --set on_battery_shutdown_after_secs 0 +meshtastic --set power.on_battery_shutdown_after_secs 120 +meshtastic --set power.on_battery_shutdown_after_secs 0 ``` ```shell title="Set Wait Bluetooth Interval (Default of 0 is 60 seconds)" -meshtastic --set wait_bluetooth_secs 0 -meshtastic --set wait_bluetooth_secs 120 +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 mesh_sds_timeout_secs 0 -meshtastic --set mesh_sds_timeout_secs 120 +meshtastic --set power.mesh_sds_timeout_secs 0 +meshtastic --set power.mesh_sds_timeout_secs 120 // Disable using MAXUINT -meshtastic --set mesh_sds_timeout_secs 4294967295 +meshtastic --set power.mesh_sds_timeout_secs 4294967295 ``` ```shell title="Set Super Deep Sleep (Default of 0 is 1 year)" -meshtastic --set sds_secs 0 -meshtastic --set sds_secs 120 +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 ls_secs 0 -meshtastic --set ls_secs 120 +meshtastic --set power.ls_secs 0 +meshtastic --set power.ls_secs 120 ``` ```shell title="Set Minimum Wake Interval (Default of 0 is 10 seconds)" -meshtastic --set min_wake_secs 0 -meshtastic --set min_wake_secs 120 +meshtastic --set power.min_wake_secs 0 +meshtastic --set power.min_wake_secs 120 ``` diff --git a/docs/settings/config/user.mdx b/docs/settings/config/user.mdx index af37a6dc..93734f33 100644 --- a/docs/settings/config/user.mdx +++ b/docs/settings/config/user.mdx @@ -53,26 +53,11 @@ Short Name and Long Name user config options are available on iOS, iPadOS and ma All display config options are available in the python CLI. Example commands are below: -```shell title="Set Screen On Duration (Default of 0 is 10 minutes)" -meshtastic --set screen_on_secs 0 -meshtastic --set screen_on_secs 120 -``` - -```shell title="Set Auto Carousel Interval (Default of 0 is Off)" -meshtastic --set auto_screen_carousel_secs 0 -// Set to 2 Minutes (120 Seconds) -meshtastic --set auto_screen_carousel_secs 120 -``` - -```shell title="Specify GPS format on device screen" -meshtastic --set gps_format GpsFormatUTM -``` - :::info -All user config options are available in the Flasher. +No user config options are available in the Flasher. ::: diff --git a/docs/settings/config/wifi.mdx b/docs/settings/config/wifi.mdx index 6271deb8..d6aa2fe2 100644 --- a/docs/settings/config/wifi.mdx +++ b/docs/settings/config/wifi.mdx @@ -82,10 +82,10 @@ No WiFi config options are available in the python CLI. | Setting | Acceptable Values | Default | | :-----------: | :---------------: | :-----: | -| wifi_ap_mode | `true`, `false` | `false` | -| wifi_ap_hidden | `true`, `false` | `false` | -| wifi_password | string | `""` | -| wifi_ssid | string | `""` | +| wifi.ap_mode | `true`, `false` | `false` | +| wifi.ap_hidden | `true`, `false` | `false` | +| wifi.password | string | `""` | +| wifi.ssid | string | `""` | ```shell title="Enable / Disable SoftAP" meshtastic --set wifi_ap_mode true @@ -104,9 +104,9 @@ meshtastic --set wifi_ssid "my network" ``` ```shell title="Set WiFi password" -meshtastic --set wifi_password mypassword +meshtastic --set wifi.password mypassword // With spaces -meshtastic --set wifi_password "my password" +meshtastic --set wifi.password "my password" ``` @@ -169,7 +169,7 @@ You should then be able to connect to the node using either the displayed IP add ### WiFi Client -With `wifi_ssid` & `wifi_password` populated, the device will now to connect to your network. Make sure you are in range of your WiFi. If you have a single device on your local network it's easy to connect to your device `http://meshtastic.local`. If you have multiple devices you will need to connect using their respective IP addresses. +With `wifi.ssid` & `wifi.password` populated, the device will now to connect to your network. Make sure you are in range of your WiFi. If you have a single device on your local network it's easy to connect to your device `http://meshtastic.local`. If you have multiple devices you will need to connect using their respective IP addresses. If you have a screen attached to your device, the final page will display something similar to the following: @@ -185,7 +185,7 @@ You should then be able to connect to the node using either the displayed IP add ### Disable WiFi -To disable WiFi completely, set `wifi_ap_mode` to `false`, and both `wifi_ssid` & `wifi_password` to an empty string `""`. +To disable WiFi completely, set `wifi.ap_mode` to `false`, and both `wifi.ssid` & `wifi.password` to an empty string `""`. ## Examples @@ -203,14 +203,14 @@ values={[ ```shell title="Enabling WiFi Client" -meshtastic --set wifi_ap_mode false --set wifi_ssid mywifissid --set wifi_password mywifipassword +meshtastic --set wifi.ap_mode false --set wifi.ssid mywifissid --set wifi.password mywifipassword ``` :::note -If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing: +If your `wifi.ssid` or `wifi.password` contain spaces, be sure to put quotation marks around the whole thing: ```shell title="Example with spaces" -meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password" +meshtastic --set wifi.ssid "my wifi ssid" --set wifi.password "my wifi password" ``` ::: @@ -255,14 +255,14 @@ values={[ ```shell title="Software Access Point Example" -meshtastic --set wifi_ap_mode true --set wifi_ssid mywifissid --set wifi_password mywifipassword +meshtastic --set wifi.ap_mode true --set wifi.ssid mywifissid --set wifi.password mywifipassword ``` :::note -If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing: +If your `wifi.ssid` or `wifi.password` contain spaces, be sure to put quotation marks around the whole thing: ```shell title="Example with spaces" -meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password" +meshtastic --set wifi.ssid "my wifi ssid" --set wifi.password "my wifi password" ``` ::: @@ -307,7 +307,7 @@ values={[ ```shell title="Example - Disabling WiFi" -meshtastic --set wifi_ap_mode false --set wifi_ssid "" --set wifi_password "" +meshtastic --set wifi.ap_mode false --set wifi.ssid "" --set wifi.password "" ``` diff --git a/docs/settings/moduleconfig/telemetry.mdx b/docs/settings/moduleconfig/telemetry.mdx index 5d13e6b9..3f2ad36e 100644 --- a/docs/settings/moduleconfig/telemetry.mdx +++ b/docs/settings/moduleconfig/telemetry.mdx @@ -139,7 +139,7 @@ No telemetry module config options are available in the Web UI. ## Examples -### RAK 4631 with Environment Sensor +### RAK 4631 with BME680 Environment Sensor Setup of a RAK 4631 with Environment Sensor @@ -172,3 +172,20 @@ 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 firmare provided there is a GPL licensed library for us to include to support it, and the libary 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. +