Innholdsfortegnelse:

IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)

Video: IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)

Video: IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem

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:

  1. Evne til å overvåke anlegget eksternt. Slik ble dette prosjektet IoT-aktivert.
  2. 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.
  3. 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.
  4. 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 …
  5. 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

Maskinvare
Maskinvare
Maskinvare
Maskinvare

Du trenger følgende komponenter for å bygge IoT APIS v2:

  1. NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - på banggood.com
  2. SODIAL (R) 3-pinners ultralydsensormålemodul, dobbel transduser, tre-pinners om bord-på amazon.com
  3. DC 3V -6V 5V liten nedsenkbar vannpumpe akvarium fisketankpumpe - på ebay.com
  4. Trefarget LED - på amazon.com
  5. Vero board - på amazon.com
  6. PN2222 transistor - på amazon.com
  7. Plastskruer, bolter og muttere
  8. Loddeutstyr og utstyr
  9. Ledninger, motstander, overskrifter og andre diverse elektroniske komponenter
  10. Tom Tropicana OJ 2.78 QT krukke
  11. 2 galvaniserte spiker

Trinn 2: Overordnet design

Overordnet design
Overordnet design
Overordnet design
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
Nedsenket vannpumpe
Nedsenket vannpumpe
Nedsenket vannpumpe

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

Kontrollmodul montert på toppen av OJ -krukken
Kontrollmodul montert på toppen av OJ -krukken
Kontrollmodul montert på toppen av OJ -krukken
Kontrollmodul montert på toppen av OJ -krukken
Kontrollmodul montert på toppen av OJ -krukken
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

Kontrollmodul - skjemaer
Kontrollmodul - skjemaer
Kontrollmodul - skjemaer
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

Vannlekkasjesensor i brett
Vannlekkasjesensor i brett
Vannlekkasjesensor i brett
Vannlekkasjesensor i brett
Vannlekkasjesensor i brett
Vannlekkasjesensor i brett

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

Image
Image
Jordfuktighetsprobe og vanningskapsling
Jordfuktighetsprobe og vanningskapsling
Jordfuktighetsprobe og vanningskapsling
Jordfuktighetsprobe 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

Slanger og ledninger
Slanger 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
NodeMCU Skisse

NodeMCU -skisse implementerer flere funksjoner i IoT APIS v2:

  1. Kobles til det eksisterende WiFi -nettverket -ELLER- kjøres som et WiFi -tilgangspunkt (avhengig av konfigurasjonen)
  2. Spør NTP -servere for å få lokal tid
  3. Implementerer webserver for anleggsovervåking og justering av vannings- og nettverksparametere
  4. Måler jordfuktighet, vannlekkasjer i bunnbrett, vannivå i glasset, og gir visuell indikasjon via 3 -farges LED
  5. Implementerer online og strømsparende driftsmåter
  6. Lagrer informasjon om hver av vanningskjøringene lokalt i det interne flashminnet

Trinn 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
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:

  1. I online -modus holder IoT APIS WiFi -tilkoblingen oppe hele tiden, slik at du kan kontrollere anleggsstatusen din når som helst
  2. 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

NodeMCU Sketch - NTP
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

NodeMCU Sketch - Lokal webserver
NodeMCU Sketch - Lokal webserver
NodeMCU Sketch - Lokal webserver
NodeMCU Sketch - Lokal webserver
NodeMCU Sketch - Lokal webserver
NodeMCU Sketch - Lokal webserver

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

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

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

Image
Image
NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannnivå, 3 farger LED
NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannnivå, 3 farger LED
NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannnivå, 3 farger LED
NodeMCU Sketch - Jordfuktighet, vannlekkasje i bunnbrett, vannnivå, 3 farger LED

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:

  1. Moderat blinkende GRØNN - kobler til WiFi -nettverk
  2. Blinker raskt GRønt - spør NTP -server
  3. Kort solid GRØNN - koblet til WiFi og hentet nåværende tid fra NTP
  4. Kort solid HVIT - initialisering av nettverket er fullført
  5. Blinker raskt HVIT - starter tilgangspunktmodus
  6. Blinker raskt BLÅ - vanning
  7. Moderat blinkende BLÅ - mettende
  8. Kort solid GUL etterfulgt av kortvarig RØD - klarer ikke å få tid fra NTP
  9. 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

Solkraft, Power Bank og autonom drift
Solkraft, Power Bank og autonom drift
Solkraft, Power Bank og autonom drift
Solkraft, Power Bank og autonom drift
Solkraft, Power Bank og autonom drift
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.

  1. Solcellepanel er tilgjengelig på amazon.com
  2. 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

IoT -integrasjon - Blynk
IoT -integrasjon - Blynk
IoT -integrasjon - Blynk
IoT -integrasjon - Blynk
IoT -integrasjon - Blynk
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

Skisser og filer
Skisser og filer

IoT APIS v2 -skissen ligger på githuben her: Sketch

Noen få biblioteker som ble brukt av skissen ligger her:

  1. TaskScheduler - kooperativt multitasking -bibliotek for Arduino og esp8266
  2. AvgFilter - heltallsimplementering av gjennomsnittsfilteret for utjevning av sensordata
  3. RTCLib - implementering av maskinvare og programvare Real Time Clock (modifisert av meg)
  4. Tid - modifikasjoner for tidsbiblioteket
  5. 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)

Innendørs hagekonkurranse 2016
Innendørs hagekonkurranse 2016
Innendørs hagekonkurranse 2016
Innendørs hagekonkurranse 2016

Runner Up i innendørs hagearbeidskonkurranse 2016

Anbefalt: