I’m convinced that this ‘Internet of Things’ thing-thing is not real. Pure marketing and buz words without any added value, right? The IoT hype is so bizar: it must be originated by aliens which have taken over the brains of all the Pointy-haired Bosses of the world? There is no useful application or use case out there!
But wait! There *is* actually good use case, at least for the geeks of this world. We all love clocks as we want to know the time, and we all love the weather forecast so we can plan accordingly. At least I usually do :-).
A tweet by Daniel Eichhorn (@squix78) triggered my interest: he created a cool ESP8266 WiFi weather station, and actually sells it as a kit. So without waiting I ordered two kits,without really checking all the details: The “ESP8266 WeatherStation Kit” and the “ESP8266 WiFi Color Display Kit“.
Each kit is in a very solid (and useful!) plastic box. And unlike many other kits from China, everything is well-organized and in antistatic bags. The ESP8266 WeatherStation Kit includes
- DHT11 Temperature/Humidity Sensor
- SSD1306 0.96″ OLED
- 40 Jumper cables
- EP8266 nodeMCU v1.0 with 4 MByte Flash
- Micro USB cable
No soldering is required for the ESP8266 WeatherStation Kit. Daniel wrote an excellent tutorial (https://blog.squix.org/wp-content/uploads/2017/06/esp8266weatherstationgettingstartedguide-20170608.pdf) plus a guide how to integrate the DHT11 sensor (https://blog.squix.org/2015/12/esp8266-weather-station-measuring-2.html). With this the wiring and software setup was a piece of cake :-).
The example code uses the free Weather Underground (https://www.wunderground.com) weather service. Using the ESP8266 chip it connects over WiFi to the service and receives the data in JSON format. A JSON parser on the ESP8266 extracts the data and displays the data. The weather service provides data for many countries and cities, in different languages. I selected a place a few kilometers away from home.
The interval of fetching data is configurable, and I’m using 10 minutes for now. The JSON data has lots of data, and the JSON parser on the ESP8266 extracts information for the display. In the example code it cycles through several pages.
Weather forecast with min/max temperature:
Indoor (and outdoor) temperature and humidity. For indoor sensor values it uses the DHT11. The temperature and humidity gets pushed to Thingspeak so I can use it from another weather station (more about this later).
Date and Time (yes, it is a clock too!):
For the weather station I designed in Inkscape an enclosure with 3 mm plywood (35x40x60 mm):
The DHT11 sensor gets placed on the bottom of the box:
I placed the ESP8266 module on top, behind the display. A small plywood pice separates the display from the module so they do not make contact:
On the bottom I added some ventilation holes to get better temperature and humidity values:
On the backside the USB port with a ‘cloud’ for better air flow.
Currently the weather station gets powered through the micro USB connector. Because of the jumper wiring there is no space for a battery. I have ordered a small LiPo plus a charger module for a next iteration. But so far I’m very happy how it fits together and works :-).
Thanks to Daniel I have now a small and useful weather station. It fetches local weather and forecast data from the internet using the ESP8266 WiFi chip. It pushes data to Thingspeak so I can use it from anywhere in the world. Or display the data another weather station. Remember that I ordered two kits? Yes, that second kit has a touch LCD, so this one will be next :-).
The design files are on Thingiverse: https://www.thingiverse.com/thing:2527340
Happy Squixing 🙂
- Starter Kits: https://blog.squix.org/product-category/starter-kits
- Weather Station Kit: https://blog.squix.org/product-category/starter-kits
- Weather Station Color Add-on Kit: https://blog.squix.org/product/esp8266-wifi-color-display-kit-2-4
- Getting Started Guide for Weather Station: https://blog.squix.org/wp-content/uploads/2017/06/esp8266weatherstationgettingstartedguide-20170608.pdf
- Blog post: https://blog.squix.org/2016/10/esp8266-weather-station-color-code-published.html
- Github: https://github.com/squix78/esp8266-weather-station-color
- Files on Thingiverse: https://www.thingiverse.com/thing:2527340