|
|
|
# ESP8266 WeatherStation
|
|
|
|
|
|
|
|
Compact outdoor weather station.
|
|
|
|
|
|
|
|
Features:
|
|
|
|
* Temperature
|
|
|
|
* Humidity
|
|
|
|
* Pressure
|
|
|
|
* dust particles PM10 (10µm) and PM2.5 (ultrafine, 2.5µm)
|
|
|
|
* radioactivity
|
|
|
|
* WiFi
|
|
|
|
* needs 5V power supply
|
|
|
|
* opensensemap.org API
|
|
|
|
|
|
|
|
Power consumption:
|
|
|
|
* ~40mA @ 5V
|
|
|
|
* (31mA idle + fan + wifi)
|
|
|
|
|
|
|
|
CAD files (OpenSCAD) and source code included.
|
|
|
|
|
|
|
|
|
|
|
|
![Weatherstation](cad/img/weatherstation.jpg)
|
|
|
|
|
|
|
|
| geiger counter and DHT22 | particle sensor and ESP8266 |
|
|
|
|
|---------------------------------------|-----------------------------------------|
|
|
|
|
| ![Weatherstation](cad/img/geiger.jpg) | ![Weatherstation](cad/img/particle.jpg) |
|
|
|
|
|
|
|
|
## Installation Instructions
|
|
|
|
|
|
|
|
1. git clone https://dev.xd0.de/hendrik/esp-weatherstation.git
|
|
|
|
2. cd esp-weatherstation
|
|
|
|
3. virtualenv -p python --no-site-packages .
|
|
|
|
4. source bin/activate
|
|
|
|
5. pip install -U platformio
|
|
|
|
6. platformio run --target upload && platformio device monitor -b 115200
|
|
|
|
|
|
|
|
## Wiring
|
|
|
|
|
|
|
|
NodeMCU v0.9
|
|
|
|
SDS011
|
|
|
|
A0 D0
|
|
|
|
RSV (5)D1 ----------------------- TXD
|
|
|
|
RSV (4)D2 ----------------------- RXD
|
|
|
|
RSV (0)D3 -- BME_SDA .---- GND
|
|
|
|
RSV (2)D4 -- BME_SCL | ...
|
|
|
|
RSV 3V3 -- BME_VCC | .--- 5V
|
|
|
|
RSV .-GND -- BME_GND | | ...
|
|
|
|
GND =C= D5 | | ...
|
|
|
|
3V3 '- D6 ------------. | |
|
|
|
|
GND D7 -- DHT_DATA \ +-| --------- GND
|
|
|
|
3V3 D8 \ | +---------- 5V
|
|
|
|
EN RX '- | ----------- VIN
|
|
|
|
RST TX | |
|
|
|
|
GND -. GND - DHT_GND | | GeigerCnt
|
|
|
|
.-- 5V | 3V3 - DHT_VDD | |
|
|
|
|
| '------------------------' |
|
|
|
|
'-----------------------------------'
|
|
|
|
|
|
|
|
SDS011:
|
|
|
|
- TXD -> D1
|
|
|
|
- RXD -> D2
|
|
|
|
- GND -> GND
|
|
|
|
-
|
|
|
|
- 5V -> 5V
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
DHT22: (WARNING: This sensor has proven to be unreliable outdoors!)
|
|
|
|
- VDD -> 3V3
|
|
|
|
- DATA -> D7
|
|
|
|
- ->
|
|
|
|
- GND -> GND
|
|
|
|
|
|
|
|
RadiationD-v1.1(CAJOE):
|
|
|
|
- GND -> GND
|
|
|
|
- 5V -> 5V
|
|
|
|
- VIN -> D6
|
|
|
|
|
|
|
|
|
|
|
|
12V power mod with step down converter and voltage divider for voltage measurement:
|
|
|
|
|
|
|
|
BAT+ --[FUSE]--+------------- Vin+| BUCK CONVERTER |Vout+ -- 5V
|
|
|
|
\R\ | |
|
|
|
|
\1\
|
|
|
|
>---+------------------------------------- A0
|
|
|
|
/R/ |
|
|
|
|
/2/ === C1 | |
|
|
|
|
BAT- ----------'------+------ Vin-| BUCK CONVERTER |Vout- -- GND
|
|
|
|
|
|
|
|
Example values: R1=1MΩ, R2=100kΩ, C1=some ceramic capacitor (optional)
|
|
|
|
measures up to ~30V
|
|
|
|
|
|
|
|
## ToDo
|
|
|
|
* https://tinker.yeoman.com.au/2016/05/29/running-nodemcu-on-a-battery-esp8266-low-power-consumption-revisited/
|
|
|
|
* deep_sleep (connect D0 to RST)
|
|
|
|
* https://hackaday.com/2014/10/25/use-a-cheap-pin-diode-as-a-geiger-counter/ (opengeiger.de/elektronik.html)
|
|
|
|
* Solar power
|
|
|
|
* https://odlinfo.bfs.de/DE/aktuelles/messstelle/051130004.html
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
### Code
|
|
|
|
WTFPL: http://www.wtfpl.net/about/
|
|
|
|
|
|
|
|
### Sensor Data
|
|
|
|
Public Domain: https://opendatacommons.org/licenses/pddl/summary/
|