Spisu treści:

MONITORUJ SWÓJ OGRÓD: 16 kroków (ze zdjęciami)
MONITORUJ SWÓJ OGRÓD: 16 kroków (ze zdjęciami)

Wideo: MONITORUJ SWÓJ OGRÓD: 16 kroków (ze zdjęciami)

Wideo: MONITORUJ SWÓJ OGRÓD: 16 kroków (ze zdjęciami)
Wideo: Ups. 2024, Listopad
Anonim
MONITORUJ SWÓJ OGRÓD
MONITORUJ SWÓJ OGRÓD

Monitoruj swój ogród z dowolnego miejsca, użyj lokalnego wyświetlacza do lokalnego monitorowania warunków glebowych lub użyj urządzenia mobilnego do zdalnego monitorowania. Obwód wykorzystuje czujnik wilgotności gleby w połączeniu z temperaturą i wilgotnością, aby poinformować o warunkach otoczenia gleby.

Krok 1: Komponenty:

  1. Arduino
  2. Nodemcu
  3. Czujnik temperatury i wilgotności DHT 11
  4. Czujnik wilgotności gleby - FC28
  5. Bank baterii 10000 mah (do zasilania arduino i nodemcu)
  6. Nokia LCD 5110
  7. Rezystor (5x10k, 1x330ohm)
  8. Typ potencjometru obrotowego (do regulacji jasności LCD) 0-100K
  9. Przewody połączeniowe
  10. Deska do krojenia chleba

Krok 2: CZUJNIK PODSTAWOWY: Wilgotność gleby FC 28

CZUJNIK PODSTAWOWY: Wilgotność gleby FC 28
CZUJNIK PODSTAWOWY: Wilgotność gleby FC 28

Do pomiaru wilgotności używamy czujnika wilgotności gleby FC 28, którego podstawowa zasada jest następująca:-

Specyfikacje czujnika wilgotności gleby FC-28 są następujące: Napięcie wejściowe: 3,3 – 5 V

Napięcie wyjściowe: 0 – 4,2 V

Prąd wejściowy: 35mA

Sygnał wyjściowy: zarówno analogowy, jak i cyfrowy

Czujnik wilgotności gleby FC-28 ma cztery piny: VCC: Power

A0: Wyjście analogowe

D0: Wyjście cyfrowe

GND: ziemia

Tryb analogowyAby podłączyć czujnik w trybie analogowym, będziemy potrzebować wyjścia analogowego czujnika. Pobierając wyjście analogowe z czujnika wilgotności gleby FC-28, czujnik podaje nam wartość od 0 do 1023. Wilgotność mierzymy w procentach, więc zmapujemy te wartości od 0 do 100, a następnie pokażemy te wartości na monitor szeregowy. Możesz ustawić różne zakresy wartości wilgotności i zgodnie z nimi włączać i wyłączać pompę wodną.

Moduł zawiera również potencjometr, który ustawia wartość progową. Ta wartość progowa zostanie porównana przez komparator LM393. Dioda LED wyjścia będzie świecić w górę i w dół zgodnie z tą wartością progową.

Kod do współpracy z czujnikiem wilgotności gleby jest podejmowany w dalszych krokach

Krok 3: Zrozumienie MQTT: do zdalnego publikowania danych

Zrozumienie MQTT: do zdalnego publikowania danych
Zrozumienie MQTT: do zdalnego publikowania danych

Zanim zaczniemy dalej, przejdźmy najpierw przez Zdalne publikowanie danych dla IOT

MQTT oznacza transport telemetryczny MQ. Jest to niezwykle prosty i lekki protokół przesyłania wiadomości typu publikuj/subskrybuj, zaprojektowany dla urządzeń z ograniczeniami oraz sieci o niskiej przepustowości, dużych opóźnieniach lub zawodnych. Zasady projektowania mają na celu zminimalizowanie przepustowości sieci i wymagań dotyczących zasobów urządzenia, przy jednoczesnym dążeniu do zapewnienia niezawodności i pewnego stopnia pewności dostarczania. Zasady te okazują się również sprawiać, że protokół jest idealny dla wyłaniającego się świata połączonych urządzeń typu „machine-to-machine” (M2M) lub „Internet of Things” oraz dla aplikacji mobilnych, w których przepustowość i moc baterii są na wagę złota.

Źródło:

MQTT[1] (MQ Telemetry Transport lub Message Queuing Telemetry Transport) to standard ISO (ISO/IEC PRF 20922)[2] protokół przesyłania wiadomości oparty na publikowaniu i subskrybowaniu. Działa na szczycie protokołu TCP/IP. Jest przeznaczony do połączeń ze zdalnymi lokalizacjami, gdzie wymagany jest „mały ślad kodu” lub przepustowość sieci jest ograniczona.

Źródło:

Krok 4: MQTT: Konfiguracja konta brokera MQTT

Istnieją różne konta brokera MQTT, w tym samouczku użyłem cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT to zarządzane serwery Mosquitto w chmurze. Mosquitto implementuje protokół MQ Telemetry Transport, MQTT, który zapewnia lekkie metody obsługi wiadomości przy użyciu modelu kolejkowania wiadomości publikuj/subskrybuj.

Aby skonfigurować konto cloudmqtt jako broker, należy wykonać następujące kroki

  • Załóż konto i zaloguj się do panelu sterowania
  • naciśnij Utwórz +, aby utworzyć nową instancję
  • Aby rozpocząć, musimy zarejestrować się w planie klienta, możemy wypróbować CloudMQTT za darmo z planem CuteCat.
  • Po utworzeniu „instancji” kolejnym krokiem jest utworzenie użytkownika i dalsze przypisanie użytkownikowi uprawnień dostępu do wiadomości (poprzez reguły ACL)

Kompletny przewodnik dotyczący konfiguracji konta brokera MQTT w cloudmqtt można uzyskać, klikając link: -

Wszystkie powyższe kroki są umieszczone jeden po drugim na kolejnych slajdach

Krok 5: MQTT: Tworzenie instancji

MQTT: Tworzenie instancji
MQTT: Tworzenie instancji

Utworzyłem instancję o nazwie „ myIOT”

plan: Śliczny plan

Krok 6: MQTT: Informacje o instancji

MQTT: Informacje o instancji
MQTT: Informacje o instancji

Instancja jest udostępniana natychmiast po zarejestrowaniu się, a szczegóły instancji, takie jak informacje o połączeniu, można wyświetlić na stronie szczegółów. Stamtąd można również przejść do interfejsu zarządzania. Czasami musisz użyć adresu URL połączenia

Krok 7: MQTT: Dodawanie użytkownika

MQTT: Dodawanie użytkownika
MQTT: Dodawanie użytkownika

Utwórz użytkownika o nazwie „nodemcu_12” i podaj hasło

Krok 8: MQTT: Przypisywanie reguły ACL

MQTT: Przypisywanie reguły ACL
MQTT: Przypisywanie reguły ACL

Po utworzeniu nowego użytkownika (nodemcu_12) zapisz nowego użytkownika, teraz do nowego użytkownika ma zostać udostępniona kolejna lista ACL. Na załączonym obrazku widać, że zapewniłem użytkownikowi dostęp do odczytu i zapisu.

Uwaga: temat należy dodać zgodnie z formatem (jest to dodatkowo wymagane do odczytu i zapisu z węzła do klienta MQTT)

Krok 9: Nodemcu: Konfiguracja

W tym konkretnym projekcie użyłem nodemcu firmy Knewron Technologies, więcej informacji można uzyskać, klikając link: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Przewodnik.pdf?dl=0)

Można zauważyć, że NodeMCU to oprogramowanie układowe oparte na eLua dla ESP8266 WiFi SOC firmy Espressif. Nodemcu od knowron jest fabrycznie załadowany z oprogramowaniem układowym, więc musimy po prostu załadować oprogramowanie aplikacji, a mianowicie: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Wszystkie powyższe skrypty lua można pobrać z Github, klikając link: Pobierz z Github

Z powyższych skryptów lua zmodyfikuj skrypty config.lua za pomocą nazwy hosta MQTT, hasła, identyfikatora wifi itp.

Aby pobrać powyższe skrypty do nodemcu, musimy użyć narzędzia takiego jak "ESPlorer", zapoznaj się z dokumentacją, aby uzyskać więcej informacji:

Praca z ESPlorer została opisana w następnym kroku

Krok 10: Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_1

Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_1
Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_1
  • Kliknij przycisk Odśwież
  • Wybierz port COM (komunikacja) i szybkość transmisji (powszechnie używane 9600)
  • Kliknij Otwórz

Krok 11: Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_II

Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_II
Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_II

Krok 12: Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_III

Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_III
Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_III

Przycisk Zapisz i kompiluj wyśle wszystkie cztery skrypty lua do nodemcu, po tym jak nodemcu będzie gotowy do rozmowy z naszym arduino.

Zbieranie informacji CHIP ID:

Każdy nodemcu ma identyfikator chipa (prawdopodobnie numer), ten identyfikator chipa jest dodatkowo wymagany do opublikowania wiadomości do brokera MQTT, aby dowiedzieć się o identyfikatorze chipa, kliknij przycisk Identyfikator chipa w "ESPlorer"

Krok 13: Nodemcu: Konfiguracja Arduino do komunikowania się z Nodemcu

Poniższy kod określa wilgotność gleby, temperaturę i wilgotność, a następnie wyświetla dane na nokia LCD 5110 i seryjnie.

Kod Arduino

Następnie podłącz Arduino RX ---Nodemcu TX

Arduino TX --- Nodemcu RX

Powyższy kod zawiera również sposoby korzystania z biblioteki softserial, dzięki której piny DO mogą być również używane do pracy jako piny szeregowe, użyłem pinów RX/TX do połączenia z portem szeregowym nodemcu.

Uwaga:Ponieważ nodemcu pracuje z napięciem 3,3V, zaleca się użycie przesuwnika poziomu, jednak podłączyłem się bezpośrednio bez żadnego przesuwnika poziomu i wydajność wydaje się odpowiednia dla powyższej aplikacji.

Krok 14: Nodemcu: Konfiguracja klienta MQTT w systemie Android

Nodemcu: Konfigurowanie klienta MQTT w systemie Android
Nodemcu: Konfigurowanie klienta MQTT w systemie Android

Ostatni krok do przeglądania informacji na telefonie komórkowym z klientem Android:-

Istnieje wiele aplikacji na Androida MQTT, użyłem tej z google play z następującym linkiem:

.https://play.google.com/store/apps/details?

Konfiguracja aplikacji na Androida jest dość prosta i należy skonfigurować następujące elementy

  • Adres hosta MQTT wraz z numerem portu
  • Nazwa i adres użytkownika MQTT
  • Adres węzła brokera MQTT

Po dodaniu powyższych szczegółów podłączamy aplikację, jeśli aplikacja jest podłączona do brokera MQTT, wtedy wszystkie stany wejść/dane komunikacji szeregowej z arduino pojawią się jako log.

Krok 15: Dodatkowe kroki: Praca z Nokia LCD 5110

Dodatkowe kroki: Praca z Nokia LCD 5110
Dodatkowe kroki: Praca z Nokia LCD 5110

Poniżej znajduje się konfiguracja pinów dla LCD 5110

1) RST – zresetuj

2) CE – Włącz chip

3) D/C – Wybór danych/polecenia

4) DIN – Wejście szeregowe

5) CLK – Wejście zegara

6) VCC – 3,3 V

7) ŚWIATŁO-Kontrola Podświetlenia

8) GND – Uziemienie

Jak pokazano powyżej, podłącz arduino do LCD 5110 w powyższej kolejności z rezystorem 1-10 K pomiędzy.

Poniżej znajdują się połączenia pin-pin dla LCD 5110 do Arduino uno

  • CLK - Arduino Digital pin 3
  • DIN - cyfrowy pin Arduino 4
  • D/C - cyfrowy pin Arduino 5
  • RST - pin cyfrowy Arduino 6
  • CE - Arduino Digital pin 7

Kolejny pin "BL" LCD 5110 może być użyty wraz z potencjometrem (0-100K) do sterowania jasnością LCD

Biblioteka użyta do powyższego kodu to: - Pobierz PCD8544 z poniższego linku

Integrację DHT11, czujnika temperatury i wilgotności z arduino można sprawdzić pod poniższym linkiem DHT11.

Krok 16: Ostateczny montaż

Ostateczne zgromadzenie
Ostateczne zgromadzenie

Ostatnim krokiem jest złożenie wszystkich powyższych w pudełku najlepiej, do zasilania użyłem powerbanku 10000 mAh do zasilania zarówno Arduino, jak i Nodemcu.

W razie potrzeby możemy również użyć ładowarki ściennej przez długi czas.

Zalecana: