Obsah:

IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT: 17 kroků (s obrázky)
IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT: 17 kroků (s obrázky)

Video: IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT: 17 kroků (s obrázky)

Video: IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT: 17 kroků (s obrázky)
Video: Multiple Control Home Automation project for SALE! #esp32 #iot 2024, Listopad
Anonim
IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT
IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT
IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT
IoT APIS V2 - autonomní automatizovaný systém zavlažování rostlin s podporou IoT

Tento projekt je evolucí mého předchozího pokynu: APIS - Automated Plant Irrigation System

APIS používám téměř rok a chtěl jsem vylepšit předchozí design:

  1. Možnost vzdáleného monitorování závodu. Díky tomu se tento projekt stal povoleným IoT.
  2. Snadno vyměnitelná sonda vlhkosti půdy. Prošel jsem třemi různými provedeními vlhkostní sondy a bez ohledu na to, jaký materiál jsem použil, dříve nebo později erodoval. Nový design měl tedy vydržet co nejdéle a měl být rychle a snadno vyměněn.
  3. Hladina vody v kbelíku. Chtěl jsem být schopen zjistit, kolik vody je v kbelíku ještě k dispozici, a zastavit zalévání, když je kbelík prázdný.
  4. Lepší vzhled. Šedý rámeček projektu byl dobrý začátek, ale chtěl jsem vytvořit něco, co vypadalo o něco lépe. Budeš soudcem, pokud jsem byl schopen dosáhnout tohoto cíle …
  5. Autonomie. Chtěl jsem, aby nový systém byl autonomní, pokud jde o výkon a/nebo dostupnost internetu.

Výsledný projekt není méně konfigurovatelný než jeho předchůdce a má další užitečné funkce.

Chtěl jsem také využít nově získanou 3D tiskárnu, takže některé části bude nutné vytisknout.

Krok 1: Hardware

Hardware
Hardware
Hardware
Hardware

K sestavení IoT APIS v2 budete potřebovat následující komponenty:

  1. Vývojová deska WIFI NodeMcu Lua ESP8266 ESP -12E WIFI - na banggood.com
  2. Modul pro měření vzdálenosti ultrazvukového senzoru SODIAL (R) se 3 vývody, duální převodník, třípinový na desce-na amazon.com
  3. DC 3V -6V 5V Malé ponorné vodní čerpadlo Akvarijní čerpadlo na ryby - na ebay.com
  4. Tříbarevná LED - na amazon.com
  5. Deska Vero - na amazon.com
  6. Tranzistor PN2222 - na amazon.com
  7. Plastové šrouby, šrouby a matice
  8. Pájecí zařízení a zásoby
  9. Dráty, odpory, záhlaví a další různé elektronické součástky
  10. Prázdná nádoba Tropicana OJ 2.78 QT
  11. 2 pozinkované hřebíky

Krok 2: Celkový design

Celkový design
Celkový design
Celkový design
Celkový design

Celkový design se skládá z následujících komponent: 1. Sonda vlhkosti půdy a zavlažovací zařízení (kombinované - 3D tisk) 2. Hadice a vedení 3. Senzor úniku vody ze zásobníku (3D tisk) 4. Řídicí modul namontovaný na horní části nádoby OJ (umístěný a uzavřený v 3D tištěném pouzdře) 5. Ponorné vodní čerpadlo 6. NodeMCU skica 7. Konfigurace IoT 8. Napájení: USB přes elektrickou zásuvku - NEBO - solární panel (autonomní režim) Pojďme diskutovat o každé součásti samostatně

Krok 3: Ponorné vodní čerpadlo

Ponorné vodní čerpadlo
Ponorné vodní čerpadlo
Ponorné vodní čerpadlo
Ponorné vodní čerpadlo

Ponorné vodní čerpadlo je umístěno pod držadlem nádoby OJ (aby nedocházelo k rušení měření hladiny vody). Čerpadlo je umístěno tak, že se „vznáší“asi 2–3 mm nad dnem nádoby, aby umožnilo volný průtok vody do sání.

Protože by čerpadlo mělo být pro normální provoz zcela ponořeno, minimální hladina vody ve sklenici by měla být kolem 3 cm (asi 1 palec).

Krok 4: Řídicí modul namontovaný na horní část OJ Jar

Řídicí modul namontovaný na horní straně OJ Jar
Řídicí modul namontovaný na horní straně OJ Jar
Řídicí modul namontovaný na horní část OJ Jar
Řídicí modul namontovaný na horní část OJ Jar
Řídicí modul namontovaný na horní část OJ Jar
Řídicí modul namontovaný na horní část OJ Jar

Jako nádobu na vodu jsem vybral standardní velkou nádobu Tropicana OJ. Ty jsou široce dostupné a standardní.

Po odstranění původního kohoutku se řídicí modul umístí na vrch nádoby.

Platforma, na které je řídicí modul umístěn, je 3D vytištěna. Soubor STL je k dispozici v částech souborů a náčrtků tohoto pokynu.

Čerpadlo, potrubí a kabeláž jsou vedeny držadlem nádoby Tropicana, aby se uvolnil prostor pro měření hladiny vody.

Hladina vody se měří pomocí ultrazvukového senzoru vzdálenosti integrovaného s platformou řídicího modulu. Hladina vody se určuje jako rozdíl v měření vzdálenosti prázdné nádoby a nádoby naplněné vodou na určitou úroveň.

Řídicí modul a americký senzor jsou pokryty 3D vytištěnou „kopulí“. Soubor STL kopule je k dispozici v části soubory a náčrty tohoto pokynu.

Krok 5: Řídicí modul - schémata

Řídicí modul - schémata
Řídicí modul - schémata
Řídicí modul - schémata
Řídicí modul - schémata

Schémata pro řídicí modul (včetně seznamu komponent) a soubory návrhů desek jsou uvedeny v části soubory a náčrty tohoto pokynu.

POZNÁMKA: Práce s NodeMCU se ukázala jako náročný úkol, pokud jde o dostupné piny GPIO. Téměř všechna GPIO obsluhují řadu funkcí, což je činí buď nedostupnými pro použití, nebo je nelze použít v režimu hlubokého spánku (kvůli speciálním funkcím, které hrají během bootovacího procesu). Nakonec se mi podařilo najít rovnováhu mezi používáním GPIO a mými požadavky, ale trvalo to několik frustrujících iterací.

Například řada GPIO zůstává během horkého spánku „horká“. Připojení LED k těm, kteří porazili účel snížení spotřeby energie během hlubokého spánku.

Krok 6: Snímač úniku vody ze zásobníku

Senzor úniku vody ze zásobníku
Senzor úniku vody ze zásobníku
Senzor úniku vody ze zásobníku
Senzor úniku vody ze zásobníku
Senzor úniku vody ze zásobníku
Senzor úniku vody ze zásobníku

Pokud má váš květináč ve spodní části přepadový otvor, pak existuje riziko přetékání vody spodním podnosem a jeho rozlití na podlahu (na které se nachází police nebo cokoli, na čem je vaše rostlina).

Všiml jsem si, že měření vlhkosti půdy je velmi ovlivněno polohou sondy, hustotou půdy, vzdáleností od zavlažovacího otvoru atd. Jinými slovy, procházet vlhkostí půdy může být pro váš domov škodlivé pouze v případě, že voda přetéká spodním zásobníkem a rozlévá se.

Senzor přetečení je mezikus mezi hrncem a spodním zásobníkem se dvěma dráty omotanými kolem tyčí. Když voda naplní zásobník, dva vodiče se spojí, což signalizuje mikrokontroléru, že ve spodním zásobníku je voda.

Nakonec se voda vypaří a dráty se odpojí.

Spodní zásobník je vytištěn 3D. Soubor STL je k dispozici v části soubory a náčrty tohoto pokynu.

Krok 7: Sonda vlhkosti půdy a zavlažovací kryt

Image
Image
Půdní vlhkostní sonda a zavlažovací skříň
Půdní vlhkostní sonda a zavlažovací skříň
Půdní vlhkostní sonda a zavlažovací skříň
Půdní vlhkostní sonda a zavlažovací skříň

Navrhl jsem šestihranný 3D vytištěný kryt jako kombinovanou sondu vlhkosti půdy a zavlažovací komoru.

Soubor 3D tisku (STL) je k dispozici v sekci soubory a náčrty tohoto pokynu.

Pouzdro se skládá ze dvou částí, které je třeba slepit dohromady. Upravená ostnatá armatura je nalepena do boku skříně pro připojení hadic.

K umístění pozinkovaných hřebíků slouží dva otvory o průměru 4,5 mm, které slouží jako sondy vlhkosti půdy. Připojení k mikrokontroléru je dosaženo kovovými distančními vložkami vybranými speciálně pro přizpůsobení hřebíkům.

3D design se provádí pomocí www.tinkercad.com, což je skvělý a snadno použitelný a přesto výkonný nástroj pro 3D návrh.

POZNÁMKA: Můžete se zeptat, proč jsem jednoduše nepoužil jednu z předem vyrobených půdních sond? Odpověď zní: fólie na nich se rozpustí během několika týdnů. Ve skutečnosti jsou hřebíky pod napětím i po omezenou dobu, stále se erodují a je třeba je vyměnit alespoň jednou za rok. Výše uvedený design umožňuje výměnu hřebíků během několika sekund.

Krok 8: Hadice a zapojení

Hadice a elektroinstalace
Hadice a elektroinstalace

Voda je dodávána do plánu pomocí poloprůhledných hadic Super-Soft Latex Rubber (s vnitřním průměrem 1/4 "a vnějším průměrem 5/16").

Výstup čerpadla vyžaduje větší hadičku a adaptér: Polypropylenová ostnatá armatura odolná proti chemikáliím, redukční přímka pro ID trubky 1/4 "x 1/8".

Konečně, polypropylenová ostnatá armatura odolná vůči chemikáliím, přímá pro 1/8 ID zkumavky, slouží jako konektor k zavlažovacímu prostoru.

Krok 9: NodeMCU Sketch

Skica NodeMCU
Skica NodeMCU

Skica NodeMCU implementuje několik funkcí IoT APIS v2:

  1. Připojuje se ke stávající síti WiFi - NEBO - funguje jako přístupový bod WiFi (v závislosti na konfiguraci)
  2. Dotáže se serverů NTP k získání místního času
  3. Implementuje webový server pro monitorování zařízení a úpravu parametrů zavlažování a vytváření sítí
  4. Měří vlhkost půdy, úniky vody ze spodního zásobníku, hladinu vody v nádobě a poskytuje vizuální indikaci pomocí 3 barevných LED diod
  5. Implementuje online a úsporné režimy provozu
  6. Ukládá informace o každém zalévání lokálně do interní paměti flash

Krok 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Standardně IoT APIS v2 vytvoří místní přístupový bod WiFi s názvem „Plant_XXXXXX“, kde XXXXXX je sériové číslo čipu ESP8266 na palubě NodeMCU.

K vestavěnému webovému serveru můžete přistupovat prostřednictvím adresy URL: https://plant.io interní server DNS připojí vaše zařízení ke stavové stránce APIS.

Ze stavové stránky můžete přejít na stránku s parametry zavlažování a stránku s parametry sítě, kde můžete IoT APIS v2 připojit k vaší WiFi síti a začít hlásit stav do cloudu.

Podpora IoT APIS online a režimy úspory energie:

  1. V online režimu IoT APIS udržuje WiFi připojení po celou dobu, takže můžete kdykoli zkontrolovat stav svého zařízení
  2. V úsporném režimu IoT APIS pravidelně kontroluje vlhkost půdy a hladinu vody, přičemž mezi tím přepíná zařízení do režimu „hlubokého spánku“, čímž dramaticky snižuje spotřebu energie. Zařízení však není po celou dobu k dispozici online a parametry lze měnit pouze během doby, kdy se zařízení zapíná (aktuálně každých 30 minut, v souladu s hodinami/půlhodinami hodin reálného času). Zařízení zůstane online po dobu 1 minuty každých 30 minut, aby bylo možné provést změny konfigurace, a poté přejde do režimu hlubokého spánku. Pokud se uživatel připojí k zařízení, doba „up“se prodlouží na 3 minuty pro každé připojení.

Když je zařízení připojeno k místní WiFi síti, je jeho IP adresa hlášena cloudovému serveru IoT a viditelná na mobilním monitorovacím zařízení.

Krok 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 používá protokol NTP k získání místního času z časových serverů NIST. Správný čas se používá k určení, zda by zařízení mělo přejít do „nočního“režimu, tj. Vyhněte se spuštění čerpadla nebo blikání LED.

Noční čas lze konfigurovat samostatně pro pracovní dny a víkendové ráno.

Krok 12: NodeMCU Sketch - Local Web Server

NodeMCU Sketch - Local Web Server
NodeMCU Sketch - Local Web Server
NodeMCU Sketch - Local Web Server
NodeMCU Sketch - Local Web Server
NodeMCU Sketch - Local Web Server
NodeMCU Sketch - Local Web Server

IoT APIS v2 implementuje místní webový server pro hlášení stavu a změny konfigurace. Domovská stránka poskytuje informace o aktuální vlhkosti a hladině vody, přítomnosti přetečené vody ve spodním zásobníku a statistikách posledního zavlažování. Stránka konfigurace sítě (přístupná pomocí tlačítka Konfigurovat síť) poskytuje možnost připojení k místní síti WiFi a přepínání mezi režimy online a úspory energie. (Změny v konfiguraci sítě způsobí reset zařízení) Stránka konfigurace zavlažování (přístupná pomocí tlačítka konfigurace vody) poskytuje možnost změny parametrů zavlažování (vlhkost půdy pro spuštění/zastavení zavlažování, doba trvání zavlažování a pauza nasycení mezi cykly, počet cyklů atd.) Soubory HTML webového serveru jsou umístěny v datové složce skici IoT APIS Arduino IDE. Měly by být nahrány do flash paměti NodeMCU jako souborový systém SPIFF pomocí nástroje "ESP8266 Sketch Data Upload" umístěného zde.

Krok 13: NodeMCU Sketch - místní protokol zavlažování a přístup k internímu systému souborů

NodeMCU Sketch - Local Watering Log and Access to Internal File System
NodeMCU Sketch - Local Watering Log and Access to Internal File System

V případě, že není k dispozici síťové připojení, systém IoT APIS v2 zaznamenává všechny činnosti zavlažování lokálně.

Chcete -li získat přístup k protokolu, připojte se k zařízení, přejděte na stránku '/upravit' a poté si stáhněte soubor watering.log. Tento soubor obsahuje historii všech zavlažovacích běhů od zahájení protokolování.

K tomuto kroku je připojen příklad takového souboru protokolu (ve formátu odděleném tabulátorem).

POZNÁMKA: Stránka ke stažení není k dispozici, když je IoT APIS v2 spuštěn v režimu přístupového bodu (kvůli závislosti na online knihovně Java Script).

Krok 14: NodeMCU Sketch - vlhkost půdy, únik vody ze spodního zásobníku, hladina vody, 3 barevné LED

Image
Image
Skica NodeMCU - vlhkost půdy, únik vody ze spodního zásobníku, hladina vody, 3 barevné LED diody
Skica NodeMCU - vlhkost půdy, únik vody ze spodního zásobníku, hladina vody, 3 barevné LED diody
Skica NodeMCU - vlhkost půdy, únik vody ze spodního zásobníku, hladina vody, 3 barevné LED diody
Skica NodeMCU - vlhkost půdy, únik vody ze spodního zásobníku, hladina vody, 3 barevné LED diody

Měření vlhkosti půdy je založeno na stejném principu jako původní APIS. Podrobnosti najdete v tomto pokynu.

Úniky vody z nádrže jsou detekovány momentálním přivedením napětí na vodiče umístěné pod nádobou pomocí vnitřních odporů PULLUP. Pokud je výsledný stav PIN NÍZKÝ, pak je v zásobníku voda. Stav PIN HIGH indikuje, že obvod je „přerušený“, proto ve spodním zásobníku není voda.

Hladina vody je určena měřením vzdálenosti od horní části nádoby k vodní hladině a porovnáním se vzdáleností ke dnu prázdné nádoby. Vezměte prosím na vědomí použití 3pólového senzoru! Ty jsou dražší než čtyřpinové senzory HC-SR04. Bohužel mi na NodeMCU došel GPIO a musel jsem přestřihnout každý drát, abych mohl, aby design fungoval pouze na jednom NodeMCU bez dalších obvodů.

3 barevné LED diody slouží k vizuální indikaci stavu APIS:

  1. Středně bliká ZELENĚ - připojení k síti WiFi
  2. Rychle bliká ZELENĚ - dotazování na server NTP
  3. Krátké pevné ZELENÉ - připojení k WiFi a získání aktuálního času z NTP úspěšně
  4. Krátké pevné BÍLÉ - inicializace sítě dokončena
  5. Rychle bliká BÍLÁ - spuštění režimu přístupového bodu
  6. Rychle bliká MODRÁ - zalévání
  7. Středně bliká MODRÁ - sytí
  8. Krátce solidní AMBER následovaný krátce solidní ČERVENOU - nelze získat čas z NTP
  9. Krátce pevná BÍLÁ během přístupu na interní webový server

LED nefunguje v „nočním“režimu. Režim NIght lze spolehlivě určit pouze v případě, že zařízení bylo schopno získat místní čas ze serverů NTP alespoň jednou (místní hodiny reálného času budou použity, dokud nebude navázáno další připojení k NTP)

Příklad funkce LED je k dispozici na YouTube zde.

Krok 15: Solární energie, napájecí banka a autonomní provoz

Solární energie, energetická banka a autonomní provoz
Solární energie, energetická banka a autonomní provoz
Solární energie, energetická banka a autonomní provoz
Solární energie, energetická banka a autonomní provoz
Solární energie, energetická banka a autonomní provoz
Solární energie, energetická banka a autonomní provoz

Jednou z myšlenek IoT APIS v2 byla schopnost fungovat autonomně.

Současný design k tomu využívá solární panel a prozatímní 3600 mAh energetickou banku.

  1. Solární panel je k dispozici na amazon.com
  2. Power bank je také k dispozici na amazon.com

Solární panel má také vestavěnou baterii 2 600 mAh, ale nebyl schopen udržet 24hodinový provoz APIS ani v režimu úspory energie (domnívám se, že baterie nevyhovuje současnému nabíjení a vybíjení). Zdá se, že kombinace dvou baterií poskytuje dostatečný výkon a umožňuje dobíjení obou baterií během dne. Solární panel nabíjí powerbanku, zatímco powerbanka napájí zařízení APIS.

UPOZORNĚNÍ:

Tyto komponenty jsou volitelné. Zařízení můžete napájet libovolným adaptérem USB, který poskytuje proud 1A.

Krok 16: Integrace IoT - Blynk

Integrace IoT - Blynk
Integrace IoT - Blynk
Integrace IoT - Blynk
Integrace IoT - Blynk
Integrace IoT - Blynk
Integrace IoT - Blynk

Jedním z cílů nového designu byla možnost vzdáleně sledovat vlhkost půdy, hladinu vody a další parametry.

Vybral jsem Blynk (www.blynk.io) jako platformu IoT kvůli jeho snadnému použití a atraktivnímu vizuálnímu designu.

Protože moje skica vychází z kooperativní multitaskingové knihovny TaskScheduler, nechtěl jsem používat knihovny zařízení Blynk (pro TaskScheduler nejsou povoleny). Místo toho jsem použil Blynk HTTP RESTful API (dostupné zde).

Konfigurace aplikace je tak intuitivní, jak by mohla být. Postupujte podle přiložených snímků obrazovky.

Krok 17: Skici a soubory

Skici a soubory
Skici a soubory

Skica IoT APIS v2 se nachází na githubu zde: Skica

Několik knihoven, které skica používá, se nachází zde:

  1. TaskScheduler - kooperativní víceúlohová knihovna pro Arduino a esp8266
  2. AvgFilter - celočíselná implementace filtru Průměr pro vyhlazení dat senzorů
  3. RTCLib - implementace hardwaru a softwaru Real Time Clock (mnou upraveno)
  4. Time - Úpravy knihovny Time
  5. Časové pásmo - knihovna podporující výpočty časových pásem

POZNÁMKA:

Datové listy, dokumentace pinů a 3D soubory jsou umístěny v podsložce „soubory“hlavního náčrtu.

Soubory HTML pro vestavěný webový server by měly být nahrány do flash paměti NODE MCU pomocí arduino-esp8266fs-plugin (který vytvoří souborový souborový systém z podsložky „data“hlavní složky skici a nahraje jej do flash paměti)

Zahradní soutěž 2016
Zahradní soutěž 2016
Zahradní soutěž 2016
Zahradní soutěž 2016

Runner Up in the Indoor Gardening Contest 2016

Doporučuje: