Stacja Meteo

Stacja pogodowa która dokonuje pomiarów temperatury oraz wilgotności wewnątrz mieszkania oraz na zewnątrz. Stacja powstała bazując na artykule ze strony majsterkowo.pl użytkownika r.blaszczak Solarna stacja meteo z wykorzystaniem Wemos D1 mini Pro oraz Raspberry Pi 3 B+. Oczywiście projekt został zmodyfikowany zgodnie z własnym pomysłem.

Założenia projektu:

  • pomiar temperatury i wilgotności wewnątrz i na zewnątrz
  • zapisanie pomiaru na serwerze lokalnym
  • wyświetlenie ostatniego pomiaru oraz historii w formie wykresu na stronie www
  • zbudowanie aplikacji dla systemu Android
  • wyświetlenie ostatniego pomiaru w formie widgetu dla Windows 10

Zasilanie stacji w odróżnieniu od opisanego w artykule zrealizowane z sieci energetycznej. Użyto żył z przewodu sieciowego (tzw. „skrętki”) po około 2m długości do połączenia sensorów z ESP8266.

Docelowo widok strony www na poniższym obrazie

Link do strony
Stacja Meteo Pomiar Temperatury i Wilgotności Historia pomiarów

Widok widgetu w Windows 10

widget rainmeter stacja meteo ESP8266 DTH11 DTH22
Widget w Rainmeter

Widok aplikacji Android

Stacja Meteo Aplikacja Android
Aplikacja Android

Wykorzystane części:

  • Rsberry Pi 4 (wykorzystano wersję z 4 GiB RAM)
  • ESP8266
  • Czujnik wilgotności i temperatury DTH11
  • Czujnik wilgotności i temperatury DTH22

Na Rasberry Pi instalujemy serwer www Apache z obsługą PHP oraz bazę danych, użyłem w projekcie MarinaDB. Ponadto warto zainstalować certyfikat SSL, w projekcie został użyty Let’s Encrypt do wygenerowania certyfikatu. Następnie tworzymy naszą bazę danych, w projekcie został użyty poniższy kod do utworzenia tabeli.

CREATE TABLE S_01 (
id int(20) NOT NULL AUTO_INCREMENT,
timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
temperatureIN float NOT NULL,
humidityIN float NOT NULL,
temperatureOUT float NOT NULL,
humidityOUT float NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Kolejnym krokiem jest utworzenie w głównym katalogu Apache plików odpowiedzialnych za zapisywanie danych do bazy oraz wyświetlanie strony z danymi aktualnymi oraz wykresu z historią.

espdata.php

Strona www prezentująca aktualne dane oraz wykres historii.

meteochart.php

Tworzenie wykresów za pomocą Canvasjs.com.

Następnie w podłączamy płytkę ESP8266 do komputera oraz uruchamiamy Arduino IDE, należy dodać obsługę płytki ESP8266 zanim będzie możliwość wgrania oprogramowania.

Kiedy mamy już dodaną płytkę do Arduino oraz wgrane dodatkowe biblioteki do obsługi WIFI oraz czujnika DTH możemy wgrać oprogramowanie na płytkę.

Należy pamiętać aby w kodzie były podane odpowiednie piny do których zostały przylutowane czujniki.

Rainmeter

Widget do systemu Windows 10 zrealizowany przy zastosowaniu rainmeter do którego została opracowana wtyczka.

Kod wtyczki

Spread the love

No Responses

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *