The RPi-WeatherStation is a simple home weather station based around a Waveshare Raspberry Pi Zero WH.
It provides command-line logging scripts for periodic capture of sensor readings and storage of those readings in a SQLite database along with a simple dashboard to present the latest readings in a web browser.
It also implements a simple web service that can be run either as a command-lin script or installed as a systemd daemon. The web service periodically scans all the sensors, stores the data in a SQLite database and exposes endpoints to query the latest readings.
The following is a table of the current supported sensors:
| Measurement | Sensor | Reference |
|---|---|---|
| Temperature | BME280 | Bosch BME280 datasheet |
| Pressure | BME280 | Bosch BME280 datasheet |
| Humidity | BME280 | Bosch BME280 datasheet |
| Illuminance | VEML7700 | VEML7700 datasheet |
| Air Quality | SGP40 | Sensiron SGP40 datasheet |
Reporting is available using Jupyter Notebooks and the reports in the "reports" folder.
Please see the Wiki for configuration details and the user guide.
- Dave Walker - Initial work
- The BME280 integer compensation maths follows the Bosch BME280 datasheet reference algorithm
- The implementation of the VEML7700 wrapper draws on the following references:
- The implementation of the SGP40 wrapper draws on the following references:
- Includes an I2C LCD driver adapted from community examples
To file issues or suggestions, please use the Issues page for this project on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.
