User avatar
By RichardS
#43061 User
pdvrk

Description
Wall plug meteo station with 2.8" LCD is displaying indoor/outdoor weather data and 3 day forecast on LCD display and also online via MQTT/JSON. Indoor temperature and humidity is acquired via DHT22 sensor and OpenWeatherMap.org API is providing data for outdoor weather and forecast.

Heart of this device is ESP-201, programmed with Arduino IDE. Power supply is provided with AC/DC 220V/5V and DC/DC 5V/3.3V adapters located inside. DHT22 is located outside on the back of the enclosure, to avoid wrong temperature readings inside. Upper left part of the screen is displaying outdoor values and upper right part of the screen is showing indoor values. Bottom part of the screen is reserved for 3 day forecast.

Every 15 minutes, weather data is being refreshed, first from DHT22 sensor and then from OpenWeatherMap data. Since their API is giving quite large output, I wrote small PHP parser located on my server, to filter unnecessary data, so device is fetching only data that is needed for LCD print. To be able to display weather icons, I installed custom font (https://github.com/kickstandapps/WeatherIcons) and icon is displayed as single letter, according to OpenWeatherMap data. After fetching and parsing weather data, info is being printed on LCD display and pushed to MQTT broker. Weather data is also being stored in memory until next reading and web server on ESP-201 is enabled, so I can access weather data in JSON format (needed for my Android application TempWidget).

Features:
- Indoor/outdoor weather data and 3 day forecast refreshing every 15 minutes.
- MQTT client for publishing weather data to MQTT broker.
- Web server with password protected JSON response
- DDNS client for IP address updating (Afraid.org)

Parts
- ESP-201
- TFT LCD 2.8" ILI9341
- DHT22 temperature and humidity sensor
- Wall plug enclosure
- AC/DC 5V 700mA adapter
- DC/DC 5V-3.3V adapter

Links

Video

Images
Attachments
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
7.jpg
6.jpg
8.jpg
9.jpg