Wstęp
Od dłuższego czasu przymierzałem się do stworzenia własnej amatorskiej stacji pogody. Tak więc z początkiem roku 2017 stosowne komponenty zostały zamówione, jednakże brak czasu sprawił iż projekt ten był tylko odwlekany w czasie.
No ale w końcu coś mnie zmobilizowało i zacząłem walczyć z tym projektem.
Projekt
W pierwszym etapie projektu zostały użyte następujące komponenty:
| Nazwa | Ilość | |
|---|---|---|
| Orange Pi Zero | 1 szt | |
| DS18B20 | 3 szt | ![]() |
| DHT11 | 1 szt |
Idea
Stacja pogodowa która nie posiada własnej strony internetowej to lipna stacja. A wiec trzeba wdrożyć w projekt jakiś serwer oraz bazę danych. Z racji iż aktualnie w domu posiadam tylko i wyłącznie internet mobilny (LTE), który niestety nie posiada publicznego adresu IP bez którego nie dostaniemy się spoza sieci, zdecydowałem się umieścić stronę wraz z bazą na hostingu.
Wykorzystałem do tego celu już sprawdzony hosting MyDevil.net na którym posiadałem już od jakiegoś czasu swoje konto.
Jako bazę danych, z trzech dostępnych na serwerze (MySQL, PostgreSQL, MongoDB), wykorzystałem najbardziej mi znany MySQL.
Kilka dni po uruchomieniu próbnej wersji stacji pogodowej wykryłem poważna wadę zastosowania wyłącznie zdalnej bazy. Mianowicie w przypadku braku internetu powstają tzw dziury czasowe w uzbieranych danych. Dlatego też postanowiłem wykorzystać do tego celu lokalną prosta bazę w postaci zapisu wyników do pliku oddzielna dla każdego dnia. Dzięki takiemu zabiegowi będę mógł w przypadku awarii netu uzupełnić brakujące wpisy w bazie zdalnej.
Na obrazku widać jak od godziny 23 do około 8 wykres jest w lini prostej, a więc brak bylo pośrednich zapisów danych.
Zmagania
Po wielu dniach walk, nieudanych próbach, w końcu udało mi się zmusić pomarańczkę do odczytywania czujników. Nawet poradniki znalezione w czeluściach netu nie były w stanie mi pomóc, gdyż albo były niekompletne albo nie do tej wersji xPi.
Orange Pi Zero różni tym od innych xPi że zamiast 40 portów GPIO posiada ich tylko 26, a poradniki są z reguły do wersji 40 pinowej.
Podsumowanie
Na dzień dzisiejszy w projekcie nie używałem czujnika DHT11 a to z racji takiej że jego wynik temperatury nie był dokładny, czujnik ten pokazuje temperaturę bez przecinka co nie było dla mnie satysfakcjonujące. Możliwe że taki stan spowodowany jest wadliwym rodzajem sterownika, a może ten typ tak ma.
Zaś sprawnych czujników DS18B20 miałem tylko trzy które zostały zamontowane do tymczasowego mierzenia 3 lokalizacji:
| Położenie | Opis | Info dodatkowe |
|---|---|---|
| Dom 1 piętro | ||
| Strych | Mierzenie dla celów kontrolnych strat ciepła domu | Typ czujnika: Wodoszczelny |
| Podwórko | Czujnik znajduje się jakieś 4-5 m nad gruntem ziemi. Niestety od strony południowej oraz brak konkretnej osłony, dlatego wyniki w dni słoneczne mogą być chwilowo zawyżone. | Dla tego czujnika planowana jest budowa osłony radiacyjnej. |
Zamówione zostały także dodatkowe komponenty:
2 x Orange Pi Zero w wersji 256mb RAM
10 x DS18B20 – Temperatura
1 x DHT22 – Temperatura + Wilgotność
1 x BME280 – Ciśnienie + Wilgotność + Temperatura (tego nie jestem pewien)
Do napisania stosownych poradników zajmę się dopiero po przyjściu nowych komponentów gdyż w aktualnie używanej pomarańczy jest taki bajzel że sam bym do końca nie wiedział teraz co trzeba mieć zamontowane a co nie by dana rzecz działała jak należy. Chcę przeznaczyć jedna pomarańczkę na tzw poligon doświadczalny do testowania przeróżnych rozwiązań jak i komponentów, dzięki czemu stacja pogodowa będzie mogła działać nieprzerwanie.

