Spisu treści:
- Krok 1: Komponenty:
- Krok 2: CZUJNIK PODSTAWOWY: Wilgotność gleby FC 28
- Krok 3: Zrozumienie MQTT: do zdalnego publikowania danych
- Krok 4: MQTT: Konfiguracja konta brokera MQTT
- Krok 5: MQTT: Tworzenie instancji
- Krok 6: MQTT: Informacje o instancji
- Krok 7: MQTT: Dodawanie użytkownika
- Krok 8: MQTT: Przypisywanie reguły ACL
- Krok 9: Nodemcu: Konfiguracja
- Krok 10: Nodemcu: Przesyłanie skryptów Lua do Nodemcu za pomocą ESPlorer_1
- Krok 11: 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
- Krok 13: Nodemcu: Konfiguracja Arduino do komunikowania się z Nodemcu
- Krok 14: Nodemcu: Konfiguracja klienta MQTT w systemie Android
- Krok 15: Dodatkowe kroki: Praca z Nokia LCD 5110
- Krok 16: Ostateczny montaż
Wideo: MONITORUJ SWÓJ OGRÓD: 16 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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:
- Arduino
- Nodemcu
- Czujnik temperatury i wilgotności DHT 11
- Czujnik wilgotności gleby - FC28
- Bank baterii 10000 mah (do zasilania arduino i nodemcu)
- Nokia LCD 5110
- Rezystor (5x10k, 1x330ohm)
- Typ potencjometru obrotowego (do regulacji jasności LCD) 0-100K
- Przewody połączeniowe
- Deska do krojenia chleba
Krok 2: 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
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
Utworzyłem instancję o nazwie „ myIOT”
plan: Śliczny plan
Krok 6: 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
Utwórz użytkownika o nazwie „nodemcu_12” i podaj hasło
Krok 8: 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
- 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
Krok 12: 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
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
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ż
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:
Inteligentny ogród IoT: 10 kroków (ze zdjęciami)
Inteligentny ogród IoT: Jeśli jesteś podobny do mnie, lubisz świeże owoce i warzywa na talerzu, ale nie masz wystarczająco dużo czasu, aby utrzymać przyzwoity ogród. Ta instrukcja pokaże Ci, jak zbudować inteligentny ogród IoT (nazywam go: Zielona Straż), który podle
Inteligentny kryty ogród ziołowy: 6 kroków (ze zdjęciami)
Inteligentny ogród ziołowy w domu: W tej instrukcji pokażę, jak stworzyłem mój inteligentny ogród ziołowy! Miałem kilka inspiracji do tego projektu, a pierwszą z nich zainteresowałem się domowymi modelami Aerogarden. Dodatkowo miałem nieużywany Arduino Mega w
Automatyczna doniczka na rośliny - Mały ogród: 13 kroków (ze zdjęciami)
Automatyczna doniczka na rośliny - Mały ogród: Jestem studentem na kierunku Multimedia i Technika Komunikacji w Howest Kortrijk. Aby wykonać nasze ostatnie zadanie, musieliśmy opracować wybrany przez nas projekt IoT. Rozglądając się za pomysłami, postanowiłem zrobić coś pożytecznego dla mojej mamy, która uwielbia growi
Monitoruj i rejestruj temperaturę za pomocą Bluetooth LE i RaspberryPi: 9 kroków (ze zdjęciami)
Monitoruj i rejestruj temperaturę za pomocą Bluetooth LE i RaspberryPi: Ta instrukcja dotyczy zestawienia wielowęzłowego systemu monitorowania temperatury z błędem czujnika Bluetooth LE z Blue Radios (BLEHome) i RaspberryPi 3BDzięki opracowaniu standardu Bluetooth LE istnieje teraz łatwo dostępne
Monitoruj galony zbiornika oleju opałowego za pomocą wiadomości e-mail, SMS-ów i powiadomień pushbullet: 9 kroków (ze zdjęciami)
Monitoruj galony zbiornika oleju opałowego za pomocą wiadomości e-mail, SMS-ów i powiadomień pushbullet: INFORMACJE DOTYCZĄCE BEZPIECZEŃSTWA: Na wypadek, gdyby ktoś chciał wiedzieć, czy „jest to bezpieczne do zbudowania/zainstalowania” - Zaniosłem to do 2 różnych firm naftowych w celu uzyskania informacji zwrotnych/względów bezpieczeństwa i przeprowadziłem to przez zastępcę straży pożarnej C