In this project we are going to establish a wireless communication between two ESPs and send data from three sensors to an Excel spreadsheet. This tutorial shows a wireless weather station with data logging that you can implement in your home.
Before you continue reading this project, please complete the following tutorials:
- How to get started with the ESP8266
- How to make two ESP8266 talk
- How to flash your ESP8266 with NodeMCU
If you like the ESP WiFi module and you want to build more projects you can download my eBook called “Home Automation using ESP8266” here. Let’s get started!
Here’s the hardware that you need to make the weather station:
- Recommended: 2x ESP-12E read Best ESP8266 Wi-Fi Development Boards
- Alternative: 2x ESP-201 + 1x FTDI Programmer
- 1x DS18B20
- 1x Breadboard
- 3x Pushbutton
- 3x 10k Ohm Resistor
- 1x 4700 Ohm Resistor
- 1x 10k Ohm Potentiometer
You can use the preceding links or go directly to MakerAdvisor.com/tools to find all the parts for your projects at the best price!
DS18B20 – One Wire Digital Temperature Sensor
In this project, we will be using the DS18B20 one wire digital temperature sensor. Now, before we get to the programming part, lets learn how to wire up our temperature sensor.
The DS18B20 can be powered by between 3.0V and 5.5V so you can simply connect its GND pin to GND and the VDD pin to 3.3V from the ESP8266.
Then connect the DQ pin to IO04 on the ESP8266. A 4K7 ohm pullup resistor is required on the DQ pin to pull it up to 3.3V.
Reading ADC Value
We’re going to use the ADC pin to read an analog value and when referring to the ESP ADC pin you will often hear these different terms interchangeably:
- ADC (Analog-to-digital Converter)
- Analog Pin 0
All these terms refer to the same pin in the ESP8266 that is highlighted in the next section (read this article for more information on the ADC pin).
Currently, TOUT (Pin6) has a 10-bit precision and its input voltage range is 0 to 1.0 V when TOUT is connected to an external circuit.