Introduction: ESP8266, BMP280, MQTT Weather Station
This will guide you trough making a simple weather station with good accuracy.
Here we use a ESP8266 WIFI development board to connect the sensor to the internet to save the data. A lot of flavorous exist and will work and I will use the one I have at home: Homefixer ESP8266
There are many different sensors, but according to http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html the BME280 delivers the best results out of common low-cost hygrometers. (Due to the seller sending me the wrong part, this guide will be using BMP280 but the steps are similar.
The sending of data will be trough MQTT.
Step 1: Connection
First we need to connect the BMP280 to the ESP8266.
Connect it like this:
BME280 | ESP8266(NodeMCU) VCC | 3.3V GND | GND SCL | GPIO2(D4) SDA | GPIO0(D3)
Step 2: Install the Software
You can also follow this guide: https://www.letscontrolit.com/wiki/index.php/Tuto...
- Download ESPEasy: https://www.letscontrolit.com/downloads/ESPEasy_R...
- Run flash.cmd
- Answer the questions: Comport can be found in the Devicemanager, Flash Size depends on module: my module is 4096, Build: 120 or newer
- Power off/on or reset the module
- Follow this guide to set up WiFi: https://www.letscontrolit.com/wiki/index.php/Easy...
Step 3: Set Up BMP280
- Connect to the modules website as showed in the wifi setup
- Change i2c ports to SDA=GPIO0 and SCL= GPIO2 or as you connected it
- Add the BMP280 under devices, remember to set IDX to non-zero value
Step 4: Set Up MQTT
Under the config tab you can set the MQTT broker settings. I'm using openHAB protocol after recommendation from here: https://diyprojects.io/esp-easy-mqtt-node-red-bi-...
Temperature will now be published under:
I'm using node-red to display it as shown in the last picture.
Now the weather station is done hurray