All Projects → ThingPulse → Esp8266 Weather Station

ThingPulse / Esp8266 Weather Station

Licence: mit
ESP8266 Weather Station library supporting OpenWeatherMap, Aeris and other sources

Projects that are alternatives of or similar to Esp8266 Weather Station

Pzem004t
Arduino communication library for Peacefair PZEM-004T Energy monitor
Stars: ✭ 165 (-79.93%)
Mutual labels:  arduino, arduino-library, esp8266
Arduino Applemidi Library
Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
Stars: ✭ 177 (-78.47%)
Mutual labels:  arduino, arduino-library, esp8266
Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (-79.44%)
Mutual labels:  arduino, arduino-library, esp8266
Guislice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
Stars: ✭ 534 (-35.04%)
Mutual labels:  arduino, arduino-library, esp8266
Arduinojson
📟 JSON library for Arduino and embedded C++. Simple and efficient.
Stars: ✭ 5,456 (+563.75%)
Mutual labels:  arduino, arduino-library, esp8266
Button2
Arduino Library to simplify working with buttons. It allows you to use callback functions to track single, double, triple and long clicks. It also takes care of debouncing.
Stars: ✭ 109 (-86.74%)
Mutual labels:  arduino, arduino-library, esp8266
Arduino Homekit Esp8266
Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.
Stars: ✭ 545 (-33.7%)
Mutual labels:  arduino, arduino-library, esp8266
Easyntpclient
Library to read time from Network Time Protocol (NTP) servers.
Stars: ✭ 20 (-97.57%)
Mutual labels:  arduino, arduino-library, esp8266
Arduinowebsockets
A library for writing modern websockets applications with Arduino (ESP8266 and ESP32)
Stars: ✭ 213 (-74.09%)
Mutual labels:  arduino, arduino-library, esp8266
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (-75.43%)
Mutual labels:  arduino, arduino-library, esp8266
Tft espi
Arduino and PlatformIO IDE compatible TFT library optimised for the STM32, ESP8266 and ESP32 that supports different driver chips
Stars: ✭ 1,215 (+47.81%)
Mutual labels:  arduino, arduino-library, esp8266
Heatpump
Arduino library to control Mitsubishi Heat Pumps via connector cn105
Stars: ✭ 327 (-60.22%)
Mutual labels:  arduino, arduino-library, esp8266
Aunit
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test. Used with AUniter or EpoxyDuino for continuous builds.
Stars: ✭ 73 (-91.12%)
Mutual labels:  arduino, arduino-library, esp8266
Irremoteesp8266
Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
Stars: ✭ 1,964 (+138.93%)
Mutual labels:  arduino, arduino-library, esp8266
Ws2812fx
WS2812 FX Library for Arduino and ESP8266
Stars: ✭ 1,113 (+35.4%)
Mutual labels:  arduino, arduino-library, esp8266
Socket.io Client
A socket.io-client implementation for ESP8266 and Arduino
Stars: ✭ 170 (-79.32%)
Mutual labels:  arduino, arduino-library, esp8266
Ewma
Exponentially Weighted Moving Average Filter
Stars: ✭ 21 (-97.45%)
Mutual labels:  arduino, arduino-library, esp8266
Easybutton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
Stars: ✭ 187 (-77.25%)
Mutual labels:  arduino, arduino-library, esp8266
Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (-63.14%)
Mutual labels:  arduino, arduino-library, esp8266
Espui
A simple web user interface library for ESP32 and ESP8266
Stars: ✭ 330 (-59.85%)
Mutual labels:  arduino, arduino-library, esp8266

ThingPulse ESP8266 Weather Station

ThingPulse logo

This code works best with the NodeMCU V2 ESP8266 module and an 0.96" OLED display. To get you up and running in no time we created a kit which contains all the necessary parts: https://thingpulse.com/product/esp8266-iot-electronics-starter-kit-weatherstation-planespotter-worldclock/

By buying this and other kits from us you are funding maintenance and development of this library. Thank you!

ThingPulse ESP8266 WeatherStation Classic Kit

Build Status

Branch Status
master Build Status
development Build Status

Service level promise

This is a ThingPulse prime project. See our open-source commitment declaration for what this means.

Install and configure Arduino IDE

Make sure you use a version of the Arduino IDE which is supported by the ESP8266 platform. Follow the tutorial on our documentation platform.

Install libraries in Arduino IDE

Install the following libraries with your Arduino Library Manager in Sketch > Include Library > Manage Libraries...

  • ESP8266 Weather Station
  • JSON Streaming Parser by Daniel Eichhorn
  • ESP8266 OLED Driver for SSD1306 display by Daniel Eichhorn. Use Version 3.0.0 or higher!

Prepare the software

  • Create an API Key for OpenWeatherMap
  • In the Arduino IDE go to File > Examples > ESP8266 Weather Station > Weather Station Demo
  • Enter the OpenWeatherMap API Key
  • Enter your WiFi credentials
  • Adjust the location according to OpenWeatherMap API, e.g. Zurich, CH
  • Adjust UTC offset

Setup for PlatformIO

If you are using the PlatformIO environment for building

  • choose one of the available IDE integration or the Atom based IDE
  • install libraries 561, 562 and 563 with "platformio lib install"
  • adapt the WeatherStationDemo.ino file to your needs (see details above)

Available Modules

  • Time Client: simple class which uses the header date and time to set the clock
  • NTP Client: a NTP based time class written by Fabrice Weinberg
  • OpenWeatherMap Client: A REST client for the OpenWeatherMap.com service, providing weather information
  • Aeris Client: Client for the service provided by aerisweather.com. Fully functional initial version. After the Wunderground incident (see upgrade notes) we first targeted Aeris before we settled with OpenWeatherMap. This code is unmaintained but will remain part of this library for the time being.
  • Thingspeak Client: fetches data from Thingspeak which you might have collected with another sensor node and posted there.
  • Astronomy: algorithms to calculate current lunar phase and illumination.
  • SunMoonCalc: a calculator for sun and moon properties for a given date & time and location. This implementation is port of a Java class by T. Alonso Albi from OAN (Spain).

Why Weather Station as a library?

I realized that more and more the Weather Station was becoming a general framework for displaying data over WiFi to one of these pretty displays. But everyone would have different ways or sources for data and having the important part of the library would rather be the classes which fetch the data then the main class. So if you write data fetchers which might be of interest to others please contact me to integrate them here or offer your code as extension library yourself and call it something like esp8266-weather-station-. We will gladly list it here as third party library...

Upgrade Notes

Version 2, January 2020, removes WU support, see below

Replace Wunderground with OpenWeatherMap as weather data provider

The weather information provider we used so far (Wunderground) recently stopped their free tier without previous notice on May 15, 2018. This release adds support for a new provider with a free tier for weather information: OpenWeatherMap.com. The basic demo (WeatherStationDemo) has been adapted to use this new API through the OpenWeatherMapCurrent and OpenWeatherMapForecast REST clients.

Sadly OpenWeatherMap provides less information than Wunderground did (or still does). If you are missing attributes in the response documents then please contact the OpenWeatherMap team.

ESP8266 OLED Library upgrade

The ESP8266 OLED Library changed a lot with the latest release of version 3.0.0. We fixed many bugs and improved performance and changed the API a little bit. This means that you might have to adapt your Weather Station Code if you created it using the older 2.x.x version of the library. Either compare your code to the updated WeatherStationDemo or read through the upgrade guide

Deprecation notes

Announcement Module Removal
2018-06-13 all Wunderground related code, see our blog for details January 2020, version 2.0.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].