Kit Includes
- Node MCU (esp82 66-12e v1.0) Wi-fi Board -1
- NodeMcu USB cable - 1
- Jumper Wires (male to male) – 20 pcs
- BMP280 Barometric pressure Sensor Module -1
- 830 pt Breadboard- 1
Introduction
Don't let the Smartphone weather apps or commercial weather station (that feeds you with data from stations based miles away) run your outdoor plans with this IOT project you can be your own weatherman
In this project, we will learn how to make a mini weather station using ESP8266 & BME280 Barometric pressure sensor that can give real-time information on atmospheric pressure, temperature & humidity using BME280 we can even measure the altitude above sea level.
This project uses ESP8266 Nodemcu as the control device that easily connects to the existing wi-fi network & creates a web server. When any connected device accesses this webserver, ESP8266 reads in temperature & altitude from BME280 & sends it to the web browser of that device with a nice interface.
HARDWARE REQUIRED
- Node MCU (esp82 66-12e v1.0) Wi-fi Board -1
- NodeMcu USB cable - 1
- Jumper Wires (male to male) – 20 pcs
- BMP280 Barometric pressure Sensor Module -1
- 830 pt Breadboard- 1
SOFTWARE REQUIRED
Arduino IDE 1.8.5 (programmable platform for Arduino)
Click To Download: https://www.arduino.cc/en/Main/Software
SPECIFICATIONS
NodeMCU ESP8266 CP2102 NodeMCU WIFI Serial Wireless Module
- ESP8266 CP2102 NodeMCU LUA ESP-12E WIFI Serial Wireless Module
- Built-in Micro-USB, with flash and reset switches, easy to program
- Full I/O port and Wireless 802.11 supported, direct download no need to reset
- Arduino compatible works great with the latest Arduino IDE/Mongoose IoT/Micro python
BMP280 Barometric Pressure Sensor
- Model: GY-BMP280-3.3
- Chip: BMP280
- Power supply: 3V/3.3V DC
- Peak current: 1.12mA
- Air pressure range: 300-1100hPa (equivalent to +9000…-500m above sea level)
- Temperature range: -40 … +85 °C
- Digital interfaces: I²C (up to 3.4 MHz) and SPI (3 and 4 wire, up to 10 MHz)
- Current consumption of sensor BMP280: 2.7µA @ 1 Hz sampling rate
Pin No. |
Pin Name |
Pin Description |
1 |
VCC |
The power source of 3.3VDC |
2 |
GND |
Ground |
3 |
SCL |
Serial Clock |
4 |
SDA |
Serial Data |
LIBRARY REQUIRED
ESP8266 WebServer - https://drive.google.com/open?id=1BjISgZNAoG51GPNVsiQkK3p1eYb4pCx1
Wire - https://drive.google.com/open?id=1Ej-R75OikJAlHrj275zYvKNzDN3cm0zi
Adafruit sensor - https://drive.google.com/open?id=1Ay3ndz8r8L5okePKV1k_Y0XhvYApzK-Y
Adafruit BMP280 - https://drive.google.com/open?id=1JhtRYElZm7-bYKaLFVkO5M89uIewYmmr
After downloading these libraries
To install the libraries - Go to sketch -> Include library -> add .zip library
CIRCUIT CONNECTION
- Connect BMP280 Module “Vcc” pin to node MCU pin 3.3v.
- Connect BMP280 Module Module “Gnd” pin to node MCU pin GND.
- Connect BMP280 Module “SCL” pin to node mcu pin D1.
- Connect BMP280 Module “SDA” pin to node mcu pin D2.
CODE
Click to see the code
https://drive.google.com/open?id=15uoPlsH5Jw3bgj1ILGWfX4dnDecr5NvH
WORKING AND OUTPUT
Welcome to the Node MCU Based project.
- First, upload the code. Enter your “SSID and password”.
- After uploading the code open the serial monitor you will get the Server IP.
- Copy the IP and paste to the browser.
- After uploading the code, open the serial monitor at a baud rate at 115200.
- If everything is ok, it will output the dynamic IP address obtained from your router and show the HTTP server started message.
- Next, load up a browser and point it to the IP address shown on the serial monitor. The ESP8266 should serve up a web page showing temperature, humidity, pressure, and altitude from BME280
Click to watch the tutorial
For more tutorials subscribe our channel REES52 on YouTube