|
|
|
# esp32-weatherstation
|
|
|
|
|
|
|
|
Wetterstation v2 with ESP32 and various sensors
|
|
|
|
|
|
|
|
[![Build Status](https://drone.xd0.de/api/badges/hendrik/esp32-weatherstation/status.svg)](https://drone.xd0.de/hendrik/esp32-weatherstation)
|
|
|
|
|
|
|
|
## Hardware
|
|
|
|
* ESP32 µC
|
|
|
|
|
|
|
|
## Wiring
|
|
|
|
|
|
|
|
### Display
|
|
|
|
|
|
|
|
Connect to TFT LCD Port with 10P SH1.0 cable
|
|
|
|
|
|
|
|
E-Paper pin | ESP32 pin | Notes
|
|
|
|
------------|-----------|------------
|
|
|
|
3V3 | |
|
|
|
|
BUSY | nc |
|
|
|
|
CS | IO14 |
|
|
|
|
SCK | IO18 |
|
|
|
|
MOSI | IO23 | MISO: IO19
|
|
|
|
DC | IO27 |
|
|
|
|
RST | IO33 |
|
|
|
|
GND | |
|
|
|
|
|
|
|
|
### BME680
|
|
|
|
|
|
|
|
I2C
|
|
|
|
|
|
|
|
BME680 pin | ESP32 pin | Notes
|
|
|
|
-----------|-----------|----------
|
|
|
|
VCC | 3V |
|
|
|
|
GND | GND |
|
|
|
|
SCL | IO22 |
|
|
|
|
SDA | IO21 |
|
|
|
|
SDO | nc | SPI only
|
|
|
|
CS | nc | SPI only
|
|
|
|
|
|
|
|
### BH1750 (GY-302)
|
|
|
|
|
|
|
|
I2C
|
|
|
|
|
|
|
|
GY-302 pin | ESP32 pin | Notes
|
|
|
|
-----------|-----------|----------
|
|
|
|
VCC | 3V |
|
|
|
|
GND | GND |
|
|
|
|
SCL | IO22 |
|
|
|
|
SDA | IO21 |
|
|
|
|
ADDR | nc | select addr: GND: 0x23 or VCC: 0x5C
|
|
|
|
|
|
|
|
### VEML6075
|
|
|
|
|
|
|
|
I2C
|
|
|
|
|
|
|
|
GY-VEML6075 pin | ESP32 pin | Notes
|
|
|
|
-----------|-----------|----------
|
|
|
|
VIN | 3V |
|
|
|
|
GND | GND |
|
|
|
|
SCL | IO22 |
|
|
|
|
SDA | IO21 |
|
|
|
|
|
|
|
|
### SDS011
|
|
|
|
|
|
|
|
Serial (HardwareSerial2)
|
|
|
|
|
|
|
|
SDS011 pin | ESP32 pin | Notes
|
|
|
|
-----------|-----------|----------
|
|
|
|
TXD | IO15 | (don't use IO16 together with PSRAM)
|
|
|
|
RXD | IO2 | (don't use IO17 together with PSRAM)
|
|
|
|
GND | GND |
|
|
|
|
25µm | nc |
|
|
|
|
5V | VUSB | 5V
|
|
|
|
1µm | nc |
|
|
|
|
NC | nc |
|
|
|
|
|
|
|
|
## Build & Install
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://dev.xd0.de/hendrik/esp32-weatherstation.git
|
|
|
|
cd esp32-weatherstation
|
|
|
|
virtualenv .
|
|
|
|
source bin/activate
|
|
|
|
pip install -U platformio
|
|
|
|
pio run
|
|
|
|
platformio run -t upload && platformio device monitor -b 115200
|
|
|
|
```
|
|
|
|
|
|
|
|
## Authors
|
|
|
|
|
|
|
|
* **Hendrik** - *Initial work* - [hendrik](https://dev.xd0.de/hendrik)
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
|
|
|
|
|
|
|
|
## Acknowledgments
|
|
|
|
|
|
|
|
* [PlatformIO](https://platformio.org) - Cross-platform IDE
|
|
|
|
* [GxEPD2](https://github.com/ZinggJM/GxEPD2) - E-Paper display library
|
|
|
|
* [Adafruit BME680](https://github.com/adafruit/Adafruit_BME680) - BME680 sensor library
|
|
|
|
* [Nova Fitness SDS dust sensors arduino library](https://github.com/lewapek/sds-dust-sensors-arduino-library.git) - SDS011 Laser dust sensor library
|
|
|
|
* [BH1750](https://github.com/claws/BH1750/) - BH1750 sensor library
|
|
|
|
* [VEML6075](https://github.com/adafruit/Adafruit_VEML6075) - VEML6075 sensor library
|