WEATHER STATNION


DATA WYKONANIA AKTUALNYCH POMIARÓW (co 15min) 2019-10-15 22:57:54



21.09oC



52.73%



1008.36hPa



4.20V



-72dBm



33.40oC MAX
2019-10-14 11:49:40




18.86oC MIN
2019-10-09 20:42:21




22.46oC AVG



Maksymalne i minimalne wartości TEMPERATUR w poszczególnych miesiącach
33.40 oC 2019-10-14 11:49:40 █ 17.13 oC 2019-10-01 22:46:24



Maksymalne i minimalne wartości WILGOTNOŚCI w poszczególnych miesiącach
64.35 % 2019-10-15 20:03:42 █ 26.44 % 2019-10-07 12:29:12


Budowa stacji meteo:

Głównym założeniem do budowy była samowystarczalność energetyczna całego urządzenia, po przewertowaniu internetu i sprawdzeniu pomysłów innych na tego typu stację podjąłem decyzję o zbudowaniu własnej. Wiele zaczerpnąłem z następujących stron:

  • https://www.instructables.com/id/Solar-Powered-WiFi-Weather-Station/
  • https://randomnerdtutorials.com/esp8266-bme280-arduino-ide/
  • https://randomnerdtutorials.com/esp32-esp8266-mysql-database-php/
  • https://malinowemeteo.zgora.pl/

Do budowy zostały użyte:

Chciałem aby dane z pomiarów przesyłane były do bazy danych MySql, założyłem takową bazę na serwerze hostingowym, kolejnym krokiem było wgranie kodu przez arduino do WeMos oraz wrzucenie na serwer hostingowy pliku php, nie trzeba mieć domeny wystarczy podać adres IP serwera aby poprawnie działała wysyłka do bazy danych.

Arduino

Nie jestem jakims geniuszem arduino, a raczej amatorem, kod tworzony był w pocie czoła i raczej jest efektem prób i błędów ale działa no z wyjątkiem pomiaru poziomu naładowania baterii 🙂

MySql

Tworzymy bazę danych do przechowywania wartości zmierzonych przez nasz czujnik, celem ułatwienia po utworzeniu bazy danych należy się do niej zalogować a następnie zaimportować przygotowany plik sql.sql który pozwoli nam utworzyć tabele i reguły w sposób automatyczny

PHP

Przygotowany plik post-esp-data.php należy umieścić w głónym katalogu hostingu zazwyczaj w public_html, wcześniej oczywiście trzeba go wyedytować wystarczy do tego celu notatnik, należy podać w pliku dane do wcześniej stworzonej bazy danych MySql

PCB

Aby usprawnić rozłożenie elementów pozwolilem sobie zaprojektować płytkę PCB, wersja którą używam jest podstawowa a różni się od tej która jest na GitHub’ie ilością wyprowadzonych złączy, rozmieszczenie elementów na PCB nie jest owocem profesjonalizu a raczej ograniczeniem wymiarów obudowy do której chciałem aby płytka pasowała.

Klatka meteo

Niestety ale chcący wykorzystać słońce trzeba się liczyć z tym iż nasza obudowa czyjników będzie się nagrzewała, co skutkuje niepoprawnym odczytem choćby temperatury, zacząłem czytać w jaki sposób tanio zrobić taką klatkę bo oryg. metalowe klatki kosztują piekielnie dużo, zainteresował mnie następujący artykuł http://sacilemeteo.altervista.org/schermo.html autor w bardzo szczegółowy sposób opisuje sposób wykonania obudowy “klatki meteorologicznej” tanim kosztem bo z podstawek klastikowych do doniczek ale również pokazuje efekty takiej obudowy w różnych warunkach pracy. Zachęcony kupiłem 10 podstawek 21cm oraz 1szt. o średnicy 25cm, dodatkowo zakupiłem pręty gwintowane 6mm nakrętki podkładki, uchtyw do ściany oraz rurę pp którą pociąłem na dystanse oddzielające poszczególne talerze, szczegółowy sposób pokazany pod powyższym linkiem jest na tyle drobiazgowy iż nie będę tutaj go opisywał. Poniżej kilka zdjęć z budowy.

Podsumowanie

Mały panel fotowoltaiczny oraz tryb ESP deep sleep robią swoje, na samej baterii 18650 stacja działałaby tygodniami ja przestałem liczyć po 10 dniach 🙂 panel sprawdza się wyśmienicie, oczywiście im dłużczy czas w esp deep sleep tym mniej energochłonny system wymyśliliśmy co jest szczególnie istotne dla naszych warunków nasłonecznienia w ciągu zimy.

Co zrobimy z danymi z bazy MySql to już jest czysta fantazja ja dałem po prostu te dane na stronę www z bardzo ubogą znajomością PHP.

Zachęcam do budowy własnej stacji meteo.

P.S. Prezentowane wyniki pomiarowe są poglądowe z racji traktowania stacji jako doświadczalnej.

Pliki

https://github.com/Anakreont/WeatherSolarStation

 

 

Gallery

2 3 1 15 14 13 12 11 10 9 8 7 6 5