This is a basic example of how to get weather data from OpenWeatherMap.org and display it on LCD display. This code is originally written by Nick Koumaris aka educ8s.tv. He used parallel LCD display in his project and I just changed it to use with I2C LCD display. If it doesn't work with your LCD try changing I2C address of LCD according to your I2C backpack.
educ8s.tv explained the code and showed how to use it in this video. If you read the codes of ArduinoJson library in the .ino file and the message from serial port you'll understand the basics of getting information and write it down to lcd.
- Any ESP8266 board ( I used NodeMCU ESP8266)
- 16x2 LCD with I2C backpack
- LiquidCrystal_I2C.h
- ESP8266_WiFi.h
- ArduinoJson.h ( Must be version 5. Choose the right version while downloading it from Library Manager)
- Wire.h