‘WeatherZ’ Internetowa Stacja Pogodowa oraz Jakość Powietrza

Druga odsłona Stacji Pogody na blogu. Tym razem wersja

INTERNETOWA!

Od roku jestem posiadaczem wyświetlacza Nextion 4.3‘, na którego wykorzystanie, brakowało mi pomysłu. Postanowiłem oprzeć na nim ten projekt. Wyświetlacz współpracuje z  NodeMCU wykorzystującym ESP8266. Skoro już o sprzęcie, to listę zamyka czujnik wilgotności i temperatury AMS2303

Zapalnikiem był blog Daniela Eichhorna i jego projekt ESP8266: Weather Station V2 Code Na tym kodzie oparłem działanie mojej stacji pogodowej ‘WeatherZ’  Chociaż oprócz pogody, mamy też kilka innych ficzerów.

Projekt przeznaczony jest dla osób co najmniej średnio zaawansowanych

Aplikacja jest podzielona na kilka ekranów.

Ekran startowy

Do przełączania się pomiędzy nimi, służą strzałki w dolnym rogu.

Główny ekran [1] podzielony jest zasadniczo na 3 elementy.

Warunki w pomieszczeniu

Po lewej stronie mamy wskaźnik temperatury oraz wilgotności z czujnika AMS2302 W lewym górnym rogu znajduje się nazwa (SSID) naszego WiFi. Dwa puste pola na dole, przygotowane są na później.

Warunki na zewnątrz plus czas i data

Od góry: data i czas, wschód i zachód słońca. Poniżej temperatura, indeks ciepła czyli temperatura odczuwalna, wilgotność oraz ciśnienie. Te dane pobierane są w wunderground.com [do działania potrzebny jest darmowy klucz API]. Na koniec dane o jakości powietrza z wybranej stacji pomiarowej. Dane dostarcza GIOS.GOV.PL. Kliknięcie przenosi do ekranu z odczytami z pozostałych stacji pomiarowych. Nad wartością wilgotności, znajduje się godzina, odświeżenia danych pogodowych.

Nawigacja

Po lewej ikona aktualnych warunków pogodowych oraz krótki opis. Ikona jest zależna także od pory dnia, po zmierzchu pokazuje prognozę dla nocy. Kliknięcie w ikonę lub opis, także przenosi do kolejnego ekranu.

Kolejny ekran [2] przedstawia prognozę pogody dla 7 kolejnych dni.

Prognoza pogody dla 7 kolejnych dni

Daty na dole odnoszą się:

  • górna – do momentu ‘wygenerowania’ danych przez dostawcę.
  • Dolna linijka: do czasu ich pobrania.

Klikając w poszczególne ikony, dostajemy szczegółowy opis. Wartość temperatury dla wybranego okresu, zmienia kolor na niebieski. Aby zamknąć panel ze szczegółami, należy go kliknąć.

Ekran [3] przedstawia prognozę pogody dla 18 kolejnych godzin.

Prognoza pogody dla 18 kolejnych godzin

Na górze wyświetlane są godziny, na dole- odpowiadające im temperatury. Oprócz temperatury, mamy też ikonę dla konkretnej godziny. Oczywiście im wyższa temperatura godzinowa, tym wyżej ekranu.

Ekran [4] Czas przejazdu pomiędzy dwoma punktami wg. Google Maps.

Ten ekran pobiera dane automatycznie w godzinach porannych, wyświetlając czas przejazdu z naszego domu, do mojej pracy i mojej żony. Klikając w wyniki, wymuszamy aktualizację. Zwyczajowo, na dole godzina aktualizacji. Tutaj konieczne jest pozyskanie darmowego klucza API Google Maps.

Ekran [5] Zanieczyszczenie powietrza wg. GIOS.

Mamy możliwość odpytania do 8 stacji pomiarowych. Z uwagi na rozmiar wyświetlacza i chęć użycia pasków postępu (do wizualizacji) wyświetlam tylko PM2.5 oraz PM10. Dane z pierwszej stacji pomiarowej, wyświetlane są także, na pierwszym ekranie.

Ekrany specjalne.

WeatherZ korzysta z biblioteki WifiManager, przez co, nie ma konieczności hardkodowania nazwy oraz hasła do WiFi. Ekran konfiguracji WiFi pojawia się, jeżeli po uruchomieniu nie wykryto ostatnio skonfigurowanej sieci WiFi.

Ponieważ Stacja będzie stała w sypialni, potrzebne było ograniczenie jasności wyświetlacza w nocy. Dlatego w pomiędzy 22:00 a 6:00 rano, włącza się wygaszacz. Ekran jest  ściemniany do minimum, oraz wyświetlana jest godzina i temperatura zewnętrzna.

Przygotowanie tego projektu to ponad miesiąc ciężkiej roboty. Sporo kawy, zarwanych nocy i weekendów przez komputerem. Dlatego zdecydowałem się udostępnić kody źródłowe projektu, osobom które docenią moją pracę, drobną wpłatą.

Co zawierają źródła?

  • dosyć dobrze udokumentowany (komentarzami) kod .ino
  • plik .hmi dla Nextion Edytora dla rozmiaru wyświetlacza 4.3′
  • zmodyfikowaną na potrzeby Nextiona bibliotekę esp8266-weather-station
  • napisaną na potrzeby projektu bibliotekę AirPollution do obsługi API GIOS.GOV.PL
  • publiczne biblioteki konieczne do kompilacji kodu

Jeżeli jesteś zdecydowany/a na wparcie bloga i pamiętaj proszę że:

  • nie zapewniam wsparcia przy uruchomieniu/kompilacji kodu, będziesz musiał/a poświęcić mu trochę czasu. Postaram się odpowiadać na komentarze na blogu, na ile pozwoli mi czas.
  • kod jest przeznaczony dla donatora, nie można się nim dzielić/odsprzedawać.

$2.95 – Wsparcie

  ELEMENTY/PROJECT PARTS
Nextion Display 4.3″ BUY/KUP
NodeMCU BUY/KUP
AM2302-DHT22 BUY/KUP

 

Oznaczone , , , , , ,

2
Dodaj komentarz

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Kamil Recent comment authors
  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
trackback

[…] powstała na potrzeby mojej stacji internetowej WeatherZ  Za jej pomocą sprawdzam parametry PM2.5 oraz PM10 na ośmiu najbliższych mnie stacjach […]