Spisu treści:
- Krok 1: Wymagane komponenty
- Krok 2: Język i protokół
- Krok 3: Eclipse Mosquitto Broker MQTT
- Krok 4: Przepływ danych w całym projekcie
- Krok 5: Połączenie czujników z NodeMCU
- Krok 6: Podłączanie zatapialnej pompy wodnej z ESP8266
- Krok 7: Instalacja Mosquitto Broker i uruchomienie programu Python w Raspberry Pi
- Krok 8: Jak działa MQTT?
- Krok 9: Programowanie NodeMCU i ESP8266
- Krok 10: Projektowanie strony internetowej i łączenie się z bazą danych SQL
- Krok 11: Zakończ pracę
Wideo: Automatyzacja szklarni: 11 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Automatyka szklarniowa to projekt, w którym trzy parametry szklarni, tj. Wilgotność gleby, Temperatura i Wilgotność są monitorowane przez użytkownika zdalnie za pomocą przeglądarki internetowej.
Krok 1: Wymagane komponenty
Niektóre niezbędne elementy są wymienione poniżej
1. Raspberry PI Model B
2. Płyta rozwojowa NodeMCU
3. Moduł Wifi ESP8266
4. Czujnik wilgoci
5. Czujnik temperatury i wilgotności DHT11
6. Przekaźnik jednokanałowy 5 V
7. Zatapialna pompa wodna 5 V
8. Deska do chleba
9. Moduł zasilania płyty chlebowej
Krok 2: Język i protokół
- Język C jest używany dla mikrokontrolerów.
- Komunikaty MQTT: MQTT to skrót od MQ Telemetry Transport. 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.
- Program w języku Python służy do automatyzacji przepływu wody i łączności z bazą danych.
Krok 3: Eclipse Mosquitto Broker MQTT
Tutaj użyłem Mosquitto MQTT Broker do łatwej komunikacji wiadomości między węzłami.
Eclipse Mosquitto to broker komunikatów typu open source (na licencji EPL/EDL), który implementuje protokół MQTT w wersjach 5.0, 3.1.1 i 3.1. Mosquitto jest lekki i nadaje się do użytku na wszystkich urządzeniach, od komputerów jednopłytowych o małej mocy po pełne serwery.
Protokół MQTT zapewnia uproszczoną metodę przesyłania wiadomości przy użyciu modelu publikowania/subskrybowania. Dzięki temu nadaje się do przesyłania wiadomości w Internecie rzeczy, takich jak czujniki o niskim poborze mocy lub urządzenia mobilne, takie jak telefony, komputery wbudowane lub mikrokontrolery.
Projekt Mosquitto dostarcza również bibliotekę C do implementacji klientów MQTT oraz bardzo popularnych klientów MQTT wiersza poleceń mosquitto_pub i mosquitto_sub.
Krok 4: Przepływ danych w całym projekcie
Na powyższym obrazku węzły są
- WęzełMCU
- Malina PI
- ESP8266
NodeMCU to część czujnikowa zielonego domu, a ESP8266 to część uruchamiająca, która dostarcza wodę, gdy ziemia potrzebuje wody zgodnie z czujnikami.
Raspberry PI zawiera Mosquitto Broker i klienta Pythona, który subskrybuje wiadomości przychodzące od MQTT Broker i przechowuje dane na serwerze SQL.
Krok 5: Połączenie czujników z NodeMCU
Czujnik temperatury i wilgotności DHT11 oraz czujnik wilgotności wody mogą pracować przy napięciu 3,3 V.
NodeMCU nie może zapewnić więcej niż 3,3 wolta. Dzięki temu czujniki mogą być bezpośrednio połączone z płytką mikrokontrolera NodeMCU.
Krok 6: Podłączanie zatapialnej pompy wodnej z ESP8266
Zatapialna pompa wodna służy do dostarczania wody w razie potrzeby.
Pompa wody potrzebuje do pracy zasilania 5 V.
Do podłączenia silnika potrzebny jest przekaźnik jednokanałowy. Gdy pin GPIO2 ESP8266 jest aktywowany, przekaźnik włącza się i automatycznie dostarcza wodę za pomocą zanurzalnej pompy wodnej.
Tutaj zewnętrzne zasilanie jest dostarczane do płyty ESP8266, przekaźnika i zatapialnej pompy wodnej.
Moje kompletne połączenie sprzętowe znajduje się na powyższym obrazku.
Krok 7: Instalacja Mosquitto Broker i uruchomienie programu Python w Raspberry Pi
Poniżej przedstawiono kroki instalacji brokera Mosquitto w Raspberry PI
Otwórz terminal i wpisz następujące polecenia
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
aktualizacja sudo apt-get
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Powinien automatycznie uruchomić komara.
Aby zatrzymać i uruchomić usługę, której potrzebowałem
usługa sudo zatrzymuje komary
usługa sudo uruchamia komara
Większość stron, które odkryłem, używa tego formatu.
sudo /etc/init.d/mosquitto stop
Krok 8: Jak działa MQTT?
MQTT to jeden z najczęściej używanych protokołów w projektach IoT. Oznacza transport telemetrii kolejkowania wiadomości.
Ponadto został zaprojektowany jako lekki protokół przesyłania wiadomości, który wykorzystuje operacje publikowania/subskrybowania do wymiany danych między klientami a serwerem. Co więcej, jego mały rozmiar, niskie zużycie energii, zminimalizowane pakiety danych i łatwość implementacji sprawiają, że protokół ten jest idealny dla świata „maszyna-maszyna” lub „internetu rzeczy”.
Jak każdy inny protokół internetowy, MQTT opiera się na klientach i serwerze. Podobnie serwer to facet, który jest odpowiedzialny za obsługę żądań klienta o odbieranie lub wysyłanie danych między sobą. Serwer MQTT nazywa się brokerem, a klienci to po prostu podłączone urządzenia. Tak więc:
* Gdy urządzenie (klient) chce przesłać dane do brokera, nazywamy tę operację „publikacją”.
* Gdy urządzenie (klient) chce otrzymać dane od brokera, nazywamy tę operację „subskrypcją”.
Krok 9: Programowanie NodeMCU i ESP8266
Poniżej znajduje się kod źródłowy dla płyty mikrokontrolera NodeMCU i ESP8266
Krok 10: Projektowanie strony internetowej i łączenie się z bazą danych SQL
Strona internetowa została zaprojektowana w języku HTML, CSS i PHP.
PHP służy do wyodrębniania odczytów czujników z bazy danych i wyświetlania ich na stronie HTML.
Sercem tego projektu jest program Python.
Prace, które wykonuje program Pythona, są następujące.
- Zapisuje się do tematu, w którym czujnik wysyła odczyty czujnika.
- Publikuje polecenie włączenia/wyłączenia pompy wodnej do brokera MQTT.
- Przechowuje odczyt czujnika w bazie danych SQL.
Tutaj w moim przypadku program python i baza danych SQL są obecne w laptopie. Strona internetowa działająca na lokalnym hoście.
Poniżej znajduje się kod źródłowy mojego programu Pythona.
Krok 11: Zakończ pracę
Poniżej przedstawiono kroki, w których proces przebiega.
- NodeMCU działa jako część czujnikowa i odczytuje temperaturę, wilgotność i poziom wilgotności gleby.
- Wysyła odczyty do brokera MQTT z tematem „Temat 1”
- W laptopie uruchomiony program python i subskrybuje temat "Temat 1" z brokerem MQTT.
- Gdy NodeMCU wysyła odczyty, broker Mosquitto MQTT natychmiast wysyła dane do programu Pythona.
- Następnie program Python oblicza, czy w Zielonym Domu jest potrzebna woda. Następnie zapisuje odczyty w bazie danych SQL.
- Jeśli woda jest potrzebna w Zielonym Domu, program pytona publikuje komunikat o włączeniu/wyłączeniu pompy wodnej do brokera Mosquitto MQTT z tematem „Temat 2”
- ESP8266 działa jako siłownik. Zapisuje się w temacie "Temat 2", w którym program python publikuje wiadomość. Gdy program Pythona opublikuje jakąkolwiek wiadomość, wiadomość natychmiast zostanie przeniesiona do ESP8266. Zgodnie z komunikatem on/off włączał/wyłączał zatapialną pompę wody.
- Ostatnia faza wyświetlania odczytów na żywo na stronie internetowej. Strona internetowa pobiera dane z bazy SQL, w której program python przechowuje dane bezpośrednio i wyświetla odczyty na stronie.
Zalecana:
Automatyzacja szklarni z LoRa! (Część 2) -- Zmotoryzowany otwieracz do okien: 6 kroków (ze zdjęciami)
Automatyzacja szklarni z LoRa! (Część 2) || Zmotoryzowany otwieracz do okien: W tym projekcie pokażę, jak stworzyłem zmotoryzowany otwieracz do okien do mojej szklarni. Oznacza to, że pokażę ci, jakiego silnika użyłem, jak zaprojektowałem rzeczywisty układ mechaniczny, jak napędzam silnik i wreszcie, jak użyłem Arduino LoRa
Monitorowanie szklarni za pomocą IOT: 5 kroków
Monitorowanie szklarni za pomocą IOT: Jeśli chodzi o rolnictwo, monitorowanie temperatury i; wilgotność roślin jest ważnym czynnikiem ich przetrwania. Obecnie ludzie używają termometrów przymocowanych do szklarni, aby rolnicy mogli mierzyć temperaturę. Jednak ta ręczna aplikacja
Automatyzacja szklarni z LoRa! (Część 1) -- Czujniki (temperatura, wilgotność, wilgotność gleby): 5 kroków
Automatyzacja szklarni z LoRa! (Część 1) || Czujniki (temperatura, wilgotność, wilgotność gleby): W tym projekcie pokażę, jak zautomatyzowałem szklarnię. Oznacza to, że pokażę Ci, jak zbudowałem szklarnię i jak podłączyłem elektronikę energetyczną i automatykę. Pokażę ci również, jak zaprogramować płytkę Arduino, która używa L
Skrzynka czujników do szklarni: 5 kroków
Pudełko z czujnikami do szklarni: Hej. Chcę zaprezentować szerokiemu społeczeństwu jeszcze jeden mój projekt. Projekt ma na celu zautomatyzowanie szklarni, którą zbudowałem na moim podwórku. To pierwszy krok – stworzenie kompleksu czujników do szklarni. W przyszłości, w oparciu o
Hydroponiczny system monitorowania i kontroli szklarni: 5 kroków (ze zdjęciami)
Hydroponiczny system monitorowania i kontroli szklarni: W tej instrukcji pokażę, jak zbudować hydroponiczny system monitorowania i kontroli szklarni. Pokażę wybrane komponenty, schemat elektryczny budowy obwodu oraz szkic Arduino użyty do zaprogramowania Seeeda