INHOUDSOPGAWE:

DIY - outomatiese tuinbesproeiing - (Arduino / IOT): 9 stappe (met foto's)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT): 9 stappe (met foto's)

Video: DIY - outomatiese tuinbesproeiing - (Arduino / IOT): 9 stappe (met foto's)

Video: DIY - outomatiese tuinbesproeiing - (Arduino / IOT): 9 stappe (met foto's)
Video: Как заработать $ 90,00 в день с нулевыми деньгами на старт... 2024, Julie
Anonim
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)
DIY - outomatiese tuinbesproeiing - (Arduino / IOT)

Hierdie projek wys jou hoe om 'n besproeiingsbeheerder vir 'n tuintuin te bou. Kan grondvogmetings meet en besproeiing vanaf 'n tuinkraan aktiveer as die grond te droog word. Die beheerder bevat ook 'n temperatuur- en humiditeitsensor. Die beheerder sal die tuinkraan nie aktiveer as die temperatuur te laag is nie. Sensorlesings en statistieke oor watergebruik / looptye word op ThingsBoard IOT aangeteken vir visualisering en analise. Waarskuwings en e -posse word geaktiveer as die besproeiingsbeheerder ophou om data oor te dra, die grond te droog of te versadig word.

Voorvereistes

  • Arduino -kennis, insluitend ten minste basiese kodering vir Arduino en soldeer.
  • 1x tuinkraan onder druk

Bill of Materials

  • Tuinbesproeiing polipyp, stralers, druppers ens.
  • Elektroniese kraan timer met twee skakelaars (dws: Aqua Systems elektroniese digitale kraan timer)
  • Kraanverminderaar 300kpa
  • Arduino Uno
  • Lora Arduino -skild
  • Lora Gateway (Nie nodig as u 'n plaaslike Things Network -poort binne bereik het nie)
  • DHT11 Temperatuur Humiditeit sensor
  • 5v aflos
  • Telefoonkabel
  • Kabel bande
  • Motor gesplete gegolfde buise
  • Automotive Terminal Connector Strips
  • 2x gegalvaniseerde naels
  • 1x weerstand
  • Silikon / Caulk
  • PVC -sement
  • PVC Primer
  • PVC -pyp 32 mm breedte x 60 mm lengte
  • PVC -pyp 90 mm breed x 30 cm lank
  • 3x PVC -drukkoppe 90 mm
  • 1x PVC skroef einddop 90mm
  • 1x PVC -skroefdraadbeslag 90 mm
  • 1x PVC -drukkoppe 32 mm
  • 1x 3,2V kragbron (kraan timer) [batterye, AC multivolt adapter]
  • 1x 6-12V kragbron (arduino) [batterye, USB, USB na wisselstroomadapter]
  • draad seëlband
  • elektriese band

Stap 1: Installeer tuinbesproeiing

Installeer tuinbesproeiing
Installeer tuinbesproeiing
Installeer tuinbesproeiing
Installeer tuinbesproeiing

Uitleg polipyp, pas strale, druplyne en druppers. Die besproeiingsbeheerder sal werk met enige besproeiingsuitrusting. Dit meet die grondvogmetings, en die kraantimer word geaktiveer as die grond te droog is. Die kontroleerder kan gekalibreer word om die laagtepunt vir versadiging in te stel, hoe lank die kraantimer ingeskakel moet word en hoe gereeld die beheerder die versadiging moet kontroleer.

Hierdie instellings kan op die arduino verander word en in EPROM -geheue gestoor word. Die instellings kan ook bygewerk word deur die IOT -integrasie. Hierdie projek sal die kontroleerder elke vier uur gebruik en die kraan vir drie minute oopmaak as die grond te droog is. Dit kan 'n paar keer agtereenvolgens loop as dit droog/warm is, of een keer per dag of twee.

Stap 2: Pas tap -timer in

Fit Tap Timer
Fit Tap Timer

Pas die kraantimer aan en eksperimenteer met die verstelbare draaiknoppe om 'n rowwe frekwensie en werktyd uit te werk wat die beste vir u besproeiingsinstallasie werk. Ons sal die timer verwyder en dit aanpas om saam met 'n Arduino te werk.

Stap 3: Arduino Build

Arduino bou
Arduino bou
Arduino bou
Arduino bou
Arduino bou
Arduino bou
Arduino bou
Arduino bou

Gebruik die bedradingsdiagram as 'n riglyn vir die bou. Op die foto's is bedrading van telefoonkabels gebruik en skroefaansluitstroke vir aansluitingspunte. Sommige soldeer is nodig.

Tik op Timer Modification

Haal die kraantimer versigtig uitmekaar. Ons sal die twee verstelbare draaiknoppe hard bedrieg, sodat hulle deur die arduino in plaas van die handskyfies beheer kan word. Die linkerfrekwensie -skakelaar word hard aan die herstelposisie gekoppel, sodat die regte draaiknop tussen die aan/af -posisie kan wissel. Die regter draaiknop het 'n draad wat uit die middelste regterkontak kom en die regterkantste buitekant, soos getoon. Die timer is standaard in die af -posisie. As die twee drade in aanraking kom, word die timer aangeskakel. Met die twee drade wat aan 'n 5V -relais gekoppel is, kan 'n arduino die kontak tussen die twee drade sluit/oopmaak. Met die een draad in die algemene relaisklem en die ander in die normaal gesluit terminale, verseker ons dat die timer afgeskakel word wanneer die arduino afgeskakel word. Deur die aflospen op HOOG te stel, word die timer aangeskakel; As u dit op LAAG stel, word die timer afgeskakel.

Grondprobe

Vir hierdie projek word die twee spykers gesoldeer aan draad wat aan die skroefaansluitings gekoppel is. Die punt van een spyker gaan reguit grond toe. Die ander skakel met 'n analoog ingang in die arduino en 'n weerstand. Die weerstand verbind met die arduinos se 5v -sein. Word in die wringdiagram getoon.

Temp/humiditeit sensor

Die DHT11 -temperatuur-/humiditeitsensor is in die 5V van die arduino, grond en 'n digitale pen op die arduino gekoppel.

Lora skild

Hierdie projek het ook 'n Dragino Lora -skild gebruik (nie in die bedradingsdiagram getoon nie).

PVC basis

Die PVC -basis vir die arduino wat in hierdie projek gebruik is, is so ontwerp dat die temperatuur-/humiditeitsensor blootgestel kan word terwyl alle ander komponente in die waterdigte PVC -omhulsel vasgemaak word. 'N Klein gaatjie word vir die sensor geboor/gesny en silikon word gebruik om dit op sy plek te hou terwyl vog verhoed dat dit die arduino bereik. Word in die diagram getoon.

Stap 4: Arduino -programmering

Arduino -programmering
Arduino -programmering

Koppel die komponente aan mekaar via 'n broodbord of aansluitstroke vir programmering en toetsing

EPROM -opset

Eerstens moet ons konfigurasieveranderlikes na die EPROM -geheue skryf. Begin die volgende kode op u arduino:

Kode beskikbaar op Github

Hier is die DRY_VALUE op 960 gestel. 1024 beteken dat die grond heeltemal droog is, 0 beteken volledige versadiging, 960 was 'n goeie versadigingsvlak vir die weerstand, kabellengte en spykers wat gebruik is. Dit kan afhang van u eie opset.

VALVE_OPEN is ingestel op 180000 milisekondes (3 minute). As/as die kraantimer aangeskakel is, word dit vir 3 minute oopgelaat.

RUN_INTERVAL is ingestel op 14400000 milisekondes (4 uur). Dit beteken dat die beheerder elke vier uur die grondvog sal kontroleer en die kraantimer vir 3 minute aanskakel as die versadiging laag is (groter as 960).

Die kode hierbo kan te eniger tyd verander en hierdie waardes gewysig word.

Programkode

Kode beskikbaar op Github

Afhanklikheid:

  • TimedAction
  • Radio Hoof

Hierdie voorbeeld gebruik die Dragino Lora -skild en spesifiek die Lora -gelyktydige voorbeeld, met die skild wat direk met die Dragino Lora Gateway verbind is.

Dit kan aangepas word om die Things Network te gebruik deur die kode onder die afdeling "BEGIN: lora vars" te verwyder en die program te verander om die volgende Dragino -voorbeeld in te sluit, of aangepas om te werk met ander radio's/wifi -skilde, ens.

Die gegewe kode veronderstel dat DHT11_PIN digitale pen 4 is, die RELAY_PIN digitale pen 3 en die analoog ingang 0 van die grondvog.

'N Ontfout -veranderlike kan op true gestel word, sodat seriële ontfoutingsboodskappe by baudrate 9600 aangeteken kan word.

Stap 5: Omhulselbou

Omhulsel gebou
Omhulsel gebou

Sny die PVC -pyp volgens die kraantimer en Arduino -basis. Boor gate vir die kraan timer kraan pas en slang pas. Boor gate in die pyp wyd genoeg vir die motorleiding, steek die lengte van 10 cm van die buis in die gate en trek die drade uit die arduino en tik timer. Dit moet die volgende insluit:

Van die Arduino

  • Krag en/of 'n usb -kabel vanaf die USB -poort van die arduino.
  • Grondvogskabels (VCC, GND, A0)
  • Twee drade van die NC & Common -skroefklemme van die Relay

Van die kraantimer

  • Kragtoevoer kabels
  • Twee drade van die regte skakelaars

Stap 6: Toets die kontroleerder voordat u dit plak

Toets kontroleerder voordat u dit plak
Toets kontroleerder voordat u dit plak
Toets kontroleerder voordat u dit plak
Toets kontroleerder voordat u dit plak

Maak seker dat alles nog werk voordat u alles verseël.

Die foto's hierbo toon 'n monsteropstelling in 'n eskie waar die grondvogsonde in 'n pot geplaas is en die kraan timer met water uit 'n koeldrankbottel toegerus is.

Een drupper is aan die kraantimer vasgemaak.

Dit was 'n goeie manier om te toets dat die installasie nie die plant oor- of onder water het nie.

Hierdie voorbeeld kan so lank as moontlik uitgevoer word om die beheerder te kalibreer.

Stap 7: Gom / waterdigte omhulsels

Gom / waterdigte omhulsels
Gom / waterdigte omhulsels

Gebruik PVC Primer en PVC Cement om die einddoppe en koppeling vas te maak.

Gebruik caulk/silikon om gapings rondom die outomatiese buis en tik -toebehore te vul.

Hier word 'n skroef -einddop op die arduino -omhulsel gebruik vir toeganklikheid.

Stap 8: Installeer

Installeer
Installeer
Installeer
Installeer
Installeer
Installeer

Installeer op 'n helder dag. Die komponente en drade moet droog bly voordat dit verseël word.

Plaas die kontroleerder iewers in die middel van waar die tuinkraan geleë is en waar die grondsonde geplaas sal word.

Pas die kraantimer aan en maak seker dat die krag nie aangeskakel is totdat die installasie voltooi is nie.

Pas die grondsonde aan.

Heg strookaansluitings aan elke komponent en lê dan die telefoonkabel van die skroefaansluitings van elke komponent om seker te maak dat die kabel met 'n motorleiding bedek is. Alles verbind

Verseël alle terminale en ander blootgestelde dele met 'n draad seëlband en dan 'n elektriese band.

Verseël alle los/blootgestelde dele van die gesplete buis met 'n draad seëlband en dan 'n elektriese band.

Koppel die timer aan 'n 3.2v kragbron. Of 'n battery of 'n 3.2V DC - wisselstroomadapter wat na 'n netaansluiting loop.

Koppel die Arduino aan 'n 6-12V DC kragbron. Of 'n battery of 'n USB / DC-wisselstroomadapter wat na 'n netaansluiting loop.

Skakel aan en toets!

Stap 9: Integrasie van ThingsBoard - Monitering en rapportering

ThingsBoard Integration - Monitering en verslagdoening
ThingsBoard Integration - Monitering en verslagdoening

Hierdie voorbeeld gebruik 'n Dragino Lora Shield wat gekoppel is aan 'n Dragino Lora Gateway. Of u hierdie opstelling, 'n ander Lora -opstelling of enige ander IOT -verbinding gebruik, die data wat deur die besproeiingsbeheerder versamel is, kan na 'n IOT -platform soos Thingsboard gestuur word. Die program stuur standaard die volgende datastring oor waar elke karakterbyte heksig gekodeer is:

TXXXHXXXSXXXXRX

Waar T gevolg word deur die temperatuur, word H gevolg deur die humiditeit, S word gevolg deur die versadigingsvlak en R word gevolg deur 'n enkele syfer wat verband hou met watter aksie dit uitgevoer het tydens die laaste lopingsinterval. Dit kan 0-5 wees waar elke syfer beteken:

0: Die program word geïnitialiseer1: Temperatuursensorfout2: Temperatuur was te laag om te loop3: Grondvog te droog sodat die kraantimer geaktiveer is4: Grondvog fyn sodat die kraantimer nie geaktiveer is nie5: Die besproeiingsbeheerder is gedeaktiveer

Daar is verskillende maniere om 'n kopie van Thingsboard op u eie toerusting te installeer, of u kan 'n gratis rekening op ons ThingsBoard -installasie hier opstel.

Stel u toestel op in Thingsboard

Volg hierdie instruksies om 'n nuwe toestel in Thingsboard by te voeg wat dit 'Irrigation Controller' noem.

Stuur telemetrie -data vanaf die toestel

Volg hierdie instruksies om 'n metode op te stel om telemtry -data van die toestel na Thingboard te stuur via MQTT, HTTP of CoAp.

Op ons bediener stoot ons die volgende JSON elke vier uur na

Ons stuur ook die volgende eienskappe gereeld na https://thingsboard.meansofproduction.tech/api/v1/… met data oor wanneer die knoop laas gesien is:

Dit word gebruik vir waarskuwings wat geaktiveer word as die toestel ophou om data te stuur.

Skep 'n dashboard

Skep 'n paneelbord soos hier beskryf. Ons widgets sluit in:

'N Eenvoudige kaart -widget wat gemaak is uit die lastRunResult -telemetrieveld.' N Vertikale digitale meter vir die temperatuur -telemetrieveld 'n Tydreeks -tabel geskep uit die lastRunResult -telemetrieveld met die data van die laaste dae. 'N Horisontale balk wat die versadigingstelemetrieveld toon. Dit gebruik 'n na-verwerkingsfunksie van data:

gee 1024-waarde terug;

En stel 'n minimum en maksimum waarde 0-100. Op hierdie manier kan die versadigingsvlak uitgedruk word as 'n persentasie. 'N Peil om die humiditeitswaarde aan te toon.' N Tydreeksgrafiek van die tydreeks wat die temperatuur, humiditeit en die uitslag bevat, gegroepeer in periodes van 5 uur vir die afgelope week, saamgevoeg om maksimum waardes te toon. Dit gee ons een kroeg vir 'n vieruur lange geleentheid. 'N Data-na-verwerkingsfunksie word gebruik om die lopingsresultaat as 0 of 120 uit te druk, afhangende of water al dan nie geloop is nie. Dit gee 'n maklike visuele terugvoer om te sien hoe gereeld water binne 'n week loop.'n Statiese HTML -kaart wat 'n beeld van die tuin toon.

E -pos waarskuwings

Ons het reëls gebruik om e -poswaarskuwings vir die besproeiingsbeheerder op te stel. Almal gebruik boodskapfilters en 'n Stuur e -pos -inprop -aksie.

Om 'n e -poswaarskuwing te stuur as die besproeiingsbeheerder nie data stuur nie, het ons 'Apparaatkenmerke -filter' gebruik met die volgende filter:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

Gebruik die volgende telemetriefilter om 'n e -pos te stuur as die grond te droog word

tipe versadiging! = "ongedefinieerde" && versadiging> 1010

Gebruik die volgende Telemetry -filter om 'n e -pos te stuur as die grond te klam word

tipe versadiging! = "ongedefinieerde" && versadiging

Aanbeveel: