INHOUDSOPGAWE:

IoT APIS V2 - Outonome outomatiese IoT -geaktiveerde plantbesproeiingstelsel: 17 stappe (met foto's)
IoT APIS V2 - Outonome outomatiese IoT -geaktiveerde plantbesproeiingstelsel: 17 stappe (met foto's)

Video: IoT APIS V2 - Outonome outomatiese IoT -geaktiveerde plantbesproeiingstelsel: 17 stappe (met foto's)

Video: IoT APIS V2 - Outonome outomatiese IoT -geaktiveerde plantbesproeiingstelsel: 17 stappe (met foto's)
Video: Curt Jaimungal: Realiteit, bewustzijn, theoretische natuurkunde, ego-integratie [Pt 3] 2024, Julie
Anonim
IoT APIS V2 - Outonome IoT -geaktiveerde outomatiese plantbesproeiingstelsel
IoT APIS V2 - Outonome IoT -geaktiveerde outomatiese plantbesproeiingstelsel
IoT APIS V2 - Outonome IoT -geaktiveerde outomatiese plantbesproeiingstelsel
IoT APIS V2 - Outonome IoT -geaktiveerde outomatiese plantbesproeiingstelsel

Hierdie projek is 'n evolusie van my vorige instruksies: APIS - Automated Plant Irrigation System

Ek gebruik APIS al amper 'n jaar en wou verbeter met die vorige ontwerp:

  1. Die vermoë om die plant op afstand te monitor. Dit is hoe hierdie projek IoT-geaktiveer geword het.
  2. Maklik om grondvochtigheidsonde te vervang. Ek het drie verskillende ontwerpe van die humiditeitsonde ondergaan, en ongeag watter materiaal ek gebruik het, het dit vroeër of later geërodeer. Die nuwe ontwerp moes dus so lank as moontlik hou en vinnig en maklik vervang word.
  3. Waterpeil in die emmer. Ek wou weet hoeveel water daar nog in die emmer beskikbaar is en kan ophou natmaak as die emmer leeg is.
  4. Beter voorkoms. 'N Grys projekkas was 'n goeie begin, maar ek wou iets skep wat 'n bietjie beter lyk. U sal die beoordelaar wees as ek die doel kon bereik …
  5. Outonomie. Ek wou hê dat die nuwe stelsel outonoom moet wees in terme van krag en/of beskikbaarheid van die internet.

Die gevolglike projek is nie minder konfigureerbaar as sy voorganger nie, en het ekstra nuttige funksies.

Ek wou ook my nuut verkrygde 3D-drukker gebruik, sodat sommige dele gedruk moet word.

Stap 1: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware

U benodig die volgende komponente om IoT APIS v2 te bou:

  1. NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - op banggood.com
  2. SODIAL (R) Ultrasoniese sensor met 3-pins afstandsmetingsmodule, dubbele transducer, drie-pins aan boord-op amazon.com
  3. DC 3V -6V 5V Klein dompelwaterpomp akwarium vistenkpomp - op ebay.com
  4. Driekleurige LED - op amazon.com
  5. Vero -bord - op amazon.com
  6. PN2222 transistor - op amazon.com
  7. Plastiek skroewe, boute en moere
  8. Soldeertoerusting en voorrade
  9. Drade, weerstande, kopstukke en ander diverse elektroniese komponente
  10. Leë Tropicana OJ 2.78 QT -pot
  11. 2 gegalvaniseerde spykers

Stap 2: Algehele ontwerp

Algehele ontwerp
Algehele ontwerp
Algehele ontwerp
Algehele ontwerp

Die algehele ontwerp bestaan uit die volgende komponente: 1. Grondvochtigheidsonde en omhulsel van plante (gekombineer - 3d gedruk) 2. Buise en bedrading 3. Lêersensor vir waterlek (3D -gedruk) 4. Beheermodule gemonteer bo -op die OJ -pot (geplaas en ingesloten in die 3D -gedrukte omhulsel) 5. Ondergedompelde waterpomp6. NodeMCU skets7. IoT -opset 8. Kragtoevoer: USB via netsnoer - OF - sonpaneel (outonome modus) Kom ons bespreek elke komponent afsonderlik

Stap 3: Ondergedompelde waterpomp

Ondergedompelde waterpomp
Ondergedompelde waterpomp
Ondergedompelde waterpomp
Ondergedompelde waterpomp

Ondergedompelde waterpomp is onder die handvatsel van die OJ -pot geleë (om inmenging met watervlakmeting te voorkom). Die pomp word so geplaas dat dit ongeveer 2-3 mm bokant die bodem van die pot "sweef" om vrye water na die inname toe te laat vloei.

Omdat die pomp heeltemal onder water moet staan vir normale werking, moet die minimale watervlak in die pot ongeveer 3 cm (ongeveer 1 duim) wees.

Stap 4: Beheermodule gemonteer bo -op die OJ -pot

Beheermodule gemonteer bo -op die OJ -pot
Beheermodule gemonteer bo -op die OJ -pot
Beheermodule gemonteer bo -op die OJ -pot
Beheermodule gemonteer bo -op die OJ -pot
Beheermodule gemonteer bo -op die OJ -pot
Beheermodule gemonteer bo -op die OJ -pot

Ek het 'n standaard groot Tropicana OJ -pot as 'n waterhouer gekies. Dit is algemeen beskikbaar en standaard.

Die kontrolemodule word bo -op die pot geplaas nadat die oorspronklike kraan verwyder is.

Die platform waarop die beheermodule geleë is, is 3d gedruk. Die STL -lêer word in die lêers en sketse -afdelings van hierdie instruksies verskaf.

Die pomp, buise en bedrading word deur die handvatsel van die Tropicana -pot gelei om ruimte op te spoor vir watermeting.

Die watervlak word gemeet deur die ultrasoniese afstandsensor wat met die bedieningsmodule -platform geïntegreer is. Die watervlak word bepaal, as 'n verskil die afstandsmeting van 'n leë pot en 'n pot met water tot 'n sekere vlak.

Die beheermodule en die Amerikaanse sensor is bedek met 'n 3D -gedrukte "koepel". Die STL -lêer van die koepel word verskaf in die afdeling lêers en sketse van hierdie instruksies.

Stap 5: Beheermodule - skema's

Beheermodule - skema's
Beheermodule - skema's
Beheermodule - skema's
Beheermodule - skema's

Skemas vir die beheermodule (insluitend die lys van komponente) en ontwerpbordlêers vir broodbord word in die afdeling lêers en sketse van hierdie instruksies verskaf.

LET WEL: Werk met NodeMCU was 'n uitdagende taak in terme van beskikbare GPIO -penne. Byna alle GPIO's bedien 'n aantal funksies, wat dit moontlik maak dat dit nie beskikbaar is vir gebruik nie, of dat dit onmoontlik is om in die diep slaapmodus te gebruik (as gevolg van spesiale funksies wat hulle tydens die opstartproses speel). Uiteindelik het ek daarin geslaag om 'n balans te vind tussen die gebruik van GPIO's en my vereistes, maar dit het 'n paar frustrerende herhalings geverg.

Byvoorbeeld, 'n aantal GPIO's bly "warm" tydens diep slaap. Deur LED's te verbind met diegene wat die doel van die vermindering van kragverbruik tydens diep slaap verslaan het.

Stap 6: Lêersensor vir lekwater

Waterbak lekbak sensor
Waterbak lekbak sensor
Waterbak lekbak sensor
Waterbak lekbak sensor
Waterbak lekbak sensor
Waterbak lekbak sensor

As u pot aan die onderkant 'n oorloopgat het, is daar 'n risiko dat water die onderste skinkbord kan oorloop en op die vloer kan mors (rak of wat u plant ook al is).

Ek het opgemerk dat die meting van die humiditeit van die grond baie beïnvloed word deur die sondeposisie, die digtheid van die grond, die afstand tot die wateruitlaat, ens. Met ander woorde, dit kan slegs skadelik wees vir u huis as water oor die onderste skinkbord loop en dit oorspoel.

Die oorloop sensor is 'n afstandhouer tussen die pot en die onderste skinkbord, met twee drade om die tralies. As water die skinkbord vol maak, word die twee drade verbind, wat die mikrokontroleerder aandui dat daar water in die onderste skinkbord is.

Uiteindelik verdamp water en word die drade ontkoppel.

Onderste skinkbord is 3d gedruk. Die STL -lêer is beskikbaar uit die lêers en sketse -afdeling van hierdie instruksies.

Stap 7: Grondvochtigheidsonderneming en wateromhulsel

Image
Image
Grondvochtigheidsonderneming en wateromhulsel
Grondvochtigheidsonderneming en wateromhulsel
Grondvochtigheidsonderneming en wateromhulsel
Grondvochtigheidsonderneming en wateromhulsel

Ek het 'n seshoekige 3D -bedrukte omhulsel ontwerp om 'n gekombineerde grondvochtigheidsonde en 'n gieter te wees.

'N 3D -druklêer (STL) is beskikbaar in die lêers en sketse -afdeling van hierdie instruksies.

Die omhulsel bestaan uit twee dele wat aan mekaar vasgeplak moet word. 'N Aangepaste hekbeslag word aan die kant van die omhulsel vasgeplak om die buis vas te maak.

Daar is twee gate van 4,5 mm om die gegalvaniseerde spykers te plaas, wat as grondvochtigheidsondernemings dien. Verbindings met die mikrobeheerder word verkry met behulp van metaalafstandhouers wat spesifiek gekies is om by die naels te pas.

3D-ontwerp word gedoen met behulp van www.tinkercad.com, 'n wonderlike en maklik om te gebruik, maar tog kragtige 3D-ontwerphulpmiddel.

LET WEL: U wil dalk vra waarom ek nie net een van die vooraf vervaardigde grondsonde gebruik het nie? Die antwoord is: die foelie op dié wat binne weke oplos. Selfs met 'n beperkte tyd dat die spykers onder spanning is, word dit steeds erodeer en moet dit minstens een keer per jaar vervang word. Bogenoemde ontwerp laat die spykers binne sekondes toe.

Stap 8: Buise en bedrading

Buise en bedrading
Buise en bedrading

Water word via die Super-Soft Latex Rubber Semi-Clear Tubing aan die plan gelewer (met 1/4 "binnediameter en 5/16" buitediameter).

Die pompuitlaat benodig 'n groter buis en 'n adapter: chemiese bestendige polipropileen doringkoppeling, reguit verminder vir 1/4 "x 1/8" buis-ID.

Uiteindelik dien 'n chemies-weerstandige polipropileen doringbeslag, reguit vir 'n buis-ID van 1/8 as aansluiting vir die gieter.

Stap 9: NodeMCU -skets

NodeMCU Skets
NodeMCU Skets

NodeMCU -skets implementeer verskeie funksies van IoT APIS v2:

  1. Koppel aan die bestaande WiFi -netwerk - OF - loop as 'n WiFi -toegangspunt (afhangende van die opset)
  2. Vra NTP -bedieners om plaaslike tyd te bekom
  3. Implementeer webserver vir monitering van die aanleg en die aanpassing van water- en netwerkparameters
  4. Meet die humiditeit van die grond, waterlekkasies in die onderste skinkbord, die watervlak in die pot en bied visuele aanduiding via 3 kleur -LED's
  5. Implementeer aanlyn- en kragbesparingsmetodes
  6. Stoor inligting oor elk van die besproeiings plaaslik in die interne flitsgeheue

Stap 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Standaard maak IoT APIS v2 'n plaaslike WiFi -toegangspunt genaamd "Plant_XXXXXX", waar XXXXXX die reeksnommer van die ESP8266 -chip aan boord van NodeMCU is.

U het toegang tot die ingeboude webserver via URL: https://plant.io interne DNS-bediener sal u toestel aan die APIS-statusbladsy koppel.

Vanaf die statusbladsy kan u na die waterparameters -bladsy en die netwerkparameters -bladsy gaan, waar u IoT APIS v2 aan u WiFi -netwerk kan koppel en die status kan aanmeld by die wolk.

IoT APIS ondersteun aanlyn en kragbesparende werkswyses:

  1. In die aanlyn -modus hou IoT APIS die WiFi -verbinding deurgaans aan, sodat u te alle tye u plantstatus kan nagaan
  2. In die kragbesparingsmodus kontroleer IoT APIS periodiek die humiditeit en die watervlak van die grond, en plaas die toestel tussenin in die 'diep slaap'-modus, en verminder sodoende sy kragverbruik dramaties. Die toestel is egter nie altyd aanlyn beskikbaar nie, en parameters kan slegs verander word gedurende die tyd wat die toestel aanskakel (tans elke 30 minute, in lyn met die uur/halfuur-intydse klok). Die toestel bly elke 30 minute 1 minuut aanlyn om konfigurasieveranderinge toe te laat, en gaan dan in die diep slaapmodus. As die gebruiker met die toestel skakel, word die "up" -tyd vir elke verbinding verleng tot 3 minute.

As die toestel aan die plaaslike WiFi -netwerk gekoppel is, word sy IP -adres by die IoT -wolkbediener aangemeld en is dit sigbaar op die mobiele moniteringstoestel.

Stap 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 gebruik NTP -protokol om plaaslike tyd van die NIST -tydbedieners te verkry. Die korrekte tyd word gebruik om te bepaal of die toestel in die "nag" -modus moet gaan, dws vermy die pomp of die flitsende LED.

Die nag is afsonderlik instelbaar vir werksdae en naweke oggend.

Stap 12: NodeMCU Sketch - Plaaslike webbediener

NodeMCU Sketch - Plaaslike webbediener
NodeMCU Sketch - Plaaslike webbediener
NodeMCU Sketch - Plaaslike webbediener
NodeMCU Sketch - Plaaslike webbediener
NodeMCU Sketch - Plaaslike webbediener
NodeMCU Sketch - Plaaslike webbediener

IoT APIS v2 implementeer 'n plaaslike webbediener vir statusverslaggewing en konfigurasieveranderinge. Die tuisblad bevat inligting oor die huidige humiditeit en watervlak, die teenwoordigheid van oorloopwater in die onderste skinkbord en statistieke van die mees onlangse waterloop. Netwerkopsetbladsy (toeganklik via die konfigurasie -netwerkknoppie) bied die moontlikheid om aan te sluit op 'n plaaslike WiFi -netwerk en te wissel tussen aanlyn- en kragbesparingsmodusse. (Veranderinge aan die netwerkkonfigurasie sal veroorsaak dat die toestel herstel word) Gieteropsetbladsy (toeganklik via die instel van waterknoppie) bied waterparameters (grondvog om water te begin/stop te water, die duur van die waterloop en versadigingsonderbreking tussen lopies, aantal lopies), ens.) Die HTML -lêers van die webbediener is in die datagids van die IoT APIS Arduino IDE -skets. Hulle moet as 'n SPIFF -lêerstelsel in die NodeMCU -geheue opgelaai word met behulp van die "ESP8266 Sketch Data Upload" -hulpmiddel hier.

Stap 13: NodeMCU Sketch - Local Watering Log en toegang tot die interne lêerstelsel

NodeMCU Sketch - Plaaslike waterlogboek en toegang tot die interne lêerstelsel
NodeMCU Sketch - Plaaslike waterlogboek en toegang tot die interne lêerstelsel

As daar geen netwerkverbinding beskikbaar is nie, meld die IoT APIS v2 -stelsel alle wateraktiwiteite plaaslik aan.

Koppel aan die toestel om toegang tot die logboek te kry, gaan na die '/edit' -bladsy en laai dan die watering.log -lêer af. Hierdie lêer bevat die geskiedenis van alle besproeiings sedert die aanmelding begin is.

By hierdie stap word 'n voorbeeld van so 'n loglêer (in 'n blad -geskeide formaat) aangeheg.

OPMERKING: Die aflaai -bladsy is nie beskikbaar wanneer IoT APIS v2 gebruik word in die toegangspuntmodus nie (as gevolg van die afhanklikheid van die aanlyn Java Script -biblioteek).

Stap 14: NodeMCU -skets - humiditeit in die grond, waterlek in die onderste bak, watervlak, 3 -kleur -LED

Image
Image
NodeMCU Skets - Grondvogtigheid, lek in die onderbak, watervlak, 3 -kleur LED
NodeMCU Skets - Grondvogtigheid, lek in die onderbak, watervlak, 3 -kleur LED
NodeMCU Skets - Grondvogtigheid, lek in die onderbak, watervlak, 3 -kleur LED
NodeMCU Skets - Grondvogtigheid, lek in die onderbak, watervlak, 3 -kleur LED

Die meting van die humiditeit van die grond is gebaseer op dieselfde beginsel as die oorspronklike APIS. Raadpleeg die instruksies vir die besonderhede.

Waterbaklekkasies word opgespoor deur kortliks spanning op die drade onder die pot aan te bring met behulp van interne PULLUP -weerstande. As die gevolglike PIN -status LAAG is, is daar water in die skinkbord. PIN -status van HOOG dui aan dat die stroombaan "gebreek" is, daarom is daar geen water in die onderste skinkbord nie.

Watervlak word bepaal deur die afstand tussen die bokant van die pot en die wateroppervlak te meet en dit te vergelyk met die afstand tot die onderkant van 'n leë pot. Let op die gebruik van die 3 -pins sensor! Dit is duurder as HC-SR04 vierpen sensors. Ongelukkig het ek GPIO's op NodeMCU opgedoen en moes ek elke draad sny om die ontwerp op slegs een NodeMCU te laat werk sonder bykomende stroombane.

Driekleurige LED word gebruik om die APIS -toestand visueel aan te dui:

  1. Matig knipperend GROEN - maak verbinding met WiFi -netwerk
  2. Knip vinnig GROEN - vra NTP -bediener
  3. Kort soliede GROEN - gekoppel aan WiFi en het die huidige tyd suksesvol van NTP verkry
  4. Kort soliede WIT - netwerkinitialisering is voltooi
  5. Knipper vinnig WIT - begin die toegangspuntmodus
  6. Knipper vinnig BLOU - nat
  7. Matig Knipperend BLOU - versadigend
  8. Kortliks soliede AMBER gevolg deur kort soliede ROOI - kon nie tyd kry van NTP nie
  9. Kortliks WIT tydens toegang tot die interne webbediener

LED werk nie in die "nag" -modus nie. Die nagmodus kon slegs betroubaar bepaal word as die toestel minstens een keer plaaslike tyd van die NTP -bedieners kon verkry (plaaslike Real Time Clock sal gebruik word totdat die volgende verbinding met NTP tot stand kom)

Voorbeeld van die LED -funksie is hier op YouTube beskikbaar.

Stap 15: Sonkrag, kragbank en outonome werking

Sonkrag, kragbank en outonome werking
Sonkrag, kragbank en outonome werking
Sonkrag, kragbank en outonome werking
Sonkrag, kragbank en outonome werking
Sonkrag, kragbank en outonome werking
Sonkrag, kragbank en outonome werking

Een van die idees agter IoT APIS v2 was die vermoë om outonoom te werk.

Die huidige ontwerp gebruik 'n sonkragpaneel en 'n tussentydse 3600 mAh kragbank om dit te bereik.

  1. Sonpaneel is beskikbaar op amazon.com
  2. Power bank is ook beskikbaar op amazon.com

Die sonpaneel het ook 'n ingeboude battery van 2600 mAh, maar dit kon selfs nie in die kragbesparingsmodus 'n 24 -uur -APIS -werking onderhou nie (ek vermoed dat die battery nie goed kan gelyktydig laai en ontlaai nie). Dit lyk asof 'n kombinasie van twee batterye voldoende krag bied en dat beide batterye gedurende die dag herlaai kan word. Sonpaneel laai kragbank op, terwyl kragbank APIS -toestel aanskakel.

Neem asseblief kennis:

Hierdie komponente is opsioneel. U kan die toestel net met enige USB -adapter met 1A -stroom voorsien.

Stap 16: IoT -integrasie - Blynk

IoT -integrasie - Blynk
IoT -integrasie - Blynk
IoT -integrasie - Blynk
IoT -integrasie - Blynk
IoT -integrasie - Blynk
IoT -integrasie - Blynk

Een van die doelwitte vir die nuwe ontwerp was die vermoë om grondvog, watervlak en ander parameters op afstand te monitor.

Ek het Blynk (www.blynk.io) gekies as 'n IoT -platform vanweë die gemak van gebruik en die aantreklike visuele ontwerp.

Aangesien my skets gebaseer is op die TaskScheduler -koöperatiewe multitasking -biblioteek, wou ek nie Blynk -apparaatbiblioteke gebruik nie (dit is nie ingeskakel vir TaskScheduler nie). In plaas daarvan gebruik ek Blynk HTTP RESTful API (hier beskikbaar).

Die opstel van die app is so intuïtief as moontlik. Volg die aangehegte skermkiekies.

Stap 17: Sketse en lêers

Sketse en lêers
Sketse en lêers

Die IoT APIS v2 -skets is hier op die github: Skets

'N Paar biblioteke wat deur die skets gebruik word, is hier geleë:

  1. TaskScheduler - koöperatiewe multitasking -biblioteek vir Arduino en esp8266
  2. AvgFilter - heelgetal -implementering van die gemiddelde filter vir sensordata -gladstryking
  3. RTCLib - implementering van die hardeware en sagteware Real Time Clock (deur my gewysig)
  4. Tyd - wysigings vir die tydbiblioteek
  5. Tydsone - biblioteek wat tydsonesberekeninge ondersteun

LET WEL:

Gegewensblaaie, speldokumentasie en 3D-lêers is in die submap "lêers" van die hoofskets.

HTML-lêers vir die ingeboude webbediener moet met die arduino-esp8266fs-plugin na die NODE MCU-flitsgeheue opgelaai word (wat 'n lêerstelsellêer skep uit die sub-gids "data" van die hoofsketsmap en dit in flash-geheue oplaai)

Binnenshuise tuinmaakwedstryd 2016
Binnenshuise tuinmaakwedstryd 2016
Binnenshuise tuinmaakwedstryd 2016
Binnenshuise tuinmaakwedstryd 2016

Naaswenner in die binnenshuise tuinmaakwedstryd 2016

Aanbeveel: