- Notifications
You must be signed in to change notification settings - Fork0
Home air quality monitoring. esp32 project to read sensors and write to influxdb and prometheus: PMS5003, S8, BMP180, SHT3X
License
hkoosha/homer1
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project is ported to Raspberry Pi Pico:https://github.com/hkoosha/homer2
A project to read out sensors connected to ESP32 and write to InfluxDB and expose for Prometheus. ESP-IDF based.
Raspberry Pi auto configuration included (for Grafana, Prometheus and InfluxDB).
Sensors:
- BMP180
- SHT3X
- S8 (SenseAir)
- PMS5003
- Clone this project.
- Setupesp idf locally.
- Run
idf.py menuconfig
. In homer1 menu:- Wifi: optionally set Wifi SSID and password or disable wifi for debugging.
- Reporting: optionally enableInfluxDB andPrometheus.
- Sensors: enable the sensors you're planning to connect. Configure and takenote of the pins you will connect the sensors to here. doNOT enableSGP30.
- Display: if you have an e-paperdriverboard, enable it here, and configure the pin used for interrupt signalcomming from driver board to the main esp32. If you don't have a driverboard nonetheless but would like to write the sensor readings to I2c busyou can still use this functionality.
- Connect the sensors to the pins you configured above. All I2C sensors go tothe same pins. S8 and PMS5003 each go to different pins because without amux, UART can only support a single device.
- Connect the power to esp32 and see the readings in serial console or one-paper.
The Arduino file is located indisplayer_esp32 directory.It's writetn for a 7.5 wavesharee-paper display,using thedriver board.A proper UI is TBD and not yet written.
You can find the configuration scripts for InfluxDB and Prometheus on a raspberrypi inraspberry directory. If you're not using raspberry you canstill get the grafana dashboard scripts from here.
- Make it power consumption friendly.
- SHT3X takes no calibration.
- SGP30 causes panic in interrupt handler of i2c.
Some BMP180 code stolen from:krzychb/bmp180-tests [APACHE-2.0]
Some S8 code stolen from:SFeli/ESP32_S8
Some Prometheus ideas got from:polyfloyd/esp32-sensornode
InfluxDB:
Grafana:
Serial output:
About
Home air quality monitoring. esp32 project to read sensors and write to influxdb and prometheus: PMS5003, S8, BMP180, SHT3X