Internetowa stacja meteorologiczna

Internetowa stacja meteorologiczna

Witam!

Chciałbym tutaj przedstawić już chyba czwartą na majsterkowie stację meteorologiczną. Głównym celem projektu jest pomiar prędkości wiatru, kierunku wiatru, opadów deszczu, ciśnienia, oraz temperatury i wilgotności, a następnie przesyłanie wyników na zewnętrzny serwer. 

Całość jest zrealizowana pod kontrolą płytki D1 R1 opartej na module WIFI ESP8266. 

Założenia projektowe

  • Projekt ma być prosty w realizacji i w miarę niezawodny.
  • Pomiar prędkości wiatru.
  • Pomiar kierunku wiatru.
  • Pomiar opadów.
  • Pomiar ciśnienia.
  • Pomiar temperatury.
  • Pomiar wilgotności.
  • Przesyłanie wyników na zewnętrzny serwer przez WIFI.
  • Wizualizacja danych w postaci ładnych wykresów.
  • Możliwość łatwego odczytu danych zarówno z komputera jak i ze smartphona.
  • Koszt poniżej 500 zł.
  • Możliwość ewentualnej rozbudowy o kolejne sensory.

Lista części

  • Płytka D1 R1

Cały projekt został zbudowany na płytce D1 R1 opartej o moduł WIFI ESP8266.

Płytka kosztuje 35 zł i zapewnia zarówno kontrolę projektu jak i łączność z siecią.

  • Czujnik DHT22

Temperatura i wilgotność jest mierzona za pomocą czujnika DHT22. Zakres pomiaru temperatury to -40 C do 80 C a wilgotności od 0% do 100%. Dokładność pomiaru temperatury to +- 0.5 C* a wilgotności +- 2%.

  • Czujnik BMP180

Ciśnienie jest mierzone za pomocą czujnika BMP180. Zapewnia on dokładność rzędu 0.02 hPa. Komunikacja z mikrokontrolerem odbywa się za pomocą magistrali I2C.

  • Zestaw czujników pogodowych ( Anemometr, Wskaźnik kierunku wiatru, Deszczomierz ).

Jest to najdroższy element stacji (335 zł). Wcześniej próbowałem zbudować własne czujniki jednak po miesiącu zrezygnowałem i kupiłem gotowy zestaw.

  • Pozostałe elementy
  1. Dwa gniazda RJ11. Niezbędne do podłączenia czujników prędkości i kierunku wiatru oraz deszczomierza bez obcinania kabli.
  2. Trzy kondensatory 100 nF.
  3. Dwa rezystory 4.7 K
  4. Dwa rezystory 10 K
  5. Jeden kabel pięciożyłowy do podłączenia płytki z czujnikami. Długość zależna od potrzeb, nie może być za długi bo sygnał będzie zniekształcony. Ja użyłem kabla o długości 1.5 metra i wszystko działa.
  6. Jeden kabel dwużyłowy do podłączenia zasilania, długość zależna od potrzeb.
  7. Kilka krótszych kabelków do podłączenia wszystkiego na płytkach uniwersalnych.
  8. Dwie płytki uniwersalne.
  9. Jedna ładowarka 9 V 0.5 A.

Generalnie koszt całości zamknął się poniżej 450 zł.

Odczyt danych z czujników

Jeśli chodzi o czujniki DHT22 i BMP180 odczyt danych jest prosty. Wystarczy podłączyć sensory i użyć odpowiednich bibliotek.

Problem pojawia się w przypadku czujników prędkości i kierunku wiatru oraz deszczomierza.

Z dokumentacji można się dowiedzieć, że czujniki te są czysto mechaniczne.

We wnętrzu deszczomierza znajduje się małe wahadełko. Kiedy do wnętrza wpadnie 0.2794 mm deszczu, wahadełko zmienia pozycje wylewając zawartość. Na wahadle znajduje się magnes który przechodzi przed kontaktronem powodując krótkie zwarcie obwodu.  To oznacza, że odczyt danych można wykonać za pomocą takiego prostego układu :

Jeden pin jest podłączony do masy, drugi pin jest podłączony do 3.3V przez rezystor 4.7 K.  Pin ten jest także podłączony do wejścia cyfrowego modułu ESP co umożliwia rejestrację impulsów. Kiedy kontaktron zwiera obwód, stan logiczny na pinie cyfrowym zmienia się z wysokiego na niski. 

Kondensator 100 nF jest dodany w celu eliminacji drgań styków.

Jeśli chodzi o wyprowadzenia na wtyczce to w tym wypadku sprawa jest prosta :

We wtyczce są tylko dwa styki, a ponieważ kontaktron po prostu zwiera obwód, to nie jest ważne które wyprowadzenie jest które.

Czujnik prędkości wiatru działa podobnie jak deszczomierz. W środku znajduje się kontaktron który zwiera obwód dwa razy na obrót czaszy anemometru.

Z kolei czujnik kierunku wiatru działa jak rezystor. Wewnątrz znajduje się zestaw kontaktronów podłączonych przez rezystory.

Kiedy strzałka się obraca, magnes zwiera określone kontaktrony co zmienia rezystancję czujnika. Wartość tą można odczytać stosując dzielnik napięcia. Kiedy jeden rezystor będzie stały a drugi będzie zmieniał swoją wartość wtedy napięcia wyjściowe dzielnika będzie się zmieniać w zależności od kierunku wiatru wskazywanego przez czujnik.

Część odpowiedzialna za pomiar prędkości wiatru jest taka sama jak w przypadku deszczomierza.

Schemat potrzebny do pomiaru prędkości i kierunku wiatru.

Wtyczka wiatromierza ma nieco więcej wyprowadzeń niż wtyczka deszczomierza :

Jednak niestety nie obyło się bez problemów z podłączeniem czujników.

Pierwszy z nich dotyczył deszczomierza. Okazało się, że czasami zamiast zewrzeć i rozewrzeć obwód, kontaktron tylko obwód zwierał lub rozwierał. Problem leży gdzieś w części mechanicznej deszczomierza. Po kilku próbach zdecydowałem się problem obejść w programie sterującym. W końcu odczyt zmienia się przy zmianie położenia wahadła, nie da się tylko przewidzieć jak się zmieni.

Drugi problem dotyczył przerwań. Okazało się, że mimo eliminacji drgań styków ( sprawdzone oscyloskopem ), moduł ESP liczył jeden impuls z wiatromierza jako 2 a czasami 3. Po 2 godzinach w końcu zdecydowałem się na obejście problemu  w programie sterującym. Prędkość wiatru nie jest mierzona za pomocą przerwań.

Trzeci problem dotyczył czujnika kierunku wiatru. Okazało się, że obliczenia napięcia z dzielnika wykonane na podstawie danych z dokumentacji, nie zgadzają się z rzeczywistymi wynikami. Problem został rozwiązany przez ponowną kalibrację czujnika.

Ostatni problem dotyczył samej płytki sterującej. Okazało się bowiem, że niektóre piny modułu ESP8266 mają przypisane różne funkcje które sprawiały, że po podłączeniu do nich sensorów albo sensory nie działały albo płytka nie działała. Problem rozwiązany sprawdzając po kolei różne kombinacje. W końcu udało się trafić na taką która działa.

Elektronika

Cała stacja składa się z 2 płytek.  Na jednej znajduje się osprzęt czujników prędkości i kierunku wiatru oraz deszczomierza. Na drugiej znajduje się czujnik ciśnienia oraz czujnik DHT22.

Płytka z czujnikami jest bardzo prosta, to właściwie tylko moduł barometru BMP180 oraz czujnik DHT22. Pin DATA czujnika DHT22 jest podłączony do 3.3V przez rezystor 10K w celu utrzymania stanu wysokiego kiedy nie są przesyłane dane.  Oprócz tego zastosowałem kondensator 100 nF w celu filtracji zakłóceń zasilania.

Sygnał z czujnika DHT22 jest podłączony do pinu D9, pin SDA barometru jest podłączony do SD14 natomiast SCL do SD15.

Na płytce głównej jest nieco więcej elementów. Jeden pin wyprowadzenia deszczomierza jest podłączony do 3.3V przez rezystor podciągający 4.7 K, jest on również podłączony do pinu D8 w celu odczytu danych. Drugi pin jest podłączony do GND  (masy układu). Dzięki temu, kiedy wahadełko w deszczomierzu zmienia swoją pozycję, zmienia się również stan pinu modułu ESP. Pomiędzy tymi dwoma pinami dodałem również kondensator 100 nF w celu eliminacji drgań styków.

Anemometr działa tak samo jak deszczomierz więc osprzęt jest identyczny. Jeden pin podłączony przez rezystor 4.7 K do 3.3V, drugi podłączony do masy.

Z tym, że tym razem sygnał trafia do pinu oznaczonego jako D11/D7.

Sygnał z dzielnika napięcia trafia do wejścia analogowego A0.

Po montażu całość wygląda tak :

Zbliżenie na elektronikę :

Jak widać całość została zmontowana na płytkach uniwersalnych i zabezpieczona dużą ilością kleju na gorąco. Jednak najprawdopodobniej to nie jest ostateczna wersja projektu więc specjalnie mi to nie przeszkadza.

Instalacja płytki w Arduino IDE

Aby móc zaprogramować płytkę D1 R1 w Arduino IDE musimy ją najpierw zainstalować za pomocą menagera płytek.

Aby to zrobić trzeba :

  1. Uruchomić Arduino IDE i wejść w Plik -> Preferencje.
  2. W miejscu na dodatkowe adresy URL wkleić to : http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Kliknąć OK.
  4. Wejść w Narzędzia -> Płytka -> Menadżer płytek
  5. Zainstalować moduł ESP8266 będący prawdopodobnie na dole listy.

Od tej pory kiedy trzeba będzie wgrać program na naszą płytkę, trzeba będzie wejść w Narzędzia -> Płytka a następnie ustawić płytkę na WeMos D1  , prędkość procesora na 80 MHz,  flash size na 4M ( 1 M SPIFFS) i upload speed na 921600.

Niestety zauważyłem pewne problemy z ładowaniem programu do płytki. Mimo, że wszystko jest dobrze ustawione, płytka często odmawia przyjęcia programu. Jednak po kilku próbach zazwyczaj się udaje. Jeśli nie to pomaga odłączenie i ponowne podłączenie do komputera. Jeśli nie to należy odłączyć wszystko od płytki i spróbować ponownie.

Testowy program

Po zmontowaniu elektroniki napisałem prosty program którego zadaniem jest sprawdzenie czy wszystko działa i kalibracja czujnika kierunku wiatru.

Kod jest bogaty w komentarze więc nie powinno być problemów z jego zrozumieniem.

Po wgraniu kodu i uruchomienia monitora portu szeregowego powinno się pokazać coś takiego :

W polach temperatura i wilgotność podawane są dane z czujnika DHT22. Jeśli pojawią się tam wartości NAN ( Not A Number) to oznacza, że coś jest nie tak. W większości wypadków pomaga jednak zwykłe wyłączenie i włączenie zasilania. Jeśli to nie pomoże to oznacza, że problem leży w podłączeniu czujnika lub w samym czujniku.

Ciśnienie to wartość ciśnienia atmosferycznego , podawana w hektopaskalach.

W polu prędkość wiatru mamy ilość impulsów z wiatromierza zarejestrowanych podczas 3 sekund pomiarów. Na jeden pełny obrót czaszy powinny przypadać 4 impulsy. Za jeden impuls przyjąłem zmianę stanu logicznego wejścia.

Kierunek wiatru to wartość napięcia z dzielnika odczytana przez przetwornik analogowo cyfrowy. Powinna się zmieniać w zależności od położenia strzałki.

W polu deszcz mamy ilość impulsów z deszczomierza. Jeden impuls oznacza, że spadło  0.2794 mm deszczu.

Przeliczanie danych z czujników

Jeśli chodzi o temperaturę i wilgotność to nie musimy nic przeliczać. Dane są od razu podawane w procentach i stopniach celsjusza.

Jeśli chodzi o ciśnienie to jest ono podawane w paskalach. Żeby uzyskać bardziej przyjazną wartość w hektopaskalach należy ją podzielić przez 100.

Obliczanie opadów też jest dość proste. Należy po prostu pomnożyć ilość impulsów z deszczomierza razy 0.2794. Uzyskany wynik to ilość opadów w milimetrach.

Prędkość wiatru to zupełnie inna historia.

Cały proces został dokładnie opisany w akademii nettigo : http://akademia.nettigo.pl/czujnik_wiatru/

I przyznam, że wykorzystał kod właśnie stąd. Jednak z pewnymi modyfikacjami.  Po pierwsze pomiar ilości impulsów trwa 3 sekundy a nie 1 sekundę. Po drugie na jeden obrót uzyskujemy 4 impulsy a nie 2 impulsy. Dlatego w linijce :

Zmieniłem 30 na 5 ( 30 /3 i potem jeszcze /2 ).

Zmodyfikowałem też sposób wykrywania impulsów i kilka innych drobiazgów.

Przeliczanie kierunku wiatru też jest dość skomplikowane.

Zaglądając do tabeli z dokumentacji zestawu można stwierdzić jakie kierunku jest w stanie wskazać czujnik :

Jest ich szesnaście. Przy każdym czujnik ma inną rezystancję co zmienia wartość napięcia z dzielnika. Niestety jak już wspomniałem uzyskiwane wyniki nie zgadzały się z tymi z obliczeń więc musiałem na nowo skalibrować czujnik. W tym celu wgrałem wspomniany już wcześniej program testowy a następnie powoli obracałem strzałkę i zapisywałem wartości odczytywane z dzielnika dla każdego kierunku.

Programowo rozpoznawanie kolejnych kierunków odbywa się za pomocą  instrukcji warunkowych :

Value to wartość odczytana z dzielnika. Dir to kierunek wiatru.

Jak widać wystarczy wpisać wartości graniczne pomiędzy którymi musi znaleźć się odczyt dla danego kierunku wiatru. W tym wypadku muszą się one mieścić w przedziale (122,130). Okno ma szerokość +-3 jednostki.

Ponieważ możliwych kierunków jest 16 więc w finalnym programie znajduje się 16 instrukcji warunkowych rozpoznających kierunek wiatru.

Uruchomienie kanału na Thingspeak

Jako zewnętrzny serwer na który będą przesyłane dane wybrałem Thingspeak. Jest to bardzo wygodne rozwiązanie ponieważ Thingspeak automatycznie zapisuje dane, prezentuje je w formie wykresów a także umożliwia dostęp przez zewnętrzne aplikacje.

Pierwszym krokiem do zbierania danych w tym serwisie jest rejestracja.

W tym celu wchodzimy na https://thingspeak.com/ , klikamy sing up i przechodzimy przez cały proces rejestracji.

Kiedy już się zarejestrujemy, oczom naszym ukaże się taka strona.

Aby zacząć zbierać dane musimy utworzyć nowy kanał klikając “New Channel”.

Teraz powinna otworzyć się strona konfiguracyjna nowego kanału.

Możemy tutaj wprowadzić różne informacje ale obowiązkowe jest tylko pole nazwa.

No i musimy wybrać nazwę i ilość pól. Jedno pole odpowiada jednej wartości jaka będzie przesyłana do naszego kanału.

Po wprowadzeniu danych należy kliknąć “Save Channel”.

I na tym kończy się proces tworzenia nowego kanału.

Przesyłanie danych do Thingspeak

Na początku ważna uwaga : Do niedawna Thingspeak był całkowicie darmowy. Niedawno jednak został wprowadzony system płatnych licencji. To znaczy, że teraz za darmo można wysyłać max 3 000 000 wiadomości na rok a wielkość wiadomości nie może przekroczyć 3000 bitów. Jednak to w zupełności wystarcza dla tego projektu. Trzy miliony wiadomości na rok oznacza, że mogę wysyłać :

3000 000 / 365 / 24 / 60 ~ 5 wiadomości na minutę. To oznacza jedną co 12 sekund.  A ponieważ nie można wysyłać danych częściej niż co 15 sekund więc przekroczenie limitu raczej mi nie grozi. Jednak ponieważ planuję w przyszłości jeszcze kilka projektów z wykorzystaniem Thingspeak więc postanowiłem wysyłać dane raz na 30 sekund co oszczędzi mi ponad 50% wiadomości na pozostałe projekty.

Ale do rzeczy.

Krótki program który wysyła dwie stałe liczby do kanału na Thinspeak.

Przed wgraniem należy jednak wpisać kilka wartości :

Tutaj w miejscu ##### należy wpisać nazwę sieci z jaką ma połączyć się moduł.

Tutaj należy wpisać hasło dostępu do sieci.

Tutaj z kolei należy wpisać klucz który umożliwia zapis do kanału.

Klucz dostępu do kanału można znaleźć w zakładce API keys w menu kanału. Jest to klucz oznaczony jako Write API Key.

Jeśli wszystko dobrze skonfigurowaliśmy, po wgraniu kodu w serial monitorze powinno się pokazać coś takiego :

Natomiast na naszym kanale Thingspeak powinny się pokazać dane :

Finalny kod programu 

Kiedy już mamy gotowy pomiar danych z sensorów i przesyłanie danych do Thingspeak, pora połączyć to wszystko w jedno.

Ważna uwaga : O ile do testowego programu potrzebny był kanał o ilości pól równej 2, teraz potrzebujemy 6 pól danych.

Kod programu :

Po uruchomieniu na nasz kanał Thingspeak powinny zacząć spływać dane.

Fajną rzeczą na Thingspeak jest to, że możemy dodawać różne wizualizacje w oparciu o dane.

W tym wypadku postanowiłem dodać wizualizację prędkości i kierunku wiatru na kompasie.

Aby to zrobić trzeba wejść w MATLAB visualization w menu kanału.

Następnie trzeba wybrać wizualizację. Istnieje również napisanie własnego kodu.

Następnie należy uzupełnić kod tworzący wizualizację wpisując identyfikator kanału, numer pola z którego ma być pobierana prędkość wiatru, numer pola kierunku wiatru. Niezbędny jest też klucz API do odczytu danych. (Read API Key).

Dla ułatwienia, lista kanałów wraz z ich polami danych oraz kluczami wyświetla się po prawej stronie okna przeglądarki.

Następnie należy zaznaczyć do jakich kanałów należy dodać wizualizację i czy ma być ona publiczna czy prywatna.

Na koniec należy wizualizację uruchomić i zapisać za pomocą przycisku Save and Run.

Efekt :

Obudowa

Elektronika i program skończone więc pora na obudowę.

Ponieważ od niedawna jestem posiadaczem drukarki 3D więc postanowiłem wypróbować swoje siły w programie tinkercad i zaprojektować ją własnoręcznie.

Obudowa od modułu centralnego :

Jest to po prostu zwykłe pudełko o wymiarach 133x92x44mm. W ściankach znajdują się otwory na wyprowadzenie kabli a w środku są bolce które przytrzymują płytkę sterującą na miejscu.

Wydrukowałem z materiału PLA, grubość warstwy 0.3mm prędkość 40 mm/s. Niezbędne były podpory, inaczej nie wydrukowały by się otwory na kable.

Musiałem drukować w dwóch częściach bo pokrywka się nie zmieściła razem z pudełkiem. Pokrywka też z PLA, na takich samych ustawieniach. Pokrywka nie wymagała jednak podpór.

Drugą obudową jaką musiałem stworzyć była obudowa do płytki z sensorami:

Ustawienia takie same jak w przypadku poprzedniej obudowy. Wydruk wychodzi ładnie nawet bez podpór.

Pokrywka ma otwory które umożliwiają dopływ powietrza do czujnika temperatury i wilgotności. Duży otwór jest do wyprowadzenia kabli.

W spodzie pudełka są 4 otwory które umożliwiają odpływ wody (jeśli jakaś by się do środka dostała).

Góra pudełka jest nachylona do tyłu dzięki czemu woda nie cieknie bezpośrednio na kratkę.

Obudowy po wydrukowaniu :

Po doszlifowaniu krawędzi całość ładnie się złożyła.

Pliki STL są dostępne do pobrania na końcu artykułu.

Finalny montaż

Montaż całości zacząłem od dwóch spostrzeżeń. Pierwsze dotyczyło tego, że płytka sterująca razem z wtyczką zasilającą włożoną do gniazda nie zmieści się w obudowie ( sic! ). Drugie dotyczyło tego, że projektując obudowy nie uwzględniłem, że kable od płytki są przymocowane na stałe do komputera a płytka w żadnym razie nie przejdzie przez otwory na kable ( SIC! ).

Ponieważ nie chciałem wyrzucać obudowy i drukować kolejnej, zdecydowałem się na prowizoryczne rozwiązanie problemu. Wylutowałem gniazdo z płytki i przylutowałem przewody zasilające bezpośrednio w jego miejsce.

Po uporaniu się z pierwszym problemem musiałem uciąć taśmę łączącą czujniki z płytką sterującą aby przełożyć ją przez otwory na kable. Po zamontowaniu wszystkiego w obudowie, ponownie ją zlutowałem.

Na szczęście więcej problemów nie było i projekt gładko zmieścił się w obudowie. Zostało też całkiem sporo miejsca na wypadek potrzeby modernizacji.

Płytka z sensorami :

Po ostatecznym sprawdzeniu czy wszystko działa, zakleiłem klejem otwory na kable aby woda nie dostała się do środka.

A następnie zamknąłem obie obudowy pokrywkami.

Pokrywki wchodzą bardzo ciasno na wcisk więc nie powinny przepuszczać wody.

Gotowy do zamontowania zestaw :

Efekt końcowy :

Może balkon nie jest idealnym miejscem do pomiaru prędkości wiatru ale do testów wystarczy. Docelowo projekt znajdzie się na dachu.

Zainstalowałem też sobie widget Thingspeak na smartphona który pobiera dane z serwera co 5 minut.

Aplikację można pobrać ze sklepu google play. Nazwa to : IoT ThingSpeak Monitor Widget.

Klasyczny widok z okna przeglądarki.

Kilka słów na koniec

Na koniec chciałbym powiedzieć, że wszystkie założenia projektowe zostały zrealizowane.

Całość działa jak na razie bezproblemowo. Montaż na dachu jest planowany za miesiąc jak tylko potwierdzę, że nie ma żadnych problemów technicznych.

No i to tyle.  : )

Pliki załączone do artykułu:

Ocena: 5/5 (głosów: 11)

Podobne posty

24 komentarzy do “Internetowa stacja meteorologiczna

  • Robię coś podobnego, też używam dht22 i tego samego widżetu na androida, taki rezultat pomiarów póki co:
    https://thingspeak.com/apps/plugins/140992

    Tylko ja używam nodemcu v3 (esp8266), na zewnątrz kombinuje zasilanie solarne do czujnika. Chcę dołożyć jeszcze pomiar smogu, a później tym wszystkim sterować wentylacją i klimatyzacją. ;)

    Odpowiedz
  • Bardzo fajnie zrealizowany projekt. Ze swojej strony mogę podsunąć pomysł na bardzo znaczne obniżenie kosztów stacji. Ja swego czasu nabyłem gotową stację, w której po 3 latach zepsuł mi się nadajnik a ponieważ nie mogłem dostać nowego zacząłem szukać stacji używanych. I mi się udało nabyć stację zepsutą gdzie zepsuty był odbiornik. Pozostałe elementy były sprawne, tak więc prędkościomierz, kierunkomierz wiatru, czujnik opadów można za bardzo tanie pieniądze zdobyć kupując zepsutą stację.

    Odpowiedz
    • Jednak wykorzystując czujniki z istniejącej stacji musiałbym najpierw je zhakować żeby odczytać z nich dane. W przypadku czujników które użyłem miałem całą dokumentację techniczną + gotowe przykłady w internecie. Jeśli chodzi o obniżanie kosztów to można to zrobić kupując czujniki na Ebay albo na Aliexpres. Myślę, że jakieś by się znalazły.

      Odpowiedz
  • Ilekroć nie spojrzę na drukowaną obudowę zastanawiam się, czy autor nie widzi jakie to jest brzydkie i że lepszy efekt można uzyskać stosując gotowe obudowy zakupione w sklepie z elektroniką. Rozumiem, że posiadanie drukarki daje pewne możliwości.. ale no jednak te obudowy są po prostu brzydkie. Jeszcze, żeby były one idealnie spasowane i dostosowane do PCB czy elementów wewnętrznych – ale nie są. Wszystko przyklejone na klej. Czy tylko ja nie widzę w tym sensu?
    Swoje urządzenia montuję w obudowach sklepowych, płytki umieszczam na tulejkach dystansowych i wygląda to schludnie z zewnątrz a i w środku przyjemny widok dla oka i nic nie odpadnie, nie zewrze się. Sprzyja to również ewentualnym naprawom – łatwiej rozkręcić niż pozbyć się takiego klejowego gluta.
    Nie bierz tego specjalnie do siebie, ale dostrzegam ostatnio jakieś takie promowanie kiczu wśród populacji majsterkowiczów, zamiast faworyzowania rozwiązań, które warto naśladować i zastanawiam się, czy ja już jestem starej daty i nie ogarniam, że teraz się po prostu robi byle jak, w modelu chińskim. Szkoda trochę, bo na dobry projekt, do tego starannie wykonany – których ostatnio mało, to aż miło popatrzeć. A takie zlepki drucików, kleju i obudów w stylu rosyjskim z lat 80 ubiegłego wieku jakoś tak do mnie nie przemawiają. Jako prototyp owszem, ale nie jako urządzenie, które warto pokazać innym. Byle by szybko zlutować, pokleić, dodać Arduino i jakiś serwis webowy i pstryk… opublikować światu i czekać na lajki… To o to chodzi? Hmm.

    Odpowiedz
    • Bartek, oczywiście że widzimy klej i brzydkie pudełka. Tylko sposób napisania o tym jest godny malkontenta. Ja bym napisał że projekt super ale popracuj nad estetyką wykonania. Estetyka wpłynie także na przejrzystość projektu bo ciężko np. znaleźć zimne luty w glucie plastiku. Opis zawiera schematy i zwraca uwagę na detale jak rezystory podciągające i kondensatory eliminujące drgania zestyków, opisuje także w jaki sposób podejść do uruchomienia integracji z serwisami chmurowymi (zwraca uwagę na testy i migrację produkcyjną). Kawał dobrej roboty!
      Cały projekt jest fajnie opisany i mi na pewno pomoże bo walczę z czymś takim już trochę czasu. Na pewno wykorzystam ten materiał do swoich prób.
      Pozdrawiam

      Odpowiedz
  • Wielki szacun za naprawdę fajny projekt. Gratuluje pomysłu.
    Mam zrobiony podobny projekt lecz na uno (nie pomysłem o D1 a nie chciałem korzystać z ESP2866), zamiast bmp 180 użyłem BME 280, ciśnienie, wigotnosc i temperatura w jednym module, dokładniejszy od DTH22, zamiast dwóch modułów wykorzystujemy jeden.
    Dla osób chcących taniej kopić wiatromierz (2,49 £), deszczomierz (4,49 £), kierunkowskaz wiatru (9,99 £) w sumie daje w sumie 80 zl wiec 4,5 razy taniej niż pisze autor polecam sklep Maplin – wysyłają do PL.

    Odpowiedz
  • Rozumiem że jako “centrala” używane jest Arduino IDE i Płytka D1 R1? Proszę o poprawę jeżeli jest inaczej, jestem nowy w temacie.

    Odpowiedz
  • Dzięki, napisałem bo zobaczyłem “Aby móc zaprogramować płytkę D1 R1 w Arduino IDE musimy ją najpierw zainstalować za pomocą menagera płytek.” myślałem że trzeba. A tak w ogóle to pomysł świetny, będę zabierał się za zrobienie go. Mógłbyś jeszcze podać linka do “Zestaw czujników pogodowych (Anemometr, Wskaźnik kierunku wiatru, Deszczomierz).” ? Gdzie się wpisuje te kody?

    Odpowiedz
    • Kod źródłowy programu wpisuje się w arduino IDE a następnie kompiluje i wgrywa do płytki.
      Jednak aby można było to zrobić najpierw trzeba zainstalować odpowiednie narzędzia w arduino IDE (przez menagera płytek).
      Zestaw czujników można kupić na botlandzie lub na nettigo ale jak fenek4 wspomniał w komentarzu, czujniki te można kupić znacznie taniej w innym sklepie (pewno na aliexpress też będą).

      Odpowiedz
    • D1R1 to płytka, a Arduino IDE to program który instalujesz na komputerze aby wgrać kod do tej płytki i zrobić testy.
      Potem Arduino IDE nie jest potrzebne bo dane trafiają bezpośrednio do internetu.

      Odpowiedz
  • Aha, myślałem że Arduino IDE to płytka. Dzięki za wyprowadzenie mnie z błędu.
    Tą stację można jeszcze rozbudować o detektorów wyładowań atmosferycznych?

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?