Indholdsfortegnelse:

IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem: 17 trin (med billeder)
IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem: 17 trin (med billeder)

Video: IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem: 17 trin (med billeder)

Video: IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem: 17 trin (med billeder)
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Juli
Anonim
IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem
IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem
IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem
IoT APIS V2 - Autonomt IoT -aktiveret automatiseret plantevandingssystem

Dette projekt er en udvikling af min tidligere instruerbare: APIS - Automated Plant Irrigation System

Jeg har brugt APIS i næsten et år nu og ville forbedre det tidligere design:

  1. Evne til at overvåge anlægget eksternt. Sådan blev dette projekt IoT-aktiveret.
  2. Let at udskifte jordfugtighedssonde. Jeg har været igennem tre forskellige designs af fugtighedssonden, og uanset hvilket materiale jeg brugte, eroderede det før eller siden. Så det nye design skulle vare så længe som muligt og hurtigt og nemt kunne udskiftes.
  3. Vandstand i spanden. Jeg ville gerne kunne fortælle, hvor meget vand der stadig er til rådighed i spanden og stoppe med at vande, når spanden er tom.
  4. Bedre udseende. En grå projektboks var en god start, men jeg ville skabe noget, der så lidt bedre ud. Du vil være dommer, hvis jeg var i stand til at nå det mål …
  5. Autonomi. Jeg ønskede, at det nye system skulle være autonomt med hensyn til strøm og/eller tilgængelighed af internettet.

Det resulterende projekt er ikke mindre konfigurerbart end dets forgænger og har yderligere nyttige funktioner.

Jeg ville også bruge min nyanskaffede 3D-printer, så nogle af delene skal udskrives.

Trin 1: Hardware

Hardware
Hardware
Hardware
Hardware

Du skal bruge følgende komponenter for at bygge IoT APIS v2:

  1. NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - på banggood.com
  2. SODIAL (R) 3-benet ultralydssensor afstandsmåle-modul, dobbelt transducer, tre-ben om bord-på amazon.com
  3. DC 3V -6V 5V lille nedsænket vandpumpe akvariefiskbeholderpumpe - på ebay.com
  4. Tre -farvet LED - på amazon.com
  5. Vero board - på amazon.com
  6. PN2222 transistor - på amazon.com
  7. Plastskruer, bolte og møtrikker
  8. Loddeudstyr og forsyninger
  9. Ledninger, modstande, headere og andre diverse elektroniske komponenter
  10. Tom Tropicana OJ 2.78 QT krukke
  11. 2 galvaniserede søm

Trin 2: Overordnet design

Overordnet design
Overordnet design
Overordnet design
Overordnet design

Det overordnede design består af følgende komponenter: 1. Jordfugtighedssonde og plantevandskabinet (kombineret - 3d -printet) 2. Slanger og ledninger 3. Bakkevandlækagesensor (3d -printet) 4. Kontrolmodul monteret oven på OJ -krukken (placeret og indesluttet i 3D -trykt kasse) 5. Nedsænket vandpumpe 6. NodeMCU skitse7. IoT -konfiguration 8. Strømforsyning: USB via stikkontakt -ELLER- solpanel (autonom tilstand) Lad os diskutere hver komponent individuelt

Trin 3: Nedsænket vandpumpe

Nedsænket vandpumpe
Nedsænket vandpumpe
Nedsænket vandpumpe
Nedsænket vandpumpe

Nedsænket vandpumpe er placeret under håndtaget på OJ -krukken (for at undgå forstyrrelse af vandstandsmåling). Pumpen er placeret på en sådan måde, at den "svæver" cirka 2-3 mm over bunden af krukken for at tillade frit vandstrøm til indsugningen.

Fordi pumpen skal være helt nedsænket til normal drift, bør minimalt vandstand i krukken være omkring 3 cm (ca. 1 inch).

Trin 4: Kontrolmodul monteret oven på OJ -krukken

Kontrolmodul monteret oven på OJ -krukken
Kontrolmodul monteret oven på OJ -krukken
Kontrolmodul monteret oven på OJ -krukken
Kontrolmodul monteret oven på OJ -krukken
Kontrolmodul monteret oven på OJ -krukken
Kontrolmodul monteret oven på OJ -krukken

Jeg valgte standard stor Tropicana OJ krukke til at være en vandbeholder. Disse er bredt tilgængelige og standard.

Kontrolmodulet placeres oven på krukken, efter at den originale hane er fjernet.

Platformen, som kontrolmodulet er placeret på, er 3D -printet. STL -filen findes i filerne og skitserne i denne instruks.

Pumpen, slangen og ledningerne føres gennem håndtaget på Tropicana -krukken for at rydde op til måling af vandstand.

Vandstanden måles af den ultralydsafstandssensor, der er integreret med kontrolmodulets platform. Vandstand bestemmes som en forskel er afstandsmåling af en tom krukke og krukke fyldt med vand til et bestemt niveau.

Kontrolmodul og amerikansk sensor er dækket med en 3D -trykt "kuppel". STL -filen af kuplen findes i afsnittet filer og skitser i denne instruks.

Trin 5: Kontrolmodul - skemaer

Kontrolmodul - skemaer
Kontrolmodul - skemaer
Kontrolmodul - skemaer
Kontrolmodul - skemaer

Skemaer til kontrolmodulet (inklusive listen over komponenter) og brødbrætdesignfiler findes i afsnittet filer og skitser i denne instruktør.

BEMÆRK: At arbejde med NodeMCU viste sig at være en udfordrende opgave med hensyn til tilgængelige GPIO -ben. Næsten alle GPIO'er betjener en række funktioner, hvilket gør dem enten utilgængelige eller umulige at bruge i dyb dvaletilstand (på grund af særlige funktioner, de spiller under opstartsprocessen). I sidste ende lykkedes det mig at finde en balance mellem brug af GPIO'er og mine krav, men det tog et par frustrerende iterationer.

For eksempel forbliver et antal GPIO'er "varme" under dyb søvn. Tilslutning af LED til dem, der besejrede formålet med reduktion af strømforbruget under dyb søvn.

Trin 6: Bakkevandslækagesensor

Bakke vandlækagesensor
Bakke vandlækagesensor
Bakke vandlækagesensor
Bakke vandlækagesensor
Bakke vandlækagesensor
Bakke vandlækagesensor

Hvis din krukke har et overløbshul i bunden, er der risiko for, at vand løber over bundbakken og spildes på gulvet (hylde eller hvad det nu er, dit anlæg er placeret på).

Jeg bemærkede, at måling af jordfugtighed er stærkt påvirket af sondeposition, jordtæthed, afstand fra vandudløbet osv. Med andre ord kan det kun være skadeligt for dit hjem at gå efter jordfugtighed, hvis vand overløber bundbakken og spilder over.

Overløbssensoren er et afstandsstykke mellem gryden og bundbakken, med to tråde viklet rundt om stængerne. Når vand fylder bakken, bliver de to ledninger forbundet, hvilket signalerer mikrokontroller, at der er vand i den nederste bakke.

Til sidst fordamper vand, og ledningerne bliver afbrudt.

Bundbakke er 3D -printet. STL -filen er tilgængelig fra fil- og skitseafsnittet i denne instruks.

Trin 7: Jordfugtighedsprobe og vandingsindkapsling

Image
Image
Jordfugtighedsprobe og vandingsindkapsling
Jordfugtighedsprobe og vandingsindkapsling
Jordfugtighedsprobe og vandingsindkapsling
Jordfugtighedsprobe og vandingsindkapsling

Jeg designede et sekskantet 3D -trykt kabinet til at være en kombineret jordfugtighedsprobe og vandingsindretning.

En 3D -udskrivningsfil (STL) er tilgængelig i afsnittet Filer og skitser i denne instruks.

Skabet består af to dele, som skal limes sammen. En modificeret pigtilpasning limes ind i siden af kabinettet for at fastgøre slange.

Der er to huller på 4,5 mm til at placere de galvaniserede søm, der fungerer som jordfugtighedsprober. Tilslutning til mikrokontrolleren opnås via metalafstandsstykker, der er valgt specifikt til at passe neglene.

3D-design udføres ved hjælp af www.tinkercad.com, som er et fantastisk og let at bruge, men kraftfuldt 3D-designværktøj.

BEMÆRK: Du vil måske spørge, hvorfor jeg ikke bare brugte en af de præfabrikerede jordprober? Svaret er: Folien på dem opløses inden for uger. Faktisk, selv med en begrænset tid, neglene er under spænding, eroderer de stadig og skal udskiftes mindst en gang om året. Ovenstående design gør det muligt at udskifte neglene inden for få sekunder.

Trin 8: Slanger og ledninger

Slanger og ledninger
Slanger og ledninger

Vand leveres til planen via Super-Soft Latex Rubber Semi-Clear Tubing (med 1/4 "indvendig diameter og 5/16" udvendig diameter).

Pumpeudløbet kræver større slanger og en adapter: Kemikalieresistent polypropylenpigtilpasning, Reducer Straight for 1/4 "x 1/8" Tube ID.

Endelig fungerer en kemikalieresistent polypropylenpindemaskine, lige til 1/8 rør-ID som stik til vandingsindretningen.

Trin 9: NodeMCU Sketch

NodeMCU Skitse
NodeMCU Skitse

NodeMCU sketch implementerer flere funktioner i IoT APIS v2:

  1. Opretter forbindelse til det eksisterende WiFi -netværk - ELLER - kører som et WiFi -adgangspunkt (afhængigt af konfigurationen)
  2. Spørg NTP -servere for at få lokal tid
  3. Implementerer webserver til overvågning af anlæg og justering af vandings- og netværksparametre
  4. Måler jordfugtighed, bundbakke vandlækager, vandstand i krukken og giver visuel indikation via 3 farve LED
  5. Implementerer online og energibesparende driftsformer
  6. Gemmer oplysninger om hver af vandingskørslerne lokalt i den interne flashhukommelse

Trin 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Som standard vil IoT APIS v2 oprette et lokalt WiFi -adgangspunkt kaldet "Plant_XXXXXX", hvor XXXXXX er serienummeret på ESP8266 -chippen ombord på NodeMCU.

Du kan få adgang til den indbyggede webserver via URL: https://plant.io intern DNS-server forbinder din enhed med APIS-statussiden.

Fra statussiden kan du navigere til siden med vandingsparametre og siden med netværksparametre, hvor du kan få IoT APIS v2 til at oprette forbindelse til dit WiFi -netværk og begynde at rapportere status til skyen.

IoT APIS understøtter online og strømbesparende driftsformer:

  1. I onlinetilstand holder IoT APIS WiFi -forbindelsen oppe hele tiden, så du kan kontrollere din plantestatus når som helst
  2. I strømbesparelsestilstanden kontrollerer IoT APIS jordens fugtighed og vandstand regelmæssigt og sætter enheden i "dyb dvaletilstand" imellem og reducerer dermed strømforbruget dramatisk. Enheden er dog ikke tilgængelig online hele tiden, og parametre kan kun ændres i løbet af den tid, enheden tændes (i øjeblikket hvert 30. minut, justeret med time/halvtimes real-time ur). Enheden forbliver online i 1 minut hvert 30. minut for at tillade konfigurationsændringer og går derefter i dyb dvaletilstand. Hvis brugeren opretter forbindelse til enheden, forlænges "up" -tiden til 3 minutter for hver forbindelse.

Når enheden er forbundet til det lokale WiFi -netværk, rapporteres dens IP -adresse til IoT -cloud -serveren og er synlig på den mobile overvågningsenhed.

Trin 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 bruger NTP -protokol til at hente lokal tid fra NIST -tidsserverne. Korrekt tid bruges til at afgøre, om enheden skal gå i "nat" -tilstand, dvs. undgå at køre pumpen eller blinke LED.

Nat kan konfigureres separat til hverdage og weekendmorgener.

Trin 12: NodeMCU Sketch - Lokal webserver

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 til statusrapportering og konfigurationsændringer. Hjemmesiden indeholder oplysninger om den aktuelle luftfugtighed og vandstand, tilstedeværelsen af overløbsvand i bundbakken og statistik over den seneste vandingsløb. Netværks konfigurationsside (tilgængelig via konfigurer netværksknap) giver mulighed for at oprette forbindelse til lokalt WiFi -netværk og skifte mellem online- og energisparetilstande. (Ændringer i netværkskonfigurationen medfører, at enheden nulstilles) Konfigurationsside for vanding (tilgængelig via knappen til konfigurering af vand) giver mulighed for at ændre vandingsparametre (jordfugtighed til at starte/stoppe vanding, vandingsløbets varighed og mætningspause mellem kørsler, antal kørsler osv.) Webserver HTML -filer er placeret i datamappen i IoT APIS Arduino IDE -skitsen. De skal uploades til NodeMCU flash -hukommelse som et SPIFF -filsystem ved hjælp af værktøjet "ESP8266 Sketch Data Upload", der findes her.

Trin 13: NodeMCU Sketch - lokal vandingslog og adgang til det interne filsystem

NodeMCU Sketch - Lokal vandingslog og adgang til det interne filsystem
NodeMCU Sketch - Lokal vandingslog og adgang til det interne filsystem

Hvis netværksforbindelse ikke er tilgængelig, logger IoT APIS v2 -systemet alle vandingsaktiviteter lokalt.

For at få adgang til loggen skal du oprette forbindelse til enheden og navigere til siden '/rediger' og derefter downloade filen watering.log. Denne fil indeholder historikken for alle vandingsløb, siden logning er startet.

Eksempel på en sådan logfil (i fanebaseret format) er vedhæftet dette trin.

BEMÆRK: Downloadsiden er ikke tilgængelig, når IoT APIS v2 kører, er Access Point -tilstand (på grund af afhængighed af online Java Script -bibliotek).

Trin 14: NodeMCU Sketch - Jordfugtighed, bundtråds vandlækage, vandstand, 3 -farvet LED

Image
Image
NodeMCU Skitse - Jordfugtighed, bundtråds vandlækage, vandstand, 3 -farvet LED
NodeMCU Skitse - Jordfugtighed, bundtråds vandlækage, vandstand, 3 -farvet LED
NodeMCU Skitse - Jordfugtighed, bundtråds vandlækage, vandstand, 3 -farvet LED
NodeMCU Skitse - Jordfugtighed, bundtråds vandlækage, vandstand, 3 -farvet LED

Jordfugtighedsmåling er baseret på det samme princip som den originale APIS. Se venligst den instruerbare for detaljer.

Vandbakke lækager opdages ved momentant at påføre spænding på ledningerne under gryden ved hjælp af interne PULLUP modstande. Hvis den resulterende PIN -tilstand er LAV, er der vand i bakken. PIN -tilstand HIGH angiver, at kredsløbet er "brudt", derfor er der ikke vand i bundbakken.

Vandstanden bestemmes ved at måle afstanden fra toppen af krukken til vandoverfladen og sammenligne den med afstanden til bunden af en tom krukke. Bemærk brugen af 3 -polet sensor! De er dyrere end HC-SR04 fire-pin sensorer. Desværre løb jeg tør for GPIO'er på NodeMCU og måtte afskære alle ledninger jeg kunne for at få designet til at fungere på kun en NodeMCU uden yderligere kredsløb.

3 -farvet LED bruges til visuelt at angive APIS -tilstand:

  1. Moderat blinkende GRØN - opretter forbindelse til WiFi -netværk
  2. Blinker hurtigt GRØN - forespørger på NTP -server
  3. Kort solidt GRØNT - forbundet til WiFi og opnået den aktuelle tid fra NTP med succes
  4. Kort solid HVID - netværksinitialisering afsluttet
  5. Blinker hurtigt HVID - starter Access Point Mode
  6. Blinker hurtigt BLÅ - vanding
  7. Moderat blinkende BLÅ - mættende
  8. Kortvarigt fast GUL efterfulgt af kortvarigt RØD - ude af stand til at få tid fra NTP
  9. Kort solid HVID under adgang til intern webserver

LED'en fungerer ikke i tilstanden "nat". NIth -tilstand kunne kun bestemmes pålideligt, hvis enheden var i stand til at hente lokal tid fra NTP -serverne mindst én gang (lokalt realtidsklokke vil blive brugt, indtil næste forbindelse til NTP er etableret)

Eksempel på LED -funktionen er tilgængelig på YouTube her.

Trin 15: Solar power, Power Bank og autonom drift

Solenergi, Power Bank og autonom drift
Solenergi, Power Bank og autonom drift
Solenergi, Power Bank og autonom drift
Solenergi, Power Bank og autonom drift
Solenergi, Power Bank og autonom drift
Solenergi, Power Bank og autonom drift

En af ideerne bag IoT APIS v2 var evnen til at fungere autonomt.

Nuværende design bruger et solcellepanel og en midlertidig 3600 mAh powerbank til at opnå det.

  1. Solcellepanel er tilgængeligt på amazon.com
  2. Powerbank er også tilgængelig på amazon.com

Solpanel har også indbygget et 2600 mAh batteri, men det var ikke i stand til at opretholde 24 -timers APIS -drift, selv i strømsparetilstand (jeg formoder, at batteriet ikke klarer sig godt med samtidig opladning og afladning). En kombination af to batterier ser ud til at give tilstrækkelig strøm og tillade genopladning af begge batterier i løbet af dagen. Solpanel oplader powerbank, mens powerbank driver APIS -enheden.

Bemærk venligst:

Disse komponenter er valgfri. Du kan bare forsyne enheden med en hvilken som helst USB -adapter, der giver 1A strøm.

Trin 16: IoT -integration - Blynk

IoT -integration - Blynk
IoT -integration - Blynk
IoT -integration - Blynk
IoT -integration - Blynk
IoT -integration - Blynk
IoT -integration - Blynk

Et af målene for det nye design var evnen til eksternt at overvåge jordfugtighed, vandstand og andre parametre.

Jeg valgte Blynk (www.blynk.io) som en IoT -platform på grund af dets brugervenlighed og tiltalende visuelle design.

Da min skitse er baseret på TaskScheduler kooperative multitasking bibliotek, ønskede jeg ikke at bruge Blynk enhedsbiblioteker (de er ikke aktiveret for TaskScheduler). I stedet brugte jeg Blynk HTTP RESTful API (tilgængelig her).

Konfiguration af appen er så intuitiv, som den kunne være. Følg venligst de vedhæftede skærmbilleder.

Trin 17: Skitser og filer

Skitser og filer
Skitser og filer

IoT APIS v2 sketch er placeret på githuben her: Sketch

Et par biblioteker, der blev brugt af skitsen, er placeret her:

  1. TaskScheduler - kooperativt multitasking -bibliotek til Arduino og esp8266
  2. AvgFilter - heltal implementering af gennemsnitsfilteret til udjævning af sensordata
  3. RTCLib - implementering af hardware og software Real Time Clock (ændret af mig)
  4. Tid - ændringer til tidsbiblioteket
  5. Tidszone - bibliotek, der understøtter tidszoneberegninger

BEMÆRK:

Dataark, pin-dokumentation og 3D-filer er placeret i "filer" -undermappen i hovedskitsen.

HTML-filer til den indbyggede webserver skal uploades til NODE MCU-flashhukommelsen ved hjælp af arduino-esp8266fs-plugin (som opretter en filsystemfil fra "data" -undermappen i hovedskitsemappen og uploader den til flash-hukommelse)

Indendørs havekonkurrence 2016
Indendørs havekonkurrence 2016
Indendørs havekonkurrence 2016
Indendørs havekonkurrence 2016

Runner Up i Indendørs Havearbejde 2016

Anbefalede: