Stacja pogodowa Arduino Weathercloud: 16 kroków (ze zdjęciami)
Stacja pogodowa Arduino Weathercloud: 16 kroków (ze zdjęciami)
Anonim
Stacja pogodowa Arduino Weathercloud
Stacja pogodowa Arduino Weathercloud

Zrobiłem stację pogodową podłączoną do internetu. Mierzy temperaturę, wilgotność, ciśnienie, opady, prędkość wiatru, wskaźnik UV i oblicza kilka innych ważnych wartości meteorologicznych. Następnie wysyła te dane do weathercloud.net, który ma ładną grafikę i UX. Posiada również kamerę pogodową. Kosztowało mnie to około 140 €. Zrobiłem tę stację jako mój projekt szkolny. Stacja jest zamontowana w mojej szkole w Bratysławie na Słowacji. Oto aktualne dane.

Źródło zdjęcia: Mimo magazin. Używane za zgodą.

Uwaga: pracuję nad tym projektem od ponad dwóch lat. Ta instrukcja jest zasadniczo tylko ponownym przesłaniem instrukcji, którą opublikowałem rok wcześniej, ale było tak wiele zmian, że postanowiłem stworzyć nową instrukcję. Poza tym nikt nigdy nie patrzy na roczne instrukcje

AKTUALIZACJA 14.12.2018: Cześć! Do mojej stacji dodałem annemometr (wiatromierz). Pojawił się nowy tekst i zdjęcia, więc koniecznie to sprawdź

Krok 1: Chmura pogody

Chmura pogody
Chmura pogody

Przede wszystkim, czym jest Weatherclud? Weathercloud to duża sieć stacji pogodowych przekazujących dane w czasie rzeczywistym z całego świata. Jest bezpłatny i jest z nim połączonych ponad 10 000 stacji pogodowych. Po pierwsze, miałem własną stronę HTML, na którą wszystkie dane były przesyłane, ale tworzenie własnej strony internetowej i grafiki jest trudne i znacznie łatwiej jest po prostu wysłać wszystkie dane do dużej platformy chmurowej, która ma ładną grafikę i stabilne serwery. Szukałem sposobu wysyłania danych do chmury pogodowej i stwierdziłem, że można to łatwo osiągnąć za pomocą prostego wywołania GET. Jedynym problemem z Weathercloud jest to, że z darmowym kontem pozwala wysyłać dane tylko co dziesięć minut, ale nie powinno to stanowić problemu dla większości zastosowań. Będziesz musiał założyć konto Weathercloud, aby to działało. Następnie musisz utworzyć profil stacji na ich stronie internetowej. Kiedy tworzysz swój profil stacji pogodowej na Weathercloud, otrzymujesz identyfikator Weathercloud i KLUCZ Weathercloud. Zachowaj je, ponieważ Arduino będzie ich potrzebowało, aby wiedzieć, gdzie wysyłać dane.

Krok 2: Lista części

Lista części
Lista części
Lista części
Lista części
Lista części
Lista części
Lista części
Lista części

Arkusze Google BOM

SZACOWANA CENA: 140€/150$

Krok 3: Narzędzia

Narzędzia
Narzędzia

Te narzędzia mogą się przydać:

ściągacz izolacji

wiertarka akumulatorowa

lutownica

szczypce

śrubokręty

pistolet na klej

multimetr

Piła

wiertło do drzewa

plik

Krok 4: Osłona przed promieniowaniem słonecznym DS18B20

Image
Image
Skrzynka zaciskowa
Skrzynka zaciskowa

Osłona przed promieniowaniem słonecznym jest bardzo powszechną rzeczą stosowaną w stacjach meteorologicznych do blokowania bezpośredniego promieniowania słonecznego, a tym samym zmniejszania błędów pomiaru temperatury. Pełni również funkcję uchwytu czujnika temperatury. Osłony radiacyjne są bardzo przydatne, ale zwykle są wykonane ze stali i są drogie, więc postanowiłem zbudować własną osłonę. Zrobiłem instrukcję, która pokazuje, jak zrobić taką osłonę radiacyjną. Oto instrukcje.

Znalazłem również film, który pokazuje dokładnie ten sam proces, więc możesz go użyć:

Krok 5: Skrzynka zaciskowa

Skrzynka zaciskowa
Skrzynka zaciskowa
Skrzynka zaciskowa
Skrzynka zaciskowa
Skrzynka zaciskowa
Skrzynka zaciskowa

Skrzynka zaciskowa to środek stacji. Główny 14-żyłowy kabel łączy go ze skrzynką serwerową. Wchodzi do niego kabel z DS18B20. Wchodzi do niego kabel ze skrzynki UV. Zawiera również czujnik wilgotności i ciśnienia. Wybierając skrzynkę zaciskową, możesz użyć dowolnej plastikowej skrzynki przyłączeniowej IP65, która ma ponad 10x5x5cm (4"x2"x2").

Krok 6: Pudełko czujnika UV

Pudełko czujnika UV
Pudełko czujnika UV
Pudełko czujnika UV
Pudełko czujnika UV
Pudełko czujnika UV
Pudełko czujnika UV

W skrzynce czujnika UV znajduje się czujnik UV UVM-30A, a także stanowi punkt środkowy między główną skrzynką zaciskową a miernikami deszczu i wiatru. Puszka czujnika UV może być dowolną plastikową skrzynką IP65 z całkowicie przezroczystą pokrywą.

Krok 7: Kamera pogodowa

Kamera pogodowa
Kamera pogodowa
Kamera pogodowa
Kamera pogodowa
Kamera pogodowa
Kamera pogodowa

Kamery pogodowe (lub kamery pogodowe, jak lubię je nazywać) służą do nagrywania lub przesyłania obrazu rzeczywistych warunków pogodowych. Na podstawie obrazu można określić natężenie światła i zachmurzenie. Poszedłem na najtańszą dostępną kamerę wifi, ale możesz użyć dowolnej wybranej kamery wifi. Ten tani aparat działa dobrze, ale jest z nim jeden problem. Musisz mieć komputer, na którym stale działa oprogramowanie do przesyłania strumieniowego. Nie stanowiło to dla mnie problemu, ponieważ w sieci jest już serwer, na którym działa strona internetowa, więc może zająć się również transmisją strumieniową. Ale jeśli nie masz takiego komputera w swojej sieci domowej, to polecam zakup Raspberry pi i kamerę Raspberry pi. Jest droższy (25 $ vs 70 $), ale tak naprawdę nie masz innej opcji, jeśli chcesz mieć kamerę internetową. W obu przypadkach musisz umieścić kamerę w pudełku odpornym na warunki atmosferyczne. Możesz użyć tego samego pudełka, co do czujnika UV. Zrobiłem własne pudełko ze zwykłego plastikowego pudełka i pleksi, ale to niepotrzebne. Akumulator do aparatu będzie wymagał ciągłego ładowania. Możesz to zrobić, rozpinając kabel USB i podłączając przewody + i - do wyjścia zasilania 5 V dla czujników. Gdy masz aparat odporny na warunki atmosferyczne, możesz go po prostu zamontować w dowolnym miejscu, gdzie jest dobry widok za pomocą zamków błyskawicznych.

Przyjrzyjmy się teraz oprogramowaniu. Ta część wymaga zaawansowanych umiejętności kodowania. Aby to wszystko zrobić, musisz mieć komputer działający 24/7 (może to być Raspberry pi) w swojej sieci domowej. Pierwszą rzeczą, którą musisz zrobić, to podłączyć kamerę IP do domowej sieci Wi-Fi. Następnie musisz zmienić nazwę użytkownika i hasło w skrypcie zgodnie z nazwą użytkownika i hasłem w interfejsie kamery. Musisz także zmienić adres IP kamery w skrypcie. Następnie musisz skonfigurować harmonogram zadań, aby uruchamiał dołączony skrypt co około 5 minut na twoim serwerze/komputerze. Skrypt powinien teraz robić zrzut ekranu obrazu z kamery co 5 minut i zapisywać go w predefiniowanym folderze. Folder musi być publiczny, aby można go było wyszukać w wyszukiwarce takiej jak ta: example.com/username/webcam.jpg. Weathercloud może następnie pobrać ten obraz z folderu publicznego i umieścić go na swojej stronie internetowej. Tutaj możesz zobaczyć kanał „na żywo” (aktualizacje co 5 minut).

Krok 8: Uchwyt górnych czujników

Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników
Górny uchwyt czujników

Górny uchwyt czujników to stalowy element, który utrzymuje górne czujniki (UV, opadów i prędkości wiatru) na dachu. Część, którą widzisz na tych zdjęciach pasuje tylko do naszego budynku. Możesz zamontować te czujniki w dowolny sposób. To tylko przykład. Mieliśmy już zamontowaną stalową rurę na dachu, więc montaż uchwytu był łatwy.

Krok 9: Problem z kompatybilnością tarcz

Problem kompatybilności tarczy
Problem kompatybilności tarczy
Problem kompatybilności tarczy
Problem kompatybilności tarczy
Problem kompatybilności tarczy
Problem kompatybilności tarczy

Istnieje prosty problem z kompatybilnością pomiędzy osłoną Ethernet a protoekraną. Nie możesz umieścić protoshield na wierzchu ekranu Ethernet, ponieważ złącze Ethernet po prostu Ci na to nie pozwala. I nie możesz umieścić tarczy ethernetowej na górze protoshield, ponieważ tarcza ethernetowa musi mieć bezpośrednie połączenie z arduino przez złącze ICSP, ale protoshield go nie ma. Cóż, prosty problem, proste rozwiązanie. Właśnie wyciąłem prostokątny otwór w protoosłonie, aby zmieściło się w nim złącze ethernetowe.

Krok 10: Pomiar opadów

Pomiar opadów
Pomiar opadów
Pomiar opadów
Pomiar opadów
Pomiar opadów
Pomiar opadów

Zamówiony przeze mnie deszczomierz działa dobrze, ale jest z nim jeden duży problem. Nie posiada interfejsu komunikacyjnego typu I2C czy RX/TX. Jest tylko prosty przełącznik, który włącza się na 60 mikrosekund za każdym razem, gdy pada więcej niż 0,28 mm/m2. Arduino może to łatwo wyłapać, gdy nie robi nic innego poza mierzeniem opadów. Ale gdy ma inne zadania do wykonania (takie jak mierzenie temperatury i wysyłanie jej do chmury) istnieje duże prawdopodobieństwo, że procesor arduino będzie zajęty w momencie włączenia deszczomierza. Spowoduje to niedokładny odczyt opadów. Dlatego dodałem drugie arduino - arduino nano. Jedynym zadaniem nano jest pomiar opadów i przesłanie ich do głównego arduino przez I2C. W ten sposób odczyty opadów będą zawsze dokładne. Zrobiłem płytkę drukowaną, która zawiera zarówno arduino nano, jak i moduł RTC, ale można ją również przylutować do protoshield. Wiem, że nie jest to najprostsze i najtańsze rozwiązanie, ale mi się podoba i jest bardzo schludne i zorganizowane.

Krok 11: Pomiar prędkości wiatru

Pomiar prędkości wiatru
Pomiar prędkości wiatru
Pomiar prędkości wiatru
Pomiar prędkości wiatru
Pomiar prędkości wiatru
Pomiar prędkości wiatru

Ten krok jest bardzo podobny do poprzedniego. Zrobiłem płytkę, która mierzy prędkość wiatru, a następnie przesyła ją przez I2C. Po prostu powtórz poprzedni krok bez RTC. Próbowałem połączyć obie deski w jedną, ale nie wyszło.

Krok 12: Skrzynka serwera

Skrzynka serwerowa
Skrzynka serwerowa
Skrzynka serwerowa
Skrzynka serwerowa
Skrzynka serwerowa
Skrzynka serwerowa

Zawsze dobrze jest schować całą elektronikę w małym, uporządkowanym pudełku. I dokładnie to zrobiłem z pudełkiem serwera. Skrzynka serwerowa zawiera Arduino UNO, osłonę Ethernet, protoshield, regulator 5 V, główny zacisk kabla danych i płytkę do pomiaru opadów. Jedna uwaga na temat Arduino: kod stacji wykorzystuje około 90% pamięci Arduino UNO, co może powodować pewne problemy. Możesz lub nie musisz używać Arduino Mega.

Krok 13: Połączenia

Znajomości
Znajomości

Wystarczy podłączyć wszystko według załączonego schematu.

Krok 14: KOD

KOD
KOD

To jest ostatnia część, część, na którą wszyscy czekaliśmy - testowanie, czy działa. Musisz zmienić adres IP, identyfikator Weathercloud i klucz Weathercloud zgodnie z twoją siecią domową i kontem Weathercloud. Teraz jesteś gotowy do wgrania go do swojego arduino. Musisz również wgrać kod nadajnika deszczu I2C na Arduino nano na tablicy opadów i nadajnik wiatru I2C na Arduino nano na tablicy prędkości wiatru. Istnieje również skrypt index.php, więcej informacji na ten temat znajduje się w kroku 7.

Krok 15: Instalacja

Instalacja
Instalacja
Instalacja
Instalacja
Instalacja
Instalacja
Instalacja
Instalacja

Sprawienie, by Twoja stacja pogodowa działała w warsztacie to jedno, ale sprawienie, by działała w rzeczywistych, trudnych warunkach, to drugie. Procedura instalacji zależy w dużej mierze od budynku, na którym montujesz swoją stację. Ale jeśli masz osłonę przeciwsłoneczną i górny uchwyt czujników, nie powinno być to takie trudne. Czujnik temperatury i wilgotności można umieścić naprawdę w dowolnym miejscu budynku, ale czujnik UV i deszczomierz muszą znajdować się na szczycie budynku. Czujnik UV nie może znajdować się w cieniu, a miernik deszczu nie może znajdować się w pobliżu ściany, w przeciwnym razie przy silnym wietrze krople deszczu nie wpadną do miernika, a odczyty będą niedokładne. Oto zdjęcie pokazujące jak zamontować stację na typowym domu. Powinieneś być bardzo ostrożny podczas montażu stacji na dachu i powinieneś mieć mocną wiertarkę, która może wiercić w betonie.

Krok 16: Gotowe

Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe

Gratulacje. Jeśli wykonałeś wszystkie kroki poprawnie, masz w pełni działającą stację pogodową w chmurze. Tutaj możesz zobaczyć dane z mojej stacji. Jeśli masz jakieś pytania lub sugestie, chętnie je usłyszę w sekcji komentarzy poniżej.

Planuję zbudować podobną stację z wykorzystaniem płytki Wi-Fi ESP32 i kilku dodatkowych czujników (prędkość/kierunek wiatru, promieniowanie słoneczne, wilgotność gleby), ale o tym później. Cieszyć się!

Zalecana: