Spisu treści:

Czujnik wilgoci IoT: 12 kroków
Czujnik wilgoci IoT: 12 kroków

Wideo: Czujnik wilgoci IoT: 12 kroków

Wideo: Czujnik wilgoci IoT: 12 kroków
Wideo: 15 BME280 - czujnik ciśnienia i wilgotności w Atnel Firmware, sterowanie IoT - histereza! 2024, Lipiec
Anonim
Czujnik wilgoci IoT
Czujnik wilgoci IoT
Czujnik wilgoci IoT
Czujnik wilgoci IoT
Czujnik wilgoci IoT
Czujnik wilgoci IoT

Potrzebowałem czujnika wilgoci, który dawałby mi znać, kiedy rośliny domowe potrzebują wody. Chciałem czegoś, co mógłbym wykorzystać do rozpoczęcia nasion i dojrzałych roślin domowych. Zawsze martwię się, że podlewam je lub podlewam.

Spędziłem trochę czasu pracując nad oprogramowaniem IoT dla urządzeń Arduino, korzystając z oprogramowania innych ludzi, miałem całkiem dobre pojęcie o wymaganiach dla moich.

  1. Chciałem czegoś, co mógłbym sflashować do wielu urządzeń i skonfigurować przez Wi-Fi. Nie chciałem zmieniać pliku konfiguracyjnego za każdym razem, gdy przesyłałem na nowe urządzenie. Nie chciałem też umieszczać poświadczeń ani innych szczegółów w kodzie, ponieważ zawsze chciałem udostępnić ten kod.
  2. Chciałem też mieć całkiem solidny szkielet oprogramowania, który mógłbym dostosować do przyszłych projektów. Ten jest czujnikiem wilgoci. Mógłbym zbudować czujnik ruchu/światła/dźwięku/wibracji/pochylenia i chciałem móc do tego używać tego samego oprogramowania.
  3. W końcu chciałem, aby był zasilany bateryjnie i jako taki chciałem, aby działał przez długi czas. Poświęciłem trochę czasu na ustalenie trybu głębokiego uśpienia, w którym urządzenie będzie spędzać większość czasu w stanie uśpienia.

Kieszonkowe dzieci

Wemos D1 Mini

Pojemnościowy czujnik wilgoci

18650 Bateria

Dodatnie i ujemne złącza baterii

Przełączniki suwakowe

Dostęp do drukarki 3D jest również bardzo istotny, chociaż można znaleźć inne sposoby łączenia i przechowywania części.

Oto link do mojego posta na Thingiverse ze wszystkimi stworzonymi przeze mnie modelami.

Krok 1: Pobierz oprogramowanie

Pobierz oprogramowanie
Pobierz oprogramowanie

Opublikowałem swoje oprogramowanie na GITHUB. Jest zbudowany przy użyciu PlatformIO

  1. Postępuj zgodnie z instrukcjami na stronie PlatformIO, aby zainstalować VSCode i PlatformIO
  2. Pobierz oprogramowanie z mojego repozytorium GITHUB. Kliknij Klonuj lub pobierz i pobierz ZIP
  3. Wypakuj i otwórz folder w VSCode
  4. Podłącz Wemos D1 do komputera przez micro USB
  5. W VSCode kliknij obcego, aby otworzyć panel PlatformIO
  6. Kliknij Zbuduj i prześlij, aby przesłać oprogramowanie układowe do płyty Wemos

Krok 2: Skonfiguruj projekt Blynk, z którym Twój czujnik będzie rozmawiał

Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać
Skonfiguruj projekt Blynk, aby Twój czujnik mógł z nim rozmawiać

Skupiłem się na dwóch rodzajach usług MQTT i Blynk, które są opcjonalne.

Blynk to łatwa w użyciu i niedroga platforma IOT. Możesz tworzyć aplikacje głównie za pomocą kredytów komponentowych, które otrzymujesz za darmo. Jeśli skończą Ci się kredyty, możesz kupić więcej, korzystając z zakupów aplikacji.

  1. Zainstaluj aplikację Blynk na swoim telefonie
  2. Utwórz konto
  3. Utwórz nowy nowy projekt
  4. Nadaj mu nazwę i wybierz Wemos D1 jako urządzenie
  5. Pobierz klucz Blynk z wiadomości e-mail, zostanie on użyty do późniejszej konfiguracji urządzenia
  6. Śmiało i dotknij dowolnego miejsca na pulpicie projektu, aby dodać komponent
  7. Wybierz teraz wyświetlacz LCD, ale później możesz go zmienić na wykres lub inne komponenty. Blynk umożliwia recykling komponentów, dzięki czemu nie musisz się martwić o marnowanie kredytów
  8. Dotknij wyświetlacza LCD i ustaw szpilki. Oprogramowanie układowe wykorzystuje dwa wirtualne piny. Nie ma znaczenia, których używasz, o ile później używasz tego samego w swojej aplikacji, co oprogramowanie układowe

Krok 3: Skonfiguruj usługę MQTT (asystent domowy)

Używam już Home Assistant do mojej automatyki domowej i planuję skonfigurować powiadomienia o wyschnięciu rośliny lub czujniku, który przestał zgłaszać (zużyta bateria).

Możesz znaleźć informacje, jak skonfigurować HA, jeśli chcesz, lub możesz po prostu skonfigurować usługę Mosquitto dla MQTT.

W obu przypadkach będziesz chciał znać swój adres IP, identyfikator użytkownika i hasło.

Jeśli korzystasz z Home Assistant, skonfigurujesz czujnik na platformie MQTT, ale będziesz potrzebować chipidu. Oprogramowanie układowe opublikuje komunikat o temacie [identyfikator chipa]/wilgotność z wartością odczytu wilgotności

Oto przykładowa konfiguracja czujnika dla Home Assistant

state_topic: "ESP6e4bac/wilgoć/"

device_class: wilgotność

Krok 4: Skonfiguruj oprogramowanie sprzętowe

Skonfiguruj oprogramowanie układowe
Skonfiguruj oprogramowanie układowe
  1. Po zresetowaniu tablicy uruchomi się punkt dostępu Wifi WifiMoisture
  2. Połącz się z nim za pomocą telefonu lub komputera
  3. Otwórz przeglądarkę i przejdź do 192.168.4.1
  4. Zobaczysz formularz internetowy
  5. Dodaj swoje dane logowania do Wi-Fi.
  6. Możesz ustawić interwał snu w minutach, ale radzę pozostawić go domyślnie (maksymalny dla twojego urządzenia)
  7. Dodaj klucz Blynk i/lub ustawienia MQTT
  8. Hit Prześlij

Możesz wprowadzić klucze Blynk i lub poświadczenia MQTT w zależności od tego, jak chcesz śledzić wilgotność. Powinno działać z jednym i drugim, ale planuję użyć obu.

Używam Home Assistant do mojej automatyki domowej i konfiguruję alert na podstawie MQTT, ale używam również wykresu w Blynk do śledzenia rzeczy w czasie rzeczywistym.

Radziłbym wykonać tę konfigurację, gdy urządzenie Wemos jest nadal podłączone do komputera i podczas korzystania z monitora szeregowego. Jeśli wpisałeś coś niepoprawnie lub masz inne problemy, będziesz potrzebować wyjścia szeregowego do zdiagnozowania.

Krok 5: Drukowanie części

Drukowanie części
Drukowanie części

Przejdź do mojego postu Thingiverse, zdobądź części i wydrukuj najnowsze (w momencie pisania v2).

Nic nie powinno wymagać żadnych podpór, ale upewnij się, że otwory są skierowane do góry, aby nie mieć dużych zwisających powierzchni.

Krok 6: Podłącz wszystko do góry

Podłącz wszystko do góry
Podłącz wszystko do góry

Będziesz chciał podłączyć wszystko przed włożeniem go do pudełka, ale jest kilka drukowanych elementów, które musisz złożyć podczas zakładania drutu. Zrobimy to krok po kroku

Krok 7: Zacznij od baterii

Zespół baterii składa się z drukowanego uchwytu, złącza dodatniego i ujemnego, dwóch czarnych przewodów i jednego czerwonego.

Po wydrukowaniu uchwytu baterii włóż złącza dodatnie i ujemne do obu końców z wypustką wystającą z dna.

Odwróć uchwyt baterii, wygnij wypustki i dodaj do nich odrobinę lutu

Skręć ze sobą końce dwóch czarnych przewodów i pocynuj je lutem

Cynuj koniec czerwonego przewodu lutem

Następnie przylutuj czarne przewody do złącza ujemnego (tego ze sprężynką), a przewód czerwony do złącza dodatniego.

Na koniec złóż zakładki, aby przylegały płasko do boku uchwytu baterii.

Krok 8: Złóż przełącznik

To oprogramowanie układowe ma na celu maksymalne wykorzystanie baterii przy użyciu trybu głębokiego uśpienia chipów.

Urządzenie budzi się i publikuje odczyt, a następnie wraca do snu. Aby chip się obudził, zostało nawiązane połączenie między D0 a RST.

Wykorzystałem brak tego połączenia, aby poinformować urządzenie, że chcesz je (re)konfigurować. Przy pierwszym uruchomieniu urządzenie przeszło w tryb konfiguracji, ponieważ nie miało jeszcze zapisanej konfiguracji. Teraz, gdy tak się stanie, jeśli kiedykolwiek chciałeś zmienić tę konfigurację, przestaw przełącznik i albo wyłącz i włącz zasilanie, albo naciśnij pinezkę resetowania.

Zauważyłem również, że czasami musiałem odłączyć połączenie D0-RST, aby sflashować nową wersję oprogramowania. Przełącznik też na to działa.

Okablowanie przełącznika jest proste, wyprowadzenie z jednej strony do pinu RST, a środkowe do pinu D0. Przed lutowaniem wsuń wydrukowany blok przełącznika na przełącznik.

Krok 9: Przylutuj resztę połączeń

Teraz, gdy zespół akumulatora i blok przełączników są już połączone, nadszedł czas, aby podłączyć wszystkie inne połączenia.

  1. Przylutuj czerwony przewód z akumulatora do pinu 3,5 V w Wemos
  2. Przylutuj jeden z czarnych przewodów od akumulatora do kołka uziemiającego w Wemos
  3. Do bolca A0 przylutuj drut z obciętymi końcami. Podłączymy to do żółtego przewodu na czujniku
  4. Przylutuj czerwony drut z oboma końcami do pinu D1 na Wemos. To zostanie ustawione na WYSOKIE przez oprogramowanie układowe, aby zasilić czujnik

Możesz alternatywnie odciąć żeński nagłówek od czujnika i przylutować go bezpośrednio do Wemos. Nie zrobiłem tego, ale nie ma w tym nic złego, o ile nie planujesz później tego rozbierać.

Krok 10: Włóż wszystko do pudełka

Umieść wszystko w pudełku
Umieść wszystko w pudełku
Umieść wszystko w pudełku
Umieść wszystko w pudełku

Starałem się, aby wszystko pasowało ciasno, ale nie wymagało to zbyt dużej siły, ale każdy nadruk jest trochę inny.

  1. Włóż Wemos. wciśnij najpierw koniec usb. Upewnij się, że ładnie się układa. Jeśli nie masz prawa do zakrętu, tył nie wejdzie łatwo.
  2. Następnie włóż czujnik. Mając już podłączone okablowanie, wsuń je pod kątem, a gdy znajdzie się we właściwej pozycji, dociśnij. Pudełko powinno trzymać się wspornika okablowania.
  3. Następnie umieść uchwyt baterii na swoim miejscu. Może być konieczne lekkie wygięcie ścianek pudełka. Wykorzystaj fakt, że jedna strona jest otwarta (mogę otworzyć obie strony w następnej wersji). Znajdź dwie okrągłe podkładki na dnie pudełka i wciśnij na nie uchwyt baterii.
  4. Na koniec umieść przełącznik na miejscu od wewnątrz pudełka. Wkręć dwie śruby 1,7 mm x 8 mm od zewnątrz, upewniając się, że dociskasz nadrukowany blok przełączników. Śruby powinny chwytać zadrukowany blok, ale pamiętaj, że drukowane części są miękkie i śruby z łatwością obszyją otwory.

Gdy wszystko znajdzie się w pudełku, poświęć kilka minut na uporządkowanie przewodów. Możesz być w stanie przesunąć je wzdłuż uchwytu baterii, ale w zależności od przewodu może to spowodować rozłożenie boków.

Krok 11: Wzmocnij go i weź swoje pierwsze odczyty

Na koniec upewnij się, że przełącznik jest odwrócony, aby połączyć styki D0 i RST i włożyć baterię.

załóż pokrywkę i wkręć 6 śrub, aby utrzymać ją na miejscu (lub nie pokrywka może po prostu trzymać się tarcia).

Urządzenie powinno od razu wykonać odczyt, położyć się spać na skonfigurowany czas, a następnie wykonać kolejny.

Teraz, gdy już go uruchomiłeś, możesz skonfigurować wykres w Blynk, skonfigurować powiadomienie w HomeAssistant lub dowolną z wielu innych opcji, aby śledzić wilgotność i utrzymywać rośliny przy życiu.

Krok 12: Następne iteracje

W przyszłości prawdopodobnie zaktualizuję oprogramowanie MQTT, aby mówiło coś więcej niż tylko surowy odczyt. Jeden z pinów blynk publikuje interpretację, więc chcę przynajmniej dodać ją do MQTT. Muszę też dołączyć ostatni

Planuję też dodać zakres odczytu do strony ustawień lub zbudować tryb kalibracji. Pomysł polegałby na tym, że użyjesz strony konfiguracyjnej, aby przełączyć ją w tryb kalibracji. Następnie wykonuje kilka odczytów w dość szybkich odstępach czasu, utrzymując najwyższy jako „Suchy”, a najniższy jako „Mokry”.

Myślę też, że mogę zmniejszyć urządzenie, używając mniejszej baterii lub układając niektóre części. Nad modelem zawsze jest do zrobienia.

Wreszcie są inne płyty oprócz Wemos D1 Mini, które mają wbudowany uchwyt baterii i / lub ładowarkę. Korzystanie z nich może zaoszczędzić trochę miejsca i uniemożliwić mi późniejsze otwieranie obudowy.

Zalecana: