94 lines
2.8 KiB
Markdown
94 lines
2.8 KiB
Markdown
# CO<sub>2</sub> Ampel
|
|
|
|
*CO<sub>2</sub> Ampel* is an open-source project, written in C++ for ESP8266 or ESP32.
|
|
|
|
It measures the current CO<sub>2</sub> concentration (in ppm), and displays it on an LED ring.
|
|
|
|
The room should be ventilated as soon as one LED turns red.
|
|
|
|
## Features
|
|
|
|
The *CO<sub>2</sub> Ampel* can:
|
|
|
|
* Display CO2 concentration on LED ring.
|
|
* Allow calibration.
|
|
* Get current time over NTP
|
|
* Send data over MQTT.
|
|
* Send data over LoRaWAN.
|
|
* Display measurements and configuration on a small website.
|
|
* Log data to a CSV file, directly on the ESP flash memory.
|
|
|
|
## Hardware Requirements
|
|
|
|
* [ESP8266](https://en.wikipedia.org/wiki/ESP8266) or [ESP32](https://en.wikipedia.org/wiki/ESP32) microcontroller (this project has been tested with *ESP8266 ESP-12 WIFI* and *TTGO ESP32 SX1276 LoRa*)
|
|
* [Sensirion SCD30](https://www.sensirion.com/en/environmental-sensors/carbon-dioxide-sensors/carbon-dioxide-sensors-co2/) "Sensor Module for HVAC and Indoor Air Quality Applications"
|
|
* [NeoPixel Ring - 12](https://www.adafruit.com/product/1643)
|
|
|
|
See the [original documentation](https://transfer.hft-stuttgart.de/gitlab/co2ampel/ampel-documentation) for more info.
|
|
Or our Wiki [MakerLab Wiki CO2 Ampel](https://wiki.makerlab-murnau.de/books/co2-ampel).
|
|
|
|
## Software Requirements
|
|
|
|
* [PlatformIO](https://platformio.org/)
|
|
or
|
|
* [Arduino IDE](https://www.arduino.cc/en/software)
|
|
|
|
## Installation
|
|
|
|
* If `config.h` does not exist, copy it from `config.public.h`
|
|
* Modify `config.h`, e.g. for measurement time-steps, WiFi access, MQTT, NTP and web-server.
|
|
|
|
### PlatformIO
|
|
|
|
PlatformIO can be run from [VSCODE](https://platformio.org/install/ide?install=vscode), [Eclipse CDT](https://www.eclipse.org/cdt/) or console:
|
|
|
|
```bash
|
|
make upload board=esp8266 && make monitor # For ESP8266
|
|
```
|
|
```bash
|
|
make upload board=esp32 && make monitor # For ESP32
|
|
```
|
|
|
|
### Arduino IDE
|
|
|
|
* All the libraries are included in this repository. No need to install anything via *Library Manager*.
|
|
|
|
* Add your board to the [board manager](https://github.com/esp8266/Arduino#installing-with-boards-manager). Either ESP8266:
|
|
|
|
http://arduino.esp8266.com/stable/package_esp8266com_index.json
|
|
|
|
or ESP32:
|
|
|
|
https://dl.espressif.com/dl/package_esp32_index.json
|
|
|
|
* Choose the correct board in *Tools > Board > ...*
|
|
* Choose the correct *Flash size* (e.g. "Flash Size : 4MB (1MB FS, OTA:~1019kB)" for *ESP8266 ESP-12 WIFI*)
|
|
|
|
* *Verify*
|
|
* *Upload*
|
|
* *Tools > Serial Monitor*
|
|
|
|
## Authors
|
|
|
|
* Eric Duminil
|
|
* Robert Otto
|
|
* Myriam Guedey
|
|
* Tobias Gabriel Erhart
|
|
* Jonas Stave
|
|
|
|
Hochschule für Technik Stuttgart
|
|
|
|
## Modifications by
|
|
|
|
* Jens Noack
|
|
|
|
MakerLab Murnau e.V.
|
|
|
|
## Contributing
|
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
|
|
|
## License
|
|
|
|
Copyright © 2020, [HfT Stuttgart](https://www.hft-stuttgart.de/)
|
|
|
|
[GPLv3](https://choosealicense.com/licenses/gpl-3.0/)
|