• EUR€
  • £GBP
  • $USD

ESP8266 Project: Desktop Weather Station With WIFI

DFRobot Nov 14 2017 1855

Life is more than making a living. Life-Hackers and DIYers can make their days more enjoyable. By being a designer of your own house, you don't have to follow the latest fashion. For some time, simple changes make a big difference and can bring you great satisfaction. When tech, Open-source hardware and Design meet each other there would be amazing chemical reactions.

We have to be kind to every single day of our life. For this project, I made the shell like a cloud, which stands pure and lovely.

Step 1: Components Lists

FireBeetle Board-ESP8266 WiFi dev board
2.8" USB TFT Touch Display Screen 
3.7V Polymer Lithium lon battery

Step 2: Modeling

Product measurements is important for building an aethetic appearance.A caliper can save your time.

Step 3: Loading Arduino Libraries

For beginners, you can either download libraries to local folder or make an automated install from the IDE nav bar.
libraries required:
Adafruit GFX Library
Adafruit ILI9341 Library
Adafruit STMPE610
WIFIManager for esp8266
JSON Streaming Paser

Step 4: Wiring

Step 5: Api Key

Wunderground API helped me with the weather data.
And it's free to create a new account for your email.
And you have to replace the default ones in setting.h file. It is very important that you remember that key.
Step5 Configure Setting
set your language ,country and city to show the correct weather report
check following code in setting.h
1. // Wunderground setting
2. const boolean IS_METRIC = false ;
3. const String WUNDERGRROUND_API_KEY = “api_key_here” ;
5. const String WUNDERGROUND_COUNTRY = “China” ;
6. const String WUNDERGROUND_CITY = “shanghai” ;

Step 6: Run the Project

When you run the project for the first time, the screen would show you the instruction. Connect to the wifi of ESP8266 and configure wifi.

Step 7: Sleep and Power Saving Mode

The screen was set to enter sleep mode in 10 sec.And it would be wake up when you touch the screen.You can custom that period of time by applying changes to the code in weather_station_color.ino.
// for AWAKE_TIME seconds we'll hang out and wait for OTA(over the air) updates
for (uint16_t i=0; i
// Handle OTA update requests