Introduction: Desktop Weather Station With WIFI

About: a maker

Life is more than making a living. Life-Hacks and DIYs can make your 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 [https://www.dfrobot.com/product-1634.html]

2.8" USB TFT Touch Display Screen [https://www.dfrobot.com/product-1062.html]

3.7V Polymer Lithium lon battery [https://www.dfrobot.com/product-437.html ]

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

eg.

1. // Wunderground setting

2. const boolean IS_METRIC = false ;

3. const String WUNDERGRROUND_API_KEY = “api_key_here” ;

4. const String WUNDERGRROUND_LANGUAGE = “ZH” ;

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

ArduinoOTA.handle();

delay(10000);

yield();

}