Project still in process
In this Instructable I'm going to show you how to build personal wireless weather station using NodeMCU (ESP8266)
One year ago I was create weather station based on Arduino. But always there are ways how to improve things to be better.
A Weather station is a device that collects data related to the
weather and environment using many different sensors. We can measure many things like:
- Barometric Pressure
- UV index
I will use these sensors:
- Temperature - Dallas DS18B20
- Humidity, Pressure - BME280
- Anenometer and wind direction - Davis 6410
- Rain gauge - Ventus W174
Step 1: Parts
The parts needed in order to build this project are the following:
1) NodeMCU (ESP8266)
2) Dallas DS18B20 temperature sensor
3) BME280 temperature, humidity and pressure sensor (I2C, SPI)
4) Davis 6410 anenometer
5) Rain gauge
Step 2: Schematic and Wiring Diagram
Step 3: NodeMCU PCB Weather Station Shield
Design printed circuit board (PCB), I was used ,,Sprint-Layout" software. Exported to Gerber files.
To create this NodeMCU weather station shield you will need:
- NodeMcu Lua CH340G/CH340/CP2102 ESP8266 Wireless WIFI Internet Devolop Module Ebay
- Waterproof Digital Thermal Probe or Sensor DS18B20 Arduino Sensor Ebay
- JST-XH Kit 4Pin 2.54mm Terminal Housing PCB Header Wire Connectors Ebay
- Atmospheric Pressure Sensor Temperature Humidity Sensor Breakout BME280Ebay
- 2x 1K 0805 resistor
- 1x 120R 0805 resistor
- 2x 0R 1206 jumper ( resistor)
- 2x 4.7K 0805 resistor
- 1x 10K 0805 resistor
- 1x RJ45 socket Ebay
- 1x 47uF electrolytic capacitor
- 1 x 40pin 2.54mm Female Single Row Breakaway Pin header Ebay
- copper board
Step 4: Arduino Code
- Instal ESP8266 board into Arduino
- Enter your's Wifi router ssid and password.
- Before upload code into your NodeMCU you will need register in wunderground.com to obtain a WU station ID and password.
- Change this ID and password into your weather station Arduino code.
char ID  = "xxxxxx";
char PASSWORD  = "xxxxxx";
3. Register in weathercloud.net to obtain ID and key.
- char ID2  = "xxxxxxxx";
- char Key  = "xxxxxxxxxxx";
4. Change altitudepws in meters (m) to get relative pressure.
5. I'm using 30 second loop time sending data to wunderground.com. And 10 minutes loop time sending data to weathercloud.net
Project still in process
Step 5: Source
Step 6: Testing Weather Station
NodeMCU send sendors data to wunderground.com and weathercloud.net. So it looks everything it's working. Job done ;)