Spisu treści:

IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT: 17 kroków (ze zdjęciami)
IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT: 17 kroków (ze zdjęciami)

Wideo: IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT: 17 kroków (ze zdjęciami)

Wideo: IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT: 17 kroków (ze zdjęciami)
Wideo: Zautomatyzowany system magazynowania wykorzystujący czytnik RFID 2024, Lipiec
Anonim
IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT
IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT
IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT
IoT APIS V2 - autonomiczny zautomatyzowany system nawadniania roślin z obsługą IoT

Ten projekt jest ewolucją mojego poprzedniego instruktażu: APIS - Zautomatyzowany System Nawadniania Roślin

Używam APIS od prawie roku i chciałem ulepszyć poprzedni projekt:

  1. Możliwość zdalnego monitorowania zakładu. W ten sposób ten projekt stał się kompatybilny z Internetem Rzeczy.
  2. Łatwa do wymiany sonda wilgotności gleby. Przeszedłem przez trzy różne projekty sondy wilgotności i bez względu na to, jakiego materiału użyłem, prędzej czy później uległa erozji. Tak więc nowy projekt miał trwać jak najdłużej i być szybko i łatwo wymieniany.
  3. Poziom wody w wiadrze. Chciałem móc powiedzieć, ile wody jest jeszcze w wiadrze i przestać podlewać, gdy wiadro jest puste.
  4. Lepszy wygląd. Szare pudełko projektowe było dobrym początkiem, ale chciałem stworzyć coś, co wyglądało trochę lepiej. Będziesz sędzią, czy udało mi się osiągnąć ten cel…
  5. Autonomia. Chciałem, aby nowy system był autonomiczny pod względem mocy i/lub dostępności internetu.

Powstały projekt jest nie mniej konfigurowalny niż jego poprzednik i posiada dodatkowe przydatne funkcje.

Chciałem również wykorzystać moją nowo nabytą drukarkę 3D, więc niektóre części będą musiały zostać wydrukowane.

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy

Do zbudowania IoT APIS v2 potrzebne będą następujące komponenty:

  1. Płytka rozwojowa WIFI NodeMcu Lua ESP8266 ESP-12E - na banggood.com
  2. SODIAL(R) 3-pinowy moduł do pomiaru odległości z czujnikiem ultradźwiękowym, podwójny przetwornik, 3-pinowy na płytce - na amazon.com
  3. DC 3V-6V 5V Mała zatapialna pompa wodna Pompa akwariowa do akwarium - na ebay.com
  4. Trójkolorowa dioda LED - na amazon.com
  5. Tablica Vero - na amazon.com
  6. Tranzystor PN2222 - na amazon.com
  7. Plastikowe śruby, śruby i nakrętki
  8. Sprzęt i materiały lutownicze
  9. Przewody, rezystory, nagłówki i inne różne elementy elektroniczne
  10. Pusty słoik Tropicana OJ 2.78 QT
  11. 2 gwoździe ocynkowane

Krok 2: Ogólny projekt

Ogólny projekt
Ogólny projekt
Ogólny projekt
Ogólny projekt

Ogólny projekt składa się z następujących elementów:1. Sonda wilgotności gleby i obudowa do nawadniania roślin (łącznie - wydruk 3d)2. Rury i okablowanie3. Czujnik wycieku wody z tacy (druk 3d)4. Moduł sterujący zamontowany na górze słoika OJ (umieszczony i zamknięty w pudełku z nadrukiem 3D)5. Zanurzona pompa wodna6. Szkic węzła MCU7. Konfiguracja Internetu Rzeczy8. Zasilanie: USB przez gniazdo zasilania -LUB-panel słoneczny (tryb autonomiczny)Omówmy każdy komponent indywidualnie

Krok 3: Zanurzona pompa wodna

Zanurzona pompa wodna
Zanurzona pompa wodna
Zanurzona pompa wodna
Zanurzona pompa wodna

Zanurzona pompa wody znajduje się poniżej uchwytu słoika OJ (aby uniknąć zakłóceń w pomiarze poziomu wody). Pompka umieszczona jest w taki sposób, aby „unosiła się” około 2-3 mm nad dnem słoika, aby umożliwić swobodny przepływ wody do wlotu.

Ponieważ pompa powinna być całkowicie zanurzona do normalnej pracy, minimalny poziom wody w słoiku powinien wynosić około 3 cm (około 1 cala).

Krok 4: Moduł sterujący zamontowany na górze OJ Jar

Moduł sterujący zamontowany na górze OJ Jar
Moduł sterujący zamontowany na górze OJ Jar
Moduł sterujący zamontowany na górze OJ Jar
Moduł sterujący zamontowany na górze OJ Jar
Moduł sterujący zamontowany na górze OJ Jar
Moduł sterujący zamontowany na górze OJ Jar

Jako pojemnik na wodę wybrałem standardowy duży słoik Tropicana OJ. Są one powszechnie dostępne i standardowe.

Moduł kontrolny jest umieszczany na górze słoika po odkręceniu oryginalnego kranu.

Platforma, na której znajduje się moduł sterujący, jest wydrukowana w 3D. Plik STL znajduje się w sekcjach plików i szkiców tej instrukcji.

Pompa, rurki i przewody są poprowadzone przez uchwyt słoika Tropicana, aby zwolnić miejsce na pomiar poziomu wody.

Poziom wody jest mierzony przez ultradźwiękowy czujnik odległości zintegrowany z platformą modułu sterującego. Poziom wody określa się jako różnicę pomiaru odległości pustego słoika i słoika napełnionego do określonego poziomu wodą.

Moduł sterujący i czujnik US są zakryte drukowaną „kopułą” 3D. Plik STL kopuły znajduje się w sekcji plików i szkiców tej instrukcji.

Krok 5: Moduł sterujący - schematy

Moduł sterowania - schematy
Moduł sterowania - schematy
Moduł sterowania - schematy
Moduł sterowania - schematy

Schematy modułu sterującego (w tym lista komponentów) i pliki projektowe płytki prototypowej znajdują się w sekcji plików i szkiców niniejszej instrukcji.

UWAGA: Praca z NodeMCU okazała się trudnym zadaniem pod względem dostępnych pinów GPIO. Prawie wszystkie GPIO obsługują szereg funkcji, przez co są albo niedostępne do użytku, albo niemożliwe do użycia w trybie głębokiego uśpienia (ze względu na specjalne funkcje, które pełnią podczas procesu rozruchu). W końcu udało mi się znaleźć równowagę między użyciem GPIO a moimi wymaganiami, ale zajęło to kilka frustrujących iteracji.

Na przykład wiele GPIO pozostaje „gorących” podczas głębokiego snu. Podłączenie LED do tych, pokonało cel redukcji zużycia energii podczas głębokiego snu.

Krok 6: Czujnik wycieku wody z tacy

Czujnik wycieku wody z tacy
Czujnik wycieku wody z tacy
Czujnik wycieku wody z tacy
Czujnik wycieku wody z tacy
Czujnik wycieku wody z tacy
Czujnik wycieku wody z tacy

Jeśli twoja doniczka ma otwór przelewowy na dnie, istnieje ryzyko, że woda przeleje się do dolnej tacy i rozleje się na podłogę (półkę lub cokolwiek, na czym znajduje się twoja roślina).

Zauważyłem, że na pomiar wilgotności gleby duży wpływ ma położenie sondy, gęstość gleby, odległość od ujścia wody itp. Innymi słowy, pomiar wilgotności gleby może być szkodliwy dla domu, jeśli woda przeleje się do dolnej tacy i rozleje się.

Czujnik przelewu to przekładka między garnkiem a dolną tacą, z dwoma przewodami owiniętymi wokół prętów. Gdy woda wypełni tackę, dwa przewody łączą się, sygnalizując mikrokontrolerowi, że woda jest w dolnej tacy.

W końcu woda wyparowuje, a przewody zostają odłączone.

Dolna taca jest drukowana w 3D. Plik STL jest dostępny w sekcji plików i szkiców tej instrukcji.

Krok 7: Sonda wilgotności gleby i obudowa do nawadniania

Image
Image
Sonda wilgotności gleby i obudowa do nawadniania
Sonda wilgotności gleby i obudowa do nawadniania
Sonda wilgotności gleby i obudowa do nawadniania
Sonda wilgotności gleby i obudowa do nawadniania

Zaprojektowałem sześciokątną obudowę drukowaną w 3D jako połączoną sondę wilgotności gleby i obudowę do nawadniania.

Plik do drukowania 3d (STL) jest dostępny w sekcji plików i szkiców tej instrukcji.

Obudowa składa się z dwóch części, które należy skleić. Zmodyfikowany kolczasty łącznik jest przyklejony do boku obudowy, aby przymocować rurki.

Do umieszczenia ocynkowanych gwoździ przewidziano dwa otwory o średnicy 4,5 mm, służące jako sondy wilgotności gleby. Połączenie z mikrokontrolerem uzyskuje się za pomocą metalowych przekładek dobranych specjalnie do gwoździ.

Projektowanie 3d odbywa się za pomocą www.tinkercad.com, które jest świetnym i łatwym w użyciu, ale potężnym narzędziem do projektowania 3d.

UWAGA: Możesz zapytać, dlaczego po prostu nie użyłem jednej z gotowych sond gruntowych? Odpowiedź brzmi: folia na tych rozpuści się w ciągu kilku tygodni. W rzeczywistości nawet w ograniczonym czasie gwoździe są pod napięciem, nadal ulegają erozji i muszą być wymieniane przynajmniej raz w roku. Powyższa konstrukcja umożliwia wymianę gwoździ w ciągu kilku sekund.

Krok 8: Rurki i okablowanie

Rury i okablowanie
Rury i okablowanie

Woda jest dostarczana do planu za pomocą półprzezroczystych rurek z supermiękkiej gumy lateksowej (o średnicy wewnętrznej 1/4" i średnicy zewnętrznej 5/16").

Wylot pompy wymaga większych rurek i adaptera: Odporna chemicznie polipropylenowa złączka kolczasta, prosta redukcyjna do rurki o średnicy wewnętrznej 1/4" x 1/8".

Wreszcie, odporne na chemikalia polipropylenowe złącze kolczaste, proste do rurki o średnicy wewnętrznej 1/8 , służy jako łącznik do obudowy do podlewania.

Krok 9: Szkic NodeMCU

Szkic węzła MCU
Szkic węzła MCU

Szkic NodeMCU implementuje kilka funkcji IoT APIS v2:

  1. Łączy się z istniejącą siecią WiFi -LUB- działa jako punkt dostępu WiFi (w zależności od konfiguracji)
  2. Wysyła zapytania do serwerów NTP w celu uzyskania czasu lokalnego
  3. Wdraża webserwer do monitorowania instalacji oraz regulacji parametrów nawadniania i sieci
  4. Mierzy wilgotność gleby, wycieki wody z dolnej tacy, poziom wody w słoiku i zapewnia wizualne wskazanie za pomocą 3-kolorowej diody LED
  5. Wdraża tryby pracy online i oszczędzania energii
  6. Zapisuje informacje o każdym przebiegu nawadniania lokalnie w wewnętrznej pamięci flash

Krok 10: Szkic NodeMCU - WiFi

Szkic NodeMCU - WiFi
Szkic NodeMCU - WiFi

Domyślnie IoT APIS v2 utworzy lokalny punkt dostępu WiFi o nazwie „Plant_XXXXXX”, gdzie XXXXXX to numer seryjny układu ESP8266 na pokładzie NodeMCU.

Możesz uzyskać dostęp do wbudowanego serwera internetowego za pośrednictwem adresu URL: https://plant.io wewnętrzny serwer DNS połączy Twoje urządzenie ze stroną statusu APIS.

Ze strony stanu możesz przejść do strony parametrów nawadniania i strony parametrów sieci, gdzie możesz połączyć IoT APIS v2 z siecią Wi-Fi i rozpocząć raportowanie stanu do chmury.

IoT APIS obsługuje tryby działania online i oszczędzania energii:

  1. W trybie online IoT APIS utrzymuje połączenie WiFi przez cały czas, dzięki czemu możesz w każdej chwili sprawdzić stan swojej instalacji
  2. W trybie oszczędzania energii IoT APIS okresowo sprawdza wilgotność gleby i poziom wody, przestawiając urządzenie w tryb „głębokiego uśpienia”, co znacznie zmniejsza jego zużycie energii. Jednak urządzenie nie jest dostępne przez cały czas online, a parametry można zmienić tylko podczas uruchamiania urządzenia (obecnie co 30 minut, zgodnie z godzinowym/półgodzinnym zegarem czasu rzeczywistego). Urządzenie pozostanie online przez 1 minutę co 30 minut, aby umożliwić zmiany konfiguracji, a następnie przejdzie w tryb głębokiego uśpienia. Jeśli użytkownik połączy się z urządzeniem, czas "włączenia" wydłuża się do 3 minut dla każdego połączenia.

Gdy urządzenie jest połączone z lokalną siecią Wi-Fi, jego adres IP jest zgłaszany do serwera w chmurze IoT i widoczny na mobilnym urządzeniu monitorującym.

Krok 11: Szkic NodeMCU - NTP

Szkic NodeMCU - NTP
Szkic NodeMCU - NTP

IoT APIS v2 używa protokołu NTP do uzyskiwania czasu lokalnego z serwerów czasu NIST. Właściwy czas służy do określenia, czy urządzenie powinno przejść w tryb „nocny”, tj. unikać uruchamiania pompy lub migania diody LED.

Pora nocna jest konfigurowalna osobno dla dni roboczych i weekendowego poranka.

Krok 12: Szkic NodeMCU - lokalny serwer sieciowy

Szkic NodeMCU - lokalny serwer sieciowy
Szkic NodeMCU - lokalny serwer sieciowy
Szkic NodeMCU - lokalny serwer sieciowy
Szkic NodeMCU - lokalny serwer sieciowy
Szkic NodeMCU - lokalny serwer sieciowy
Szkic NodeMCU - lokalny serwer sieciowy

IoT APIS v2 implementuje lokalny serwer sieciowy do raportowania stanu i zmian konfiguracji. Strona główna zawiera informacje o aktualnej wilgotności i poziomie wody, obecności przelewowej wody w dolnej tacy oraz statystykach ostatniego przebiegu nawadniania. Strona konfiguracji sieci (dostępna za pomocą przycisku konfiguracji sieci) umożliwia połączenie z lokalną siecią Wi-Fi i przełączanie między trybami Online i Oszczędzanie energii. (Zmiany w konfiguracji sieci spowodują zresetowanie urządzenia) Strona konfiguracji nawadniania (dostępna za pomocą przycisku konfiguracji nawadniania) umożliwia zmianę parametrów nawadniania (wilgotność gleby do rozpoczęcia/zatrzymania nawadniania, czas trwania nawadniania i przerwy w nasyceniu między cyklami, liczba cykli itd.) Pliki HTML serwera WWW znajdują się w folderze danych szkicu IoT APIS Arduino IDE. Należy je wgrać do pamięci flash NodeMCU jako system plików SPIFF za pomocą narzędzia „ESP8266 Sketch Data Upload” znajdującego się tutaj.

Krok 13: Szkic NodeMCU - lokalny dziennik nawadniania i dostęp do wewnętrznego systemu plików

Szkic NodeMCU - lokalny dziennik nawadniania i dostęp do wewnętrznego systemu plików
Szkic NodeMCU - lokalny dziennik nawadniania i dostęp do wewnętrznego systemu plików

W przypadku, gdy łączność sieciowa nie jest dostępna, system IoT APIS v2 rejestruje lokalnie wszystkie działania związane z nawadnianiem.

Aby uzyskać dostęp do dziennika, połącz się z urządzeniem i przejdź do strony „/edit”, a następnie pobierz plik watering.log. Ten plik zawiera historię wszystkich przebiegów nawadniania od momentu rozpoczęcia rejestrowania.

Przykład takiego pliku dziennika (w formacie rozdzielanym tabulatorami) jest dołączony do tego kroku.

UWAGA: Strona pobierania nie jest dostępna, gdy uruchomiony jest interfejs IoT APIS v2 w trybie punktu dostępu (z powodu zależności od internetowej biblioteki Java Script).

Krok 14: Szkic NodeMCU - wilgotność gleby, wyciek wody w dolnej tacy, poziom wody, 3 kolorowe diody LED

Image
Image
Szkic NodeMCU - wilgotność gleby, wyciek wody w dolnej tacy, poziom wody, 3 kolorowe diody LED
Szkic NodeMCU - wilgotność gleby, wyciek wody w dolnej tacy, poziom wody, 3 kolorowe diody LED
Szkic NodeMCU - wilgotność gleby, wyciek wody w dolnej tacy, poziom wody, 3 kolorowe diody LED
Szkic NodeMCU - wilgotność gleby, wyciek wody w dolnej tacy, poziom wody, 3 kolorowe diody LED

Pomiar wilgotności gleby opiera się na tej samej zasadzie, co oryginalny APIS. Proszę odnieść się do tej instrukcji, aby uzyskać szczegółowe informacje.

Wycieki tacki na wodę są wykrywane przez chwilowe przyłożenie napięcia do przewodów znajdujących się pod garnkiem za pomocą wewnętrznych rezystorów PULLUP. Jeśli wynikowy stan PIN jest NISKI, oznacza to, że na tacy jest woda. Stan PIN WYSOKI wskazuje, że obwód jest „przerwany”, dlatego w dolnej tacy nie ma wody.

Poziom wody określa się mierząc odległość od góry słoika do powierzchni wody i porównując ją z odległością do dna pustego słoika. Proszę zwrócić uwagę na zastosowanie czujnika 3-pinowego! Są droższe niż czteropinowe czujniki HC-SR04. Niestety zabrakło mi GPIO na NodeMCU i musiałem przeciąć każdy przewód, jaki mogłem, aby projekt działał tylko na jednym NodeMCU bez dodatkowych obwodów.

3 kolorowe diody LED służą do wizualnego wskazywania stanu APIS:

  1. Miga średnio na ZIELONO - łączenie z siecią WiFi
  2. Szybko miga na ZIELONO - odpytywanie serwera NTP
  3. Krótkie stałe ZIELONE - połączono z WiFi i pomyślnie uzyskano aktualny czas z NTP
  4. Krótkie stałe BIAŁE - inicjalizacja sieci zakończona
  5. Szybko miga na BIAŁY - inicjowanie trybu punktu dostępu
  6. Szybko miga na NIEBIESKO - podlewanie
  7. Umiarkowanie miga na NIEBIESKO - nasycenie
  8. Przez chwilę stałe BURSZTYNOWE, a następnie przez chwilę stałe CZERWONE - nie można uzyskać czasu z NTP
  9. Przez chwilę świeci na BIAŁE podczas dostępu do wewnętrznego serwera WWW

Dioda nie działa w trybie „nocnym”. Tryb nocny można było wiarygodnie określić tylko wtedy, gdy urządzenie było w stanie uzyskać czas lokalny z serwerów NTP przynajmniej raz (lokalny zegar czasu rzeczywistego będzie używany do momentu nawiązania następnego połączenia z NTP)

Przykład funkcji LED jest dostępny na YouTube tutaj.

Krok 15: Energia słoneczna, Power Bank i autonomiczne działanie

Energia słoneczna, Power Bank i autonomiczna praca
Energia słoneczna, Power Bank i autonomiczna praca
Energia słoneczna, Power Bank i autonomiczna praca
Energia słoneczna, Power Bank i autonomiczna praca
Energia słoneczna, Power Bank i autonomiczna praca
Energia słoneczna, Power Bank i autonomiczna praca

Jedną z idei IoT APIS v2 była zdolność do autonomicznego działania.

Obecny projekt wykorzystuje panel słoneczny i tymczasowy bank mocy 3600 mAh, aby to osiągnąć.

  1. Panel słoneczny jest dostępny na amazon.com
  2. Power bank jest również dostępny na amazon.com

Panel słoneczny również ma wbudowaną baterię 2600 mAh, ale nie był w stanie utrzymać całodobowej pracy APIS nawet w trybie oszczędzania energii (podejrzewam, że bateria nie radzi sobie dobrze z jednoczesnym ładowaniem i rozładowywaniem). Połączenie dwóch akumulatorów wydaje się zapewniać odpowiednią moc i umożliwia doładowanie obu akumulatorów w ciągu dnia. Panel słoneczny ładuje power bank, a power bank zasila urządzenie APIS.

Proszę zanotować:

Te składniki są opcjonalne. Możesz po prostu zasilać urządzenie dowolnym adapterem USB, który zapewnia prąd 1A.

Krok 16: Integracja IoT - Blynk

Integracja z Internetem Rzeczy - Blynk
Integracja z Internetem Rzeczy - Blynk
Integracja z Internetem Rzeczy - Blynk
Integracja z Internetem Rzeczy - Blynk
Integracja z Internetem Rzeczy - Blynk
Integracja z Internetem Rzeczy - Blynk

Jednym z celów nowego projektu była możliwość zdalnego monitorowania wilgotności gleby, poziomu wody i innych parametrów.

Wybrałem Blynk (www.blynk.io) jako platformę IoT ze względu na łatwość obsługi i atrakcyjny wygląd.

Ponieważ mój szkic jest oparty na kooperacyjnej bibliotece wielozadaniowej TaskScheduler, nie chciałem używać bibliotek urządzeń Blynk (nie są one włączone dla TaskScheduler). Zamiast tego użyłem Blynk HTTP RESTful API (dostępne tutaj).

Konfiguracja aplikacji jest tak intuicyjna, jak to tylko możliwe. Proszę postępować zgodnie z załączonymi zrzutami ekranu.

Krok 17: Szkice i pliki

Szkice i pliki
Szkice i pliki

Szkic IoT APIS v2 znajduje się na githubie tutaj: Sketch

Kilka bibliotek używanych przez szkic znajduje się tutaj:

  1. TaskScheduler - wielozadaniowa biblioteka kooperacyjna dla Arduino i esp8266
  2. AvgFilter - implementacja liczb całkowitych filtra Średnia do wygładzania danych z czujników
  3. RTCLib - implementacja sprzętowego i programowego Zegara Czasu Rzeczywistego (zmodyfikowany przeze mnie)
  4. Czas - Modyfikacje biblioteki Czas
  5. Strefa czasowa - biblioteka obsługująca obliczanie stref czasowych

NOTATKA:

Arkusze danych, dokumentacja pinów i pliki 3D znajdują się w podfolderze „pliki” głównego szkicu.

Pliki HTML dla wbudowanego serwera WWW należy wgrać do pamięci flash NODE MCU za pomocą wtyczki arduino-esp8266fs-plugin (która tworzy plik systemu plików z podfolderu „data” głównego folderu szkicu i przesyła go do pamięci flash)

Konkurs Ogrodnictwa Wewnętrznego 2016
Konkurs Ogrodnictwa Wewnętrznego 2016
Konkurs Ogrodnictwa Wewnętrznego 2016
Konkurs Ogrodnictwa Wewnętrznego 2016

Drugie miejsce w konkursie Indoor Gardening 2016

Zalecana: