From 531d6b51f13fd5315e6ae1beb57e6ceb296464d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sun, 2 Jan 2022 23:21:29 +0100 Subject: [PATCH] license --- LICENSE.txt | 18 ++++++++++++++++++ README.md | 41 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 LICENSE.txt diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..d313970 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,18 @@ +Out of abundance of caution, all code in this project should be considered available for private educational use only, +with no redistribution permitted in any form. Some files are available as MIT. + +Ask for clarification if needed: ondra@ondrovo.com + + +~~ Licensing for individual components ~~ + +Console + +proprietary (c) VZLU 2021, developed for VZLUSAT2 with CSP parts removed in this version. +Inspired by the esp32 console, including a modified 3rd party Linenoise library, and argtable3. + +BSEC +by Bosch, see the bme680 lib for details + +Web templating, telnet protocol, tcp socket server and the actual metering app +(c) Ondřej Hruška 2018-2022, these components are MIT. diff --git a/README.md b/README.md index c9200db..40bbd5c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,41 @@ # ESP air quality sensor -## Components +## Function + +- CO2 ppm +- air temperature +- relative humidity +- gas sensor VOC equivalent PPM +- gas sensor CO2 equivalent PPM + +### Data reading + +The module prints actual readings to the debug console. + +Data is accessible as JSON on a REST endpoint /sample, port 80 + +Example: + +``` +{"temp":22.80,"temp_r":22.86,"hum":45.33,"hum_r":45.15,"pres":98203.7,"gas_r":583406.1,"co2":620.00} +``` + +More data is included once BSEC2 (Bosch proprietary BME680 client / fusion library) finishes its calibration. See the `websrv.c` file for details. + +### Workarounds & reliability features + +The used CO2 sensor has buggy ABC algorithm that sometimes underflows. Further, I2C is very much broken on the sample used, so I use the Modbus interface instead. +Automatic restart and calibration restore is implemented for it. + +BSEC2 state persistence is implemented, but dubious if functional due to the millisecond timestamp logic. Air quality reports usually start coming after a couple hours of run time with varying ambient gas concentration. + +### Configuration + +Config via console on the serial port (115200-8-N-1), or telnet (port 22). + +WiFi can be configured and persisted, including static IP. WiFi scan is not implemented. + +## Hardware - BME680 in I2C mode - SenseAir Sunrise (buggy early revision, will need updating for newer sensors) @@ -17,6 +52,4 @@ ## Licensing -- Console component, proprietary (c) VZLU 2021, developed for VZLUSAT2 with CSP parts removed in this version. Partly based on esp32 console, including 3rd party Linenoise library. -- BSEC2 by Bosch, see lib for details -- web templating, telnet protocol, tcp socket server and the actual metering app (c) Ondřej Hruška 2018-2022 +See the LICENSE file.