Innholdsfortegnelse:
- Trinn 1: Maskinvare
- Trinn 2: Overordnet design
- Trinn 3: Vannpumpe i vann
- Trinn 4: Kontrollmodul montert på toppen av OJ -krukken
- Trinn 5: Kontrollmodul - skjemaer
- Trinn 6: Sensor for vannlekkasje
- Trinn 7: Jordfuktighetssond og vanningskapsling
- Trinn 8: Slange og ledninger
- Trinn 9: NodeMCU Sketch
- Trinn 10: NodeMCU Sketch - WiFi
- Trinn 11: NodeMCU Sketch - NTP
- Trinn 12: NodeMCU Sketch - Local Web Server
- Trinn 13: NodeMCU Sketch - lokal vanningslogg og tilgang til internt filsystem
- Trinn 14: NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannivå, 3 -fargelampe
- Trinn 15: Solkraft, Power Bank og autonom drift
- Trinn 16: IoT -integrasjon - Blynk
- Trinn 17: Skisser og filer
Video: IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Dette prosjektet er en evolusjon av min tidligere instruerbare: APIS - Automated Plant Irrigation System
Jeg har brukt APIS i nesten et år nå, og ønsket å forbedre det forrige designet:
- Evne til å overvåke anlegget eksternt. Slik ble dette prosjektet IoT-aktivert.
- Enkel å bytte jordfuktighetssonde. Jeg har vært igjennom tre forskjellige design av fuktighetssonden, og uansett hvilket materiale jeg brukte, tæret det før eller siden. Så den nye designen skulle vare så lenge som mulig og raskt og enkelt byttes ut.
- Vannstand i bøtta. Jeg ønsket å kunne fortelle hvor mye vann som fortsatt er tilgjengelig i bøtta og slutte å vanne når bøtta er tom.
- Bedre utseende. En grå prosjektboks var en god start, men jeg ønsket å lage noe som så litt bedre ut. Du vil være dommer hvis jeg klarte å nå det målet …
- Autonomi. Jeg ønsket at det nye systemet skulle være autonomt når det gjelder strøm og/eller tilgjengelighet på internett.
Det resulterende prosjektet er ikke mindre konfigurerbart enn forgjengeren, og har flere nyttige funksjoner.
Jeg ønsket også å bruke min nyanskaffede 3D-skriver, så noen av delene må skrives ut.
Trinn 1: Maskinvare
Du trenger følgende komponenter for å bygge IoT APIS v2:
- NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - på banggood.com
- SODIAL (R) 3-pinners ultralydsensormålemodul, dobbel transduser, tre-pinners om bord-på amazon.com
- DC 3V -6V 5V liten nedsenkbar vannpumpe akvarium fisketankpumpe - på ebay.com
- Trefarget LED - på amazon.com
- Vero board - på amazon.com
- PN2222 transistor - på amazon.com
- Plastskruer, bolter og muttere
- Loddeutstyr og utstyr
- Ledninger, motstander, overskrifter og andre diverse elektroniske komponenter
- Tom Tropicana OJ 2.78 QT krukke
- 2 galvaniserte spiker
Trinn 2: Overordnet design
Overordnet design består av følgende komponenter: 1. Jordfuktighetssonde og plantevanningsskap (kombinert - 3d -trykt) 2. Slanger og ledninger 3. Vannlekkasjesensor i brett (3d -trykt) 4. Kontrollmodul montert på toppen av OJ -glasset (plassert og vedlagt i 3d -trykt etui) 5. Senket vannpumpe 6. NodeMCU skisse7. IoT -konfigurasjon 8. Strømforsyning: USB via stikkontakt -ELLER- solcellepanel (autonom modus) La oss diskutere hver komponent individuelt
Trinn 3: Vannpumpe i vann
Nedsenket vannpumpe er plassert under håndtaket på OJ -glasset (for å unngå forstyrrelse av vannstandsmåling). Pumpen er plassert på en slik måte at den "svever" ca 2-3 mm over bunnen av glasset for å tillate fri vannstrøm til inntaket.
Fordi pumpen skal være helt nedsenket for normal drift, bør minimalt vannstand i glasset være rundt 3 cm (ca. 1 tomme).
Trinn 4: Kontrollmodul montert på toppen av OJ -krukken
Jeg valgte standard stor Tropicana OJ -krukke til å være en vannbeholder. De er allment tilgjengelige og standard.
Kontrollmodulen plasseres på toppen av glasset etter at den originale kranen er fjernet.
Plattformen som kontrollmodulen er plassert på er 3D -trykt. STL -filen finnes i filene og skissene i denne instruksjonsboken.
Pumpen, slangen og ledningene føres gjennom håndtaket på Tropicana -glasset for å rydde opp plass for måling av vannstand.
Vannstanden måles av ultralydavstandssensoren integrert med kontrollmodulplattformen. Vannstanden bestemmes som en forskjell er avstandsmåling av en tom krukke og krukke fylt med vann til et visst nivå.
Kontrollmodul og amerikansk sensor er dekket med en 3D -trykt "kuppel". STL -filen til kuppelen finnes i fil- og skisse -delen av denne instruksjonsboken.
Trinn 5: Kontrollmodul - skjemaer
Skjemaer for kontrollmodulen (inkludert listen over komponenter) og brødbrettdesignfiler er gitt i filene og skissene i denne instruksjonsboken.
MERK: Å jobbe med NodeMCU viste seg å være en utfordrende oppgave når det gjelder tilgjengelige GPIO -pinner. Nesten alle GPIO -er har en rekke funksjoner, noe som gjør dem enten utilgjengelige for bruk eller umulige å bruke i dyp dvalemodus (på grunn av spesielle funksjoner de spiller under oppstartsprosessen). Til slutt klarte jeg å finne en balanse mellom bruk av GPIO og kravene mine, men det tok noen frustrerende iterasjoner.
For eksempel forblir en rekke GPIOer "varme" under dyp søvn. Koble LED til de som beseiret formålet med strømforbrukreduksjon under dyp søvn.
Trinn 6: Sensor for vannlekkasje
Hvis potten din har et overløpshull i bunnen, er det fare for at vann renner over bunnbrettet og søl på gulvet (hylle eller hva anlegget ditt befinner seg på).
Jeg la merke til at måling av jordfuktighet påvirkes sterkt av sondeposisjon, jordtetthet, avstand fra vannutløpet, etc. Med andre ord kan det bare være skadelig for deg å gå ut av jordfuktigheten hvis vannet renner over bunnbrettet og renner ut.
Overløpssensoren er et mellomrom mellom gryten og bunnbrettet, med to ledninger viklet rundt stengene. Når vann fyller brettet, blir de to ledningene koblet til, og signaliserer dermed mikrokontrolleren at det er vann i den nederste skuffen.
Til slutt fordamper vann, og ledningene blir koblet fra.
Bunnbrettet er 3D -trykt. STL -filen er tilgjengelig fra filene og skissene i denne instruksjonsboken.
Trinn 7: Jordfuktighetssond og vanningskapsling
Jeg designet et sekskantet 3D -trykt kabinett for å være en kombinert jordfuktighetsprobe og vanningshus.
En 3D -utskriftsfil (STL) er tilgjengelig i filer og skisser -delen av denne instruksjonsboken.
Kapslingen består av to deler, som må limes sammen. En modifisert piggbeslag limes inn på siden av skapet for å feste slangen.
To 4,5 mm hull er gitt for å plassere de galvaniserte spiker, som fungerer som jordfuktighetsprober. Tilkobling til mikrokontrolleren oppnås via metallavstandsstykker valgt spesielt for å passe neglene.
3D-design gjøres ved hjelp av www.tinkercad.com, som er et flott og brukervennlig, men kraftig 3D-designverktøy.
MERK: Du vil kanskje spørre hvorfor jeg ikke bare brukte en av de forhåndsproduserte jordprober? Svaret er: Folien på de løses opp i løpet av uker. Faktisk, selv med en begrenset tid er neglene under spenning, eroderer de fremdeles og må byttes ut minst en gang i året. Designet ovenfor gjør det mulig å bytte neglene innen sekunder.
Trinn 8: Slange og ledninger
Vann leveres til planen via Super-Soft Latex Rubber Semi-Clear Tubing (med 1/4 "innvendig diameter og 5/16" utvendig diameter).
Pumpeutløpet krever større slanger og en adapter: Kjemikaliebestandig polypropylenmontering, redusering rett for 1/4 "x 1/8" rør-ID.
Til slutt fungerer en kjemikalieresistent polypropylen piggmontering, rett for 1/8 Tube ID som kontakt til vanningshuset.
Trinn 9: NodeMCU Sketch
NodeMCU -skisse implementerer flere funksjoner i IoT APIS v2:
- Kobles til det eksisterende WiFi -nettverket -ELLER- kjøres som et WiFi -tilgangspunkt (avhengig av konfigurasjonen)
- Spør NTP -servere for å få lokal tid
- Implementerer webserver for anleggsovervåking og justering av vannings- og nettverksparametere
- Måler jordfuktighet, vannlekkasjer i bunnbrett, vannivå i glasset, og gir visuell indikasjon via 3 -farges LED
- Implementerer online og strømsparende driftsmåter
- Lagrer informasjon om hver av vanningskjøringene lokalt i det interne flashminnet
Trinn 10: NodeMCU Sketch - WiFi
Som standard vil IoT APIS v2 opprette et lokalt WiFi -tilgangspunkt kalt "Plant_XXXXXX", der XXXXXX er serienummeret til ESP8266 -brikken ombord på NodeMCU.
Du får tilgang til den innebygde webserveren via URL: https://plant.io intern DNS-server kobler enheten til APIS-statussiden.
Fra statussiden kan du navigere til siden med vanningsparametere og siden med nettverksparametere, hvor du kan få IoT APIS v2 til å koble til WiFi -nettverket ditt og begynne å rapportere status til skyen.
IoT APIS støtter online og strømsparende driftsmåter:
- I online -modus holder IoT APIS WiFi -tilkoblingen oppe hele tiden, slik at du kan kontrollere anleggsstatusen din når som helst
- I strømsparingsmodus sjekker IoT APIS jordfuktigheten og vannivået med jevne mellomrom, og setter enheten i "dyp dvalemodus" i mellom, og reduserer dermed strømforbruket dramatisk. Enheten er imidlertid ikke tilgjengelig online hele tiden, og parametere kan bare endres i løpet av tiden enheten slås på (for tiden hvert 30. minutt, justert med time/halvtime sanntidsklokke). Enheten forblir online i 1 minutt hvert 30. minutt for å tillate konfigurasjonsendringer, og går deretter inn i dvalemodus. Hvis brukeren kobler seg til enheten, forlenges "opp" -tiden til 3 minutter for hver tilkobling.
Når enheten er koblet til det lokale WiFi -nettverket, rapporteres IP -adressen til IoT -skyserveren og er synlig på den mobile overvåkingsenheten.
Trinn 11: NodeMCU Sketch - NTP
IoT APIS v2 bruker NTP -protokoll for å hente lokal tid fra NIST -tidsserverne. Riktig tid brukes for å avgjøre om enheten skal gå i "natt" -modus, dvs. unngå å kjøre pumpen eller blinke LED.
Natttid kan konfigureres separat for hverdager og helgemorgener.
Trinn 12: NodeMCU Sketch - Local Web Server
IoT APIS v2 implementerer en lokal webserver for statusrapportering og konfigurasjonsendringer. Hjemmesiden gir informasjon om gjeldende fuktighet og vannivå, tilstedeværelse av overløpsvann i bunnbrettet og statistikk over den siste vanningskjøringen. Nettverkskonfigurasjonsside (tilgjengelig via konfigurer nettverksknapp) gir muligheten til å koble til lokalt WiFi -nettverk og bytte mellom online og strømsparingsmodus. (Endringer i nettverkskonfigurasjonen vil føre til at enheten tilbakestilles) Vanningskonfigurasjonsside (tilgjengelig via konfigurering av vannknapp) gir mulighet til å endre vanningsparametere (jordfuktighet for å starte/stoppe vanning, vanningens varighet og metningspause mellom kjøringene, antall kjøringer, etc.) Webserver HTML -filer er plassert i datamappen i IoT APIS Arduino IDE -skissen. De bør lastes opp til NodeMCU flash -minne som et SPIFF -filsystem ved hjelp av "ESP8266 Sketch Data Upload" -verktøyet som ligger her.
Trinn 13: NodeMCU Sketch - lokal vanningslogg og tilgang til internt filsystem
Hvis nettverkstilkobling ikke er tilgjengelig, logger IoT APIS v2 -systemet alle vanningsaktiviteter lokalt.
For å få tilgang til loggen, koble til enheten og naviger til '/rediger' -siden, og last deretter ned watering.log -filen. Denne filen inneholder historien til alle vanningsløp siden logging har blitt startet.
Eksempel på en slik loggfil (i kategoriseparert format) er vedlagt dette trinnet.
MERK: Nedlastingssiden er ikke tilgjengelig når IoT APIS v2 kjører i tilgangspunktmodus (på grunn av avhengighet av online Java Script -bibliotek).
Trinn 14: NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannivå, 3 -fargelampe
Jordfuktighetsmåling er basert på det samme prinsippet som den opprinnelige APIS. Se den instruksjonsboken for detaljer.
Vannskållekkasjer oppdages ved å koble spenningen til ledningene som er plassert under potten, ved å bruke interne PULLUP -motstander. Hvis den resulterende PIN -tilstanden er LAV, er det vann i skuffen. PIN -status for HØY indikerer at kretsen er "ødelagt", derfor er det ikke vann i den nederste skuffen.
Vannstanden bestemmes ved å måle avstanden fra toppen av krukken til vannoverflaten og sammenligne den med avstanden til bunnen av en tom krukke. Vær oppmerksom på bruken av 3 -pinners sensoren! De er dyrere enn HC-SR04 firepinners sensorer. Dessverre gikk jeg tom for GPIO -er på NodeMCU og måtte kutte hver ledning jeg kunne for å få designet til å fungere på bare en NodeMCU uten ekstra kretser.
3 -farges LED brukes til visuelt å indikere APIS -tilstand:
- Moderat blinkende GRØNN - kobler til WiFi -nettverk
- Blinker raskt GRønt - spør NTP -server
- Kort solid GRØNN - koblet til WiFi og hentet nåværende tid fra NTP
- Kort solid HVIT - initialisering av nettverket er fullført
- Blinker raskt HVIT - starter tilgangspunktmodus
- Blinker raskt BLÅ - vanning
- Moderat blinkende BLÅ - mettende
- Kort solid GUL etterfulgt av kortvarig RØD - klarer ikke å få tid fra NTP
- Kort solid HVIT under tilgang til intern webserver
LED -en fungerer ikke i "natt" -modus. Nattmodus kan bare bestemmes pålitelig hvis enheten var i stand til å hente lokal tid fra NTP -serverne minst én gang (lokal sanntidsklokke vil bli brukt til neste tilkobling til NTP er opprettet)
Eksempel på LED -funksjonen er tilgjengelig på YouTube her.
Trinn 15: Solkraft, Power Bank og autonom drift
En av ideene bak IoT APIS v2 var evnen til å operere autonomt.
Gjeldende design bruker et solcellepanel og en midlertidig 3600 mAh kraftbank for å oppnå det.
- Solcellepanel er tilgjengelig på amazon.com
- Power bank er også tilgjengelig på amazon.com
Solcellepanel har også innebygd 2600 mAh batteri, men det var ikke i stand til å opprettholde 24 -timers APIS -drift selv i strømsparingsmodus (jeg mistenker at batteriet ikke takler samtidig lading og utlading). En kombinasjon av to batterier ser ut til å gi tilstrekkelig strøm og tillate lading av begge batteriene i løpet av dagen. Solcellepanel lader powerbank, mens powerbank driver APIS -enheten.
MERK:
Disse komponentene er valgfrie. Du kan bare drive enheten med en hvilken som helst USB -adapter som gir 1A strøm.
Trinn 16: IoT -integrasjon - Blynk
Et av målene for det nye designet var muligheten til å overvåke jordfuktighet, vannstand og andre parametere eksternt.
Jeg valgte Blynk (www.blynk.io) som en IoT -plattform på grunn av brukervennligheten og tiltalende visuell design.
Siden skissen min er basert på TaskScheduler kooperative multitasking bibliotek, ønsket jeg ikke å bruke Blynk enhetsbiblioteker (de er ikke aktivert for TaskScheduler). I stedet brukte jeg Blynk HTTP RESTful API (tilgjengelig her).
Konfigurering av appen er så intuitiv som den kan være. Følg de vedlagte skjermbildene.
Trinn 17: Skisser og filer
IoT APIS v2 -skissen ligger på githuben her: Sketch
Noen få biblioteker som ble brukt av skissen ligger her:
- TaskScheduler - kooperativt multitasking -bibliotek for Arduino og esp8266
- AvgFilter - heltallsimplementering av gjennomsnittsfilteret for utjevning av sensordata
- RTCLib - implementering av maskinvare og programvare Real Time Clock (modifisert av meg)
- Tid - modifikasjoner for tidsbiblioteket
- Tidssone - bibliotek som støtter tidssoneberegninger
MERK:
Dataark, pinnedokumentasjon og 3D-filer er plassert i undermappen "filer" i hovedskissen.
HTML-filer for den innebygde webserveren bør lastes opp til NODE MCU-flashminnet ved hjelp av arduino-esp8266fs-plugin (som lager en filsystemfil fra "data" -undermappen i hovedskisse-mappen og laster den opp i flash-minne)
Runner Up i innendørs hagearbeidskonkurranse 2016
Anbefalt:
Automatisk plantevanningssystem ved bruk av en mikro: bit: 8 trinn (med bilder)
Automatisk plantevanningssystem ved bruk av en Micro: bit: I denne instruksen skal jeg vise deg hvordan du bygger et automatisk plantevanningssystem ved hjelp av en Micro: bit og noen andre små elektroniske komponenter. Micro: bit bruker en fuktighetssensor for å overvåke fuktighetsnivået i plantens jord og
UWaiPi - tidsdrevet automatisk plantevanningssystem: 11 trinn (med bilder)
UWaiPi - tidsdrevet automatisk plantevanningssystem: Hei! Glemte du å vanne plantene dine i dag tidlig? Planlegger du en ferie, men tenker på hvem som skal vanne plantene? Vel, hvis svarene dine er Ja, så har jeg en løsning på problemet ditt. Jeg er veldig glad for å introdusere uWaiPi
Automatisk plantevanningssystem: 5 trinn (med bilder)
Automatisk plantevanningssystem: Dette er det enkleste og billigste plantevanningssystemet du kan lage. Jeg brukte ikke noen mikrokontroller. Det er i utgangspunktet en transistorbryter. Du må legge til litt motstand mellom kollektor og base for å forhindre at transistoren blir defekt . (ikke bruk w
Arduino automatisk plantevanningssystem: 8 trinn (med bilder)
Arduino Automatic Plant Watering System: Meet Sprout - the Modern Indoor Planter som automatisk vanner plantene, urter, grønnsaker osv. Og vil revolusjonere hagearbeidet ditt. Det består av et integrert vannreservoar som vann pumpes fra og amp; holder plantens jord
APIS - Automatisert plantevanningssystem: 12 trinn (med bilder)
APIS - Automatisert plantevanningssystem: HISTORIE: (en neste utvikling av dette systemet er tilgjengelig her) Det er ganske mange instrukser om temaet plantevanning, så jeg fant knapt opp noe originalt her. Det som gjør dette systemet annerledes er mengden programmering og kundetilpasning