Innehållsförteckning:

IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: 17 steg (med bilder)
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: 17 steg (med bilder)

Video: IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: 17 steg (med bilder)

Video: IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: 17 steg (med bilder)
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Juli
Anonim
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem

Detta projekt är en utveckling av min tidigare instruerbara: APIS - Automated Plant Irrigation System

Jag har använt APIS i nästan ett år nu och ville förbättra den tidigare designen:

  1. Möjlighet att fjärrövervaka anläggningen. Så här blev projektet IoT-kompatibelt.
  2. Lätt att byta jordfuktighetssond. Jag har varit med om tre olika utföranden av fuktsonden, och oavsett vilket material jag använde, eroderade det förr eller senare. Så den nya designen skulle hålla så länge som möjligt och snabbt och enkelt bytas ut.
  3. Vattennivå i hinken. Jag ville kunna berätta hur mycket vatten som finns kvar i hinken och sluta vattna när hinken är tom.
  4. Bättre utseende. En grå projektlåda var en bra start, men jag ville skapa något som såg lite bättre ut. Du kommer att vara domaren om jag kunde uppnå det målet …
  5. Autonomi. Jag ville att det nya systemet skulle vara autonomt när det gäller kraft och/eller tillgänglighet på internet.

Det resulterande projektet är inte mindre konfigurerbart än föregångaren och har ytterligare användbara funktioner.

Jag ville också använda min nyförvärvade 3D-skrivare, så några av delarna måste skrivas ut.

Steg 1: Hårdvara

Hårdvara
Hårdvara
Hårdvara
Hårdvara

Du behöver följande komponenter för att bygga IoT APIS v2:

  1. NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - på banggood.com
  2. SODIAL (R) 3-polig ultraljudssensor avståndsmätningsmodul, dubbel givare, tre-stift ombord-på amazon.com
  3. DC 3V -6V 5V liten nedsänkbar vattenpump akvariefiskpump - på ebay.com
  4. Trefärgad LED - på amazon.com
  5. Vero board - på amazon.com
  6. PN2222 transistor - på amazon.com
  7. Plastskruvar, bultar och muttrar
  8. Lödutrustning och tillbehör
  9. Ledningar, motstånd, sidhuvuden och andra diverse elektroniska komponenter
  10. Tom Tropicana OJ 2.78 QT burk
  11. 2 galvaniserade spikar

Steg 2: Övergripande design

Övergripande design
Övergripande design
Övergripande design
Övergripande design

Den övergripande designen består av följande komponenter: 1. Jordfuktighetsprob och växtvattenskåp (kombinerat - 3d -tryckt) 2. Slangar och ledningar 3. Fackvattensläcksensor (3d -tryckt) 4. Kontrollmodul monterad ovanpå OJ -burken (placerad och innesluten i 3D -tryckt fodral) 5. Dränkt vattenpump 6. NodeMCU -skiss 7. IoT -konfiguration 8. Strömförsörjning: USB via eluttag -ELLER- solpanel (autonomt läge) Låt oss diskutera varje komponent individuellt

Steg 3: Nedsänkt vattenpump

Nedsänkt vattenpump
Nedsänkt vattenpump
Nedsänkt vattenpump
Nedsänkt vattenpump

Nedsänkt vattenpump är placerad under handtaget på OJ -burken (för att undvika störning av vattennivåmätning). Pumpen placeras på ett sådant sätt att den "svävar" cirka 2-3 mm ovanför botten av burken för att tillåta fritt vattenflöde till intaget.

Eftersom pumpen ska vara helt nedsänkt för normal drift, bör minimal vattennivå i burken vara cirka 3 cm (cirka 1 tum).

Steg 4: Kontrollmodul monterad ovanpå OJ -burken

Kontrollmodul monterad ovanpå OJ -burken
Kontrollmodul monterad ovanpå OJ -burken
Kontrollmodul monterad ovanpå OJ -burken
Kontrollmodul monterad ovanpå OJ -burken
Kontrollmodul monterad ovanpå OJ -burken
Kontrollmodul monterad ovanpå OJ -burken

Jag valde en vanlig stor Tropicana OJ -burk som en vattenbehållare. De är allmänt tillgängliga och standard.

Kontrollmodulen placeras ovanpå burken efter att den ursprungliga kranen har tagits bort.

Plattformen på vilken styrmodulen är placerad är 3D -tryckt. STL -filen finns i filerna och skissavsnitten i denna instruerbara.

Pumpen, slangen och ledningarna dras genom handtaget på Tropicana -burken för att frigöra utrymme för vattenmätning.

Vattennivån mäts av ultraljudsavståndssensorn integrerad med kontrollmodulens plattform. Vattennivån bestäms som en skillnad är avståndsmätning av en tom burk och burk fylld med vatten till en viss nivå.

Kontrollmodul och amerikansk sensor är täckta med en 3D -tryckt "kupol". STL -filen för kupolen finns i fil- och skissavsnittet i denna instruerbara.

Steg 5: Kontrollmodul - scheman

Kontrollmodul - scheman
Kontrollmodul - scheman
Kontrollmodul - scheman
Kontrollmodul - scheman

Schemat för kontrollmodulen (inklusive listan över komponenter) och brödbräddesignfiler finns i fil- och skissavsnittet i denna instruerbara.

OBS: Att arbeta med NodeMCU visade sig vara en utmanande uppgift när det gäller tillgängliga GPIO -stift. Nästan alla GPIO har ett antal funktioner, vilket gör dem antingen otillgängliga för användning eller omöjliga att använda i djupt viloläge (på grund av speciella funktioner som de spelar under startprocessen). Till slut lyckades jag hitta en balans mellan användning av GPIO och mina krav, men det tog några frustrerande iterationer.

Till exempel förblir ett antal GPIO: er "heta" under djup sömn. Anslutning av LED till dem som besegrade syftet med energiförbrukning under djup sömn.

Steg 6: Fackläckagesensor

Bricka vattenläcksensor
Bricka vattenläcksensor
Bricka vattenläcksensor
Bricka vattenläcksensor
Bricka vattenläcksensor
Bricka vattenläcksensor

Om din kruka har ett överflödeshål i botten, riskerar det att vatten rinner över bottenbrickan och rinner ut på golvet (hyllan eller vad det nu är din anläggning finns på).

Jag märkte att mätning av jordfuktighet påverkas starkt av sondens position, jordtäthet, avståndet från vattentillförseln, etc. Med andra ord kan det bara vara skadligt för ditt hem om vatten rinner över bottenbrickan och rinner ut.

Överflödessensorn är en distans mellan grytan och bottenbrickan, med två trådar lindade runt stängerna. När vatten fyller brickan blir de två ledningarna anslutna, vilket signalerar mikrokontrollern att det finns vatten i det nedre facket.

Så småningom avdunstar vatten och ledningarna kopplas bort.

Bottenfacket är 3d -tryckt. STL -filen är tillgänglig från fil- och skissavsnittet i denna instruerbara.

Steg 7: Jordfuktighetssond och vattningslåda

Image
Image
Jordfuktighetsprobe och vattningslåda
Jordfuktighetsprobe och vattningslåda
Jordfuktighetsprobe och vattningslåda
Jordfuktighetsprobe och vattningslåda

Jag konstruerade en sexkantig 3D -tryckt kapsling för att vara en kombinerad jordfuktighetsprobe och vattenskåp.

En 3D -utskriftsfil (STL) finns tillgänglig i avsnittet Filer och skisser i denna instruktionsbok.

Skåpet består av två delar som måste limmas ihop. En modifierad taggmontering limmas på sidan av höljet för att fästa rör.

Två 4,5 mm hål finns för att placera de galvaniserade spikarna, som fungerar som jordfuktighetsprober. Anslutning till mikrokontrollern uppnås via metall distanser valda specifikt för att passa naglarna.

3D-design görs med hjälp av www.tinkercad.com som är ett bra och lättanvänt men ändå kraftfullt 3D-designverktyg.

OBS: Du kanske vill fråga varför jag inte helt enkelt använde en av de färdiga jordproberna? Svaret är: folien på de löser sig inom några veckor. Faktum är att även med en begränsad tid spikarna är under spänning, eroderar de fortfarande och måste bytas ut minst en gång om året. Ovanstående design tillåter byte av naglar inom några sekunder.

Steg 8: Slangar och ledningar

Slangar och ledningar
Slangar och ledningar

Vatten levereras till planen via Super-Soft Latex Rubber Semi-Clear Tubing (med 1/4 "innerdiameter och 5/16" ytterdiameter).

Pumputloppet kräver större slangar och en adapter: Kemikalieresistent polypropylentätning, Reducer Straight för 1/4 "x 1/8" Tube ID.

Slutligen fungerar en kemikalieresistent polypropylentätning, rak för 1/8 rör-ID som kontakt till vattningshöljet.

Steg 9: NodeMCU Sketch

NodeMCU Sketch
NodeMCU Sketch

NodeMCU -skissen implementerar flera funktioner i IoT APIS v2:

  1. Ansluter till det befintliga WiFi -nätverket -ELLER- körs som en WiFi -åtkomstpunkt (beroende på konfiguration)
  2. Frågar NTP -servrar för att få lokal tid
  3. Implementerar webbserver för växtövervakning och justering av vattnings- och nätverksparametrar
  4. Mäter jordfuktighet, läckage i bottenbrickans vatten, vattennivån i burken och ger visuell indikering via 3 -färgad LED
  5. Implementerar online och energisparläge
  6. Sparar information om var och en av vattningskörningarna lokalt i det interna flashminnet

Steg 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Som standard skapar IoT APIS v2 en lokal WiFi -åtkomstpunkt som kallas "Plant_XXXXXX", där XXXXXX är serienumret för ESP8266 -chipet ombord på NodeMCU.

Du kan komma åt den inbyggda webbservern via URL: https://plant.io intern DNS-server ansluter din enhet till APIS-statussidan.

Från statussidan kan du navigera till sidan för vattningsparametrar och sidan för nätverksparametrar, där du kan få IoT APIS v2 att ansluta till ditt WiFi -nätverk och börja rapportera status till molnet.

IoT APIS stöder online och energisparläge:

  1. I online -läget håller IoT APIS upp WiFi -anslutningen hela tiden, så att du kan kontrollera din anläggningsstatus när som helst
  2. I energisparläget kontrollerar IoT APIS jordfuktigheten och vattennivån regelbundet och sätter enheten i "djup-sömn" -läge emellan, vilket minskar dess energiförbrukning dramatiskt. Enheten är dock inte tillgänglig online hela tiden, och parametrar kan bara ändras under tiden enheten startar (för närvarande var 30: e minut, i linje med timme/halvtimme realtidsklocka). Enheten stannar online i 1 minut varje 30 minuter för att tillåta konfigurationsändringar och går sedan in i djupt viloläge. Om användaren ansluter till enheten förlängs "upp" -tiden till 3 minuter för varje anslutning.

När enheten är ansluten till det lokala WiFi -nätverket rapporteras dess IP -adress till IoT -molnservern och syns på den mobila övervakningsenheten.

Steg 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 använder NTP -protokoll för att hämta lokal tid från NIST -tidsservrarna. Korrekt tid används för att avgöra om enheten ska gå i "natt" -läge, dvs undvika att köra pumpen eller blinka LED.

Natten kan konfigureras separat för arbetsdagar och helgmorgnar.

Steg 12: NodeMCU Sketch - lokal webbserver

NodeMCU Sketch - lokal webbserver
NodeMCU Sketch - lokal webbserver
NodeMCU Sketch - lokal webbserver
NodeMCU Sketch - lokal webbserver
NodeMCU Sketch - lokal webbserver
NodeMCU Sketch - lokal webbserver

IoT APIS v2 implementerar en lokal webbserver för statusrapportering och konfigurationsändringar. Hemsidan ger information om aktuell luftfuktighet och vattennivå, förekomst av överflödigt vatten i bottenfacket och statistik över den senaste vattningskörningen. Nätverkskonfigurationssida (tillgänglig via konfigurera nätverksknapp) ger möjlighet att ansluta till lokalt WiFi -nätverk och växla mellan online- och energisparlägen. (Ändringar i nätverkskonfigurationen gör att enheten återställs) Vattningskonfigurationssida (tillgänglig via konfigurera vattenknappen) ger möjlighet att ändra vattningsparametrar (jordfuktighet för att starta/stoppa vattning, vattningens varaktighet och mättnadspaus mellan körningarna, antal körningar, etc.) Webserver HTML -filer finns i datamappen i IoT APIS Arduino IDE -skissen. De bör laddas upp till NodeMCU -flashminne som ett SPIFF -filsystem med verktyget "ESP8266 Sketch Data Upload" som finns här.

Steg 13: NodeMCU Sketch - lokal vattningslogg och åtkomst till internt filsystem

NodeMCU Sketch - lokal bevattningslogg och åtkomst till internt filsystem
NodeMCU Sketch - lokal bevattningslogg och åtkomst till internt filsystem

Om nätverksanslutning inte är tillgänglig loggar IoT APIS v2 -systemet alla vattningsaktiviteter lokalt.

För att komma åt loggen, anslut till enheten och navigera till sidan '/redigera' och ladda ner filen watering.log. Denna fil innehåller historiken för alla vattningskörningar sedan loggning har påbörjats.

Exempel på en sådan loggfil (i tabbseparerat format) bifogas detta steg.

OBS! Nedladdningssidan är inte tillgänglig när IoT APIS v2 körs i åtkomstpunktsläge (på grund av beroende av online -Java Script -bibliotek).

Steg 14: NodeMCU Sketch - Jordfuktighet, vattenläckage i bottenfacket, vattennivå, 3 -färg LED

Image
Image
NodeMCU Sketch - Jordfuktighet, vattenläckage i bottenfacket, vattennivå, LED i tre färger
NodeMCU Sketch - Jordfuktighet, vattenläckage i bottenfacket, vattennivå, LED i tre färger
NodeMCU Sketch - Jordfuktighet, vattenläckage i bottenfacket, vattennivå, 3 -färgad LED
NodeMCU Sketch - Jordfuktighet, vattenläckage i bottenfacket, vattennivå, 3 -färgad LED

Jordfuktighetsmätning är baserad på samma princip som den ursprungliga APIS. Se den instruerbara för detaljer.

Vattenfackläckor detekteras genom att momentant tillföra spänning till ledningarna under krukan med hjälp av interna PULLUP -motstånd. Om det resulterande PIN -tillståndet är LÅGT finns det vatten i brickan. PIN -status för HÖG indikerar att kretsen är "trasig", därför finns det inget vatten i bottenfacket.

Vattennivån bestäms genom att mäta avståndet från toppen av burken till vattenytan och jämföra det med avståndet till botten av en tom burk. Observera användningen av 3 -stifts sensorn! De är dyrare än HC-SR04 fyrstiftsgivare. Tyvärr fick jag slut på GPIO: er på NodeMCU och var tvungen att klippa varje tråd jag kunde för att få designen att fungera på bara en NodeMCU utan ytterligare kretsar.

3 -färgad LED används för att visuellt indikera APIS -tillstånd:

  1. Måttligt blinkande GRÖN - anslutning till WiFi -nätverk
  2. Blinkar snabbt GRÖN - frågar NTP -server
  3. Kort solid GRÖN - ansluten till WiFi och erhållit aktuell tid från NTP framgångsrikt
  4. Kortfattat VIT - nätverksinitialisering klar
  5. Blinkar snabbt VIT - startar åtkomstpunktsläge
  6. Blinkar snabbt BLÅ - vattning
  7. Måttligt blinkande BLÅ - mättande
  8. Kortfattat fast GUL följt av kort och fast RÖTT - kan inte få tid från NTP
  9. Kortfattat VIT under åtkomst till intern webbserver

Lysdioden fungerar inte i "natt" -läget. NIght -läge kunde endast fastställas på ett tillförlitligt sätt om enheten kunde hämta lokal tid från NTP -servrarna minst en gång (lokal realtidsklocka kommer att användas tills nästa anslutning till NTP upprättas)

Exempel på LED -funktionen finns på YouTube här.

Steg 15: Solkraft, Power Bank och autonom drift

Solenergi, Power Bank och autonom drift
Solenergi, Power Bank och autonom drift
Solenergi, Power Bank och autonom drift
Solenergi, Power Bank och autonom drift
Solenergi, Power Bank och autonom drift
Solenergi, Power Bank och autonom drift

En av idéerna bakom IoT APIS v2 var förmågan att arbeta självständigt.

Nuvarande design använder en solpanel och en mellanliggande 3600 mAh kraftbank för att uppnå det.

  1. Solpanel finns på amazon.com
  2. Powerbank finns också på amazon.com

Solpanel har också inbyggt 2600 mAh batteri, men det kunde inte upprätthålla 24 timmars APIS -drift även i energisparläget (jag misstänker att batteriet inte hanterar bra samtidig laddning och urladdning). En kombination av två batterier verkar ge tillräcklig effekt och tillåta omladdning av båda batterierna under dagen. Solpanel laddar powerbank, medan powerbank driver APIS -enhet.

Vänligen notera:

Dessa komponenter är valfria. Du kan bara driva enheten med valfri USB -adapter som ger 1A ström.

Steg 16: IoT -integration - Blynk

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

Ett av målen för den nya designen var möjligheten att fjärrövervaka markfuktighet, vattennivå och andra parametrar.

Jag valde Blynk (www.blynk.io) som en IoT -plattform på grund av dess användarvänlighet och tilltalande visuella design.

Eftersom min skiss är baserad på TaskScheduler kooperativa multitasking bibliotek, ville jag inte använda Blynk enhetsbibliotek (de är inte aktiverade för TaskScheduler). Istället använde jag Blynk HTTP RESTful API (tillgängligt här).

Att konfigurera appen är så intuitivt som möjligt. Följ de bifogade skärmdumparna.

Steg 17: Skisser och filer

Skisser och filer
Skisser och filer

IoT APIS v2 -skissen finns på githuben här: Sketch

Några bibliotek som används av skissen finns här:

  1. TaskScheduler - kooperativt multitasking -bibliotek för Arduino och esp8266
  2. AvgFilter - heltalsimplementering av medelfiltret för utjämning av sensordata
  3. RTCLib - implementering av hårdvara och mjukvara Real Time Clock (modifierad av mig)
  4. Tid - Ändringar för tidsbiblioteket
  5. Tidszon - bibliotek som stöder beräkningar av tidszoner

NOTERA:

Datablad, pin-dokumentation och 3D-filer finns i undermappen "filer" i huvudskissen.

HTML-filer för den inbyggda webbservern ska laddas upp till NODE MCU-flashminnet med hjälp av arduino-esp8266fs-plugin (som skapar en filsystemfil från undermappen "data" i huvudskissmappen och laddar upp den i flashminne)

Tävling inomhus 2016
Tävling inomhus 2016
Tävling inomhus 2016
Tävling inomhus 2016

Tvåa i tävlingen för inomhusträdgård 2016

Rekommenderad: