Sisällysluettelo:

IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen kasvien kastelujärjestelmä: 17 vaihetta (kuvilla)
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen kasvien kastelujärjestelmä: 17 vaihetta (kuvilla)

Video: IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen kasvien kastelujärjestelmä: 17 vaihetta (kuvilla)

Video: IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen kasvien kastelujärjestelmä: 17 vaihetta (kuvilla)
Video: Campi Flegrei: Italian Supervolcano Pt4: Eruption simulointi nykypäivänä 2024, Heinäkuu
Anonim
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen laitoksen kastelujärjestelmä
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen laitoksen kastelujärjestelmä
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen laitoksen kastelujärjestelmä
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen laitoksen kastelujärjestelmä

Tämä projekti on edistynyt aikaisemmasta ohjeistuksestani: APIS - Automatized Plant Irrigation System

Olen käyttänyt APISia lähes vuoden ajan ja halusin parantaa aiempaa muotoilua:

  1. Mahdollisuus valvoa laitosta etänä. Näin tämä projekti tuli IoT-yhteensopivaksi.
  2. Helppo vaihtaa maaperän kosteusanturi. Olen käynyt läpi kolme erilaista kosteusanturia, ja riippumatta siitä, mitä materiaalia käytin, se mureni ennemmin tai myöhemmin. Uuden mallin piti siis kestää niin kauan kuin mahdollista ja vaihtaa nopeasti ja helposti.
  3. Veden taso astiassa. Halusin pystyä kertomaan kuinka paljon vettä on vielä saatavilla ämpäriin ja lopettamaan kastelun, kun ämpäri on tyhjä.
  4. Paremman näköinen. Harmaa projektilaatikko oli hyvä alku, mutta halusin luoda jotain, joka näytti hieman paremmalta. Sinä olet tuomari, jos pystyin saavuttamaan tämän tavoitteen…
  5. Autonomia. Halusin uuden järjestelmän olevan itsenäinen tehon ja/tai Internetin saatavuuden suhteen.

Tuloksena oleva projekti on yhtä paljon konfiguroitavissa kuin edeltäjänsä, ja siinä on muita hyödyllisiä ominaisuuksia.

Halusin myös hyödyntää äskettäin hankittua 3D-tulostintani, joten osa osista on tulostettava.

Vaihe 1: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto

Tarvitset seuraavat komponentit IoT APIS v2: n rakentamiseen:

  1. NodeMcu Lua ESP8266 ESP -12E WIFI Development Board - banggood.comissa
  2. SODIAL (R) 3-nastainen ultraäänianturin etäisyysmittausmoduuli, kaksoisanturi, kolminapainen aluksella-on amazon.com
  3. DC 3V -6V 5V pieni upotettava vesipumppu akvaariokalasäiliöpumppu - ebay.com
  4. Kolmivärinen LED - amazon.com
  5. Vero board - osoitteessa amazon.com
  6. PN2222 -transistori - osoitteessa amazon.com
  7. Muoviset ruuvit, pultit ja mutterit
  8. Juotoslaitteet ja -tarvikkeet
  9. Johdot, vastukset, liittimet ja muut sekalaiset elektroniset komponentit
  10. Tyhjä Tropicana OJ 2.78 QT -purkki
  11. 2 sinkittyä naulaa

Vaihe 2: Yleinen suunnittelu

Yleinen suunnittelu
Yleinen suunnittelu
Yleinen suunnittelu
Yleinen suunnittelu

Suunnittelu koostuu seuraavista osista: 1. Maaperän kosteusanturi ja kasvien kastelukotelo (yhdistetty - 3D -painettu) 2. Letkut ja johdot 3. Lokeron vesivuotoanturi (3D -tulostettu) 4. Ohjausmoduuli, joka on asennettu OJ -purkin päälle (sijoitettu ja suljettu 3D -painetussa kotelossa) 5. Upotettu vesipumppu 6. NodeMCU -luonnos7. IoT -kokoonpano 8. Virtalähde: USB pistorasian kautta - TAI - aurinkopaneeli (itsenäinen tila) Keskustelemme jokaisesta osasta erikseen

Vaihe 3: Vedenalainen vesipumppu

Vedenalainen vesipumppu
Vedenalainen vesipumppu
Vedenalainen vesipumppu
Vedenalainen vesipumppu

Vedenalainen vesipumppu sijaitsee OJ -purkin kahvan alla (välttääksesi häiriöitä vedenpinnan mittaamiseen). Pumppu on sijoitettu siten, että se "leijuu" noin 2-3 mm purkin pohjan yläpuolella, jotta vesi pääsee virtaamaan vapaasti imuaukkoon.

Koska pumppu on upotettava kokonaan normaalikäyttöön, pienen vedenpinnan on oltava noin 3 cm (noin 1 tuumaa).

Vaihe 4: EU -purkin päälle asennettu ohjausmoduuli

Ohjausmoduuli asennettuna OJ -purkin päälle
Ohjausmoduuli asennettuna OJ -purkin päälle
Ohjausmoduuli asennettuna OJ -purkin päälle
Ohjausmoduuli asennettuna OJ -purkin päälle
Ohjausmoduuli asennettuna OJ -purkin päälle
Ohjausmoduuli asennettuna OJ -purkin päälle

Valitsin tavallisen suuren Tropicana OJ -purkin vesisäiliöksi. Ne ovat laajalti saatavilla ja vakiona.

Ohjausmoduuli asetetaan purkin päälle sen jälkeen, kun alkuperäinen hana on poistettu.

Ohjausmoduulin sijaintipaikka on 3D -tulostettu. STL -tiedosto on tämän ohjeen tiedosto- ja luonnososiossa.

Pumppu, letkut ja johdot johdetaan Tropicana -purkin kahvan läpi vapauttaakseen tilaa vedenpinnan mittaamiseen.

Vedenpinta mitataan ohjausmoduulialustalle integroidulla ultraäänietäisyysanturilla. Vedenkorkeus määritetään erona tyhjän purkin etäisyydestä ja vedellä täytettyyn astiaan tietylle tasolle.

Ohjausmoduuli ja Yhdysvaltain anturi on peitetty 3D -painetulla "kupolilla". Kupolin STL -tiedosto on tämän ohjeen tiedosto- ja luonnososiossa.

Vaihe 5: Ohjausmoduuli - Kaaviot

Ohjausmoduuli - Kaaviot
Ohjausmoduuli - Kaaviot
Ohjausmoduuli - Kaaviot
Ohjausmoduuli - Kaaviot

Ohjausmoduulin kaaviot (mukaan lukien komponenttiluettelo) ja leipälevyn suunnittelutiedostot löytyvät tämän ohjeen tiedostoista ja luonnoksista.

HUOMAUTUS: Työskentely NodeMCU: n kanssa osoittautui haastavaksi tehtäväksi käytettävissä olevien GPIO -nastojen suhteen. Lähes kaikki GPIO: t palvelevat useita toimintoja, minkä vuoksi niitä ei voi käyttää tai niitä ei voida käyttää syvässä lepotilassa (erityistoimintojen vuoksi, joita he pelaavat käynnistysprosessin aikana). Lopulta onnistuin löytämään tasapainon GPIO: iden käytön ja vaatimusteni välillä, mutta se kesti muutaman turhauttavan iteraation.

Esimerkiksi monet GPIO: t pysyvät "kuumina" syvän unen aikana. LEDin liittäminen niihin, jotka eivät voineet vähentää virrankulutusta syvän unen aikana.

Vaihe 6: Lokeron vesivuotoanturi

Lokeron vesivuototunnistin
Lokeron vesivuototunnistin
Lokeron vesivuototunnistin
Lokeron vesivuototunnistin
Lokeron vesivuototunnistin
Lokeron vesivuototunnistin

Jos ruukun pohjassa on ylivuotoaukko, on olemassa vaara, että pohjaalustan ylivuoto voi vuotaa lattialle (hyllylle tai muulle laitoksellesi).

Huomasin, että maaperän kosteuden mittaamiseen vaikuttavat suuresti anturin sijainti, maaperän tiheys, etäisyys kasteluputkesta jne. Toisin sanoen pelkkä maaperän kosteus voi vahingoittaa kotiasi, jos vesi ylittää pohjalevyn ja roiskuu sen yli.

Ylivuototunnistin on välipannu kattilan ja pohjatason välillä, ja kaksi johtoa on kääritty tankojen ympärille. Kun vesi täyttää lokeron, kaksi johtoa yhdistetään toisiinsa, mikä ilmoittaa mikro -ohjaimelle, että pohjakasetissa on vettä.

Lopulta vesi haihtuu ja johdot irrotetaan.

Alempi lokero on 3D -tulostettu. STL -tiedosto on saatavana tämän ohjeen Tiedostot ja luonnokset -osasta.

Vaihe 7: Maaperän kosteusanturi ja kastelukotelo

Image
Image
Maaperän kosteusanturi ja kastelukotelo
Maaperän kosteusanturi ja kastelukotelo
Maaperän kosteusanturi ja kastelukotelo
Maaperän kosteusanturi ja kastelukotelo

Suunnittelin kuusikulmion 3D -painetun kotelon yhdistetyksi maaperän kosteusanturiksi ja kastelukoteloksi.

3D -tulostustiedosto (STL) on saatavana tämän ohjeen Tiedostot ja luonnokset -osassa.

Kotelo koostuu kahdesta osasta, jotka on liimattava yhteen. Muokattu piikkiliitin liimataan kotelon sivulle letkun kiinnittämiseksi.

Sinkittyjen naulojen sijoittamiseen on kaksi 4,5 mm reikää, jotka toimivat maaperän kosteusanturina. Liitettävyys mikrokontrolleriin saavutetaan metallilevyillä, jotka on valittu erityisesti kynsien mukaan.

3D-suunnittelu tehdään käyttämällä www.tinkercad.com-sivustoa, joka on loistava ja helppokäyttöinen mutta tehokas 3D-suunnittelutyökalu.

HUOMAUTUS: Haluat ehkä kysyä, miksi en yksinkertaisesti käyttänyt yhtä esivalmistetuista maaperäanturista? Vastaus on: kalvo liukenee viikkojen kuluessa. Itse asiassa, vaikka rajoitetun ajan kynnet ovat jännitteen alaisia, ne silti syöpyvät ja ne on vaihdettava vähintään kerran vuodessa. Yllä oleva malli mahdollistaa naulojen vaihtamisen muutamassa sekunnissa.

Vaihe 8: Letkut ja johdotus

Letkut ja johdot
Letkut ja johdot

Vesi toimitetaan suunnitelmaan Superpehmeän lateksikumin puolikirkkaan letkun kautta (sisähalkaisija 1/4 "ja ulkohalkaisija 5/16").

Pumpun poistoaukko vaatii suuremman letkun ja sovittimen: kemikaalinkestävä polypropeenipiikki, pelkistävä suora 1/4 "x 1/8" putken tunnukselle.

Lopuksi, kemikaalinkestävä polypropeenipiikki, suora 1/8 putken tunnisteelle, toimii liittimenä kastelukoteloon.

Vaihe 9: NodeMCU -luonnos

NodeMCU -luonnos
NodeMCU -luonnos

NodeMCU -luonnos toteuttaa useita IoT APIS v2 -ominaisuuksia:

  1. Yhdistää olemassa olevaan WiFi -verkkoon - TAI - toimii WiFi -tukiasemana (kokoonpanosta riippuen)
  2. NTP -palvelimet hakevat paikallista aikaa
  3. Toteuttaa verkkopalvelimen kasvien seurantaan sekä kastelu- ja verkkoparametrien säätämiseen
  4. Mittaa maaperän kosteuden, pohjalevyn vesivuodot, astian vedenpinnan ja ilmaisee visuaalisesti 3 -värisen LED -valon
  5. Toteuttaa online- ja virransäästötilat
  6. Tallentaa tiedot jokaisesta kastelukierroksesta paikallisesti sisäiseen flash -muistiin

Vaihe 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Oletuksena IoT APIS v2 luo paikallisen WiFi -tukiaseman nimeltä "Plant_XXXXXX", jossa XXXXXX on NodeMCU: n aluksella olevan ESP8266 -sirun sarjanumero.

Voit käyttää sisäänrakennettua verkkopalvelinta URL-osoitteen kautta: https://plant.io sisäinen DNS-palvelin yhdistää laitteesi APIS-tilasivulle.

Tilasivulta voit siirtyä kasteluparametrisivulle ja verkkoparametrisivulle, jossa voit saada IoT APIS v2: n muodostamaan yhteyden WiFi -verkkoon ja aloittaa raportoinnin tilasta pilveen.

IoT APIS tukee online- ja virransäästötoimintoja:

  1. Online -tilassa IoT APIS pitää WiFi -yhteyden koko ajan päällä, joten voit tarkistaa laitoksen tilan milloin tahansa
  2. Virransäästötilassa IoT APIS tarkistaa maaperän kosteuden ja vedenpinnan säännöllisin väliajoin, jolloin laite siirtyy "syvään lepotilaan", mikä vähentää merkittävästi sen virrankulutusta. Laite ei kuitenkaan ole käytettävissä verkossa koko ajan, ja parametreja voidaan muuttaa vain laitteen käynnistyksen aikana (tällä hetkellä 30 minuutin välein, kohdistettuna reaaliaikaisen tunnin/puolen tunnin kelloon). Laite pysyy online -tilassa 1 minuutin välein 30 minuutin ajan, jotta kokoonpano voidaan muuttaa, ja siirtyy sitten syvään lepotilaan. Jos käyttäjä muodostaa yhteyden laitteeseen, "ylös" -aika pidennetään 3 minuuttiin jokaisesta yhteydestä.

Kun laite on yhdistetty paikalliseen WiFi -verkkoon, sen IP -osoite ilmoitetaan IoT -pilvipalvelimelle ja näkyy mobiililaitteella.

Vaihe 11: NodeMCU Sketch - NTP

NodeMCU -luonnos - NTP
NodeMCU -luonnos - NTP

IoT APIS v2 käyttää NTP -protokollaa paikallisen ajan hankkimiseen NIST -aikapalvelimilta. Oikeaa aikaa käytetään määrittämään, tuleeko laitteen siirtyä "yötilaan", ts. Vältä pumpun käyttöä tai vilkkuvaa LED -valoa.

Yöaika voidaan määrittää erikseen työpäiville ja viikonloppu -aamuille.

Vaihe 12: NodeMCU -luonnos - paikallinen verkkopalvelin

NodeMCU Sketch - paikallinen verkkopalvelin
NodeMCU Sketch - paikallinen verkkopalvelin
NodeMCU Sketch - paikallinen verkkopalvelin
NodeMCU Sketch - paikallinen verkkopalvelin
NodeMCU Sketch - paikallinen verkkopalvelin
NodeMCU Sketch - paikallinen verkkopalvelin

IoT APIS v2 ottaa käyttöön paikallisen verkkopalvelimen tilan raportointia ja kokoonpanomuutoksia varten. Kotisivu tarjoaa tietoja nykyisestä kosteudesta ja veden tasosta, ylivuotoveden esiintymisestä alalokerossa ja viimeisimmän kastelukierroksen tilastoja. Määritä verkko -painikkeen kautta) tarjoaa mahdollisuuden muodostaa yhteys paikalliseen WiFi -verkkoon ja vaihtaa online- ja virransäästötilaan. (Muutokset verkkokokoonpanoon aiheuttavat laitteen nollauksen) Kastelukonfigurointisivu (pääsee konfigurointi -vesipainikkeella) tarjoaa mahdollisuuden muuttaa kasteluparametreja (maaperän kosteus kastelun aloittamiseen/lopettamiseen, kastelukierroksen kesto ja ajoitusten välisen kyllästystauon, käyntien määrä) jne.) Verkkopalvelimen HTML -tiedostot sijaitsevat IoT APIS Arduino IDE -luonnoksen datakansiossa. Ne tulee ladata NodeMCU -flash -muistiin SPIFF -tiedostojärjestelmäksi käyttämällä "ESP8266 Sketch Data Upload" -työkalua.

Vaihe 13: NodeMCU -luonnos - Paikallinen kasteluloki ja pääsy sisäiseen tiedostojärjestelmään

NodeMCU Sketch - Paikallinen kasteluloki ja pääsy sisäiseen tiedostojärjestelmään
NodeMCU Sketch - Paikallinen kasteluloki ja pääsy sisäiseen tiedostojärjestelmään

Jos verkkoyhteys ei ole käytettävissä, IoT APIS v2 -järjestelmä kirjaa kaikki kastelutoiminnot paikallisesti.

Päästäksesi lokiin, muodosta yhteys laitteeseen ja siirry '/muokkaa' -sivulle ja lataa sitten watering.log -tiedosto. Tämä tiedosto sisältää kaikkien kastelukertojen historian hakkuiden aloittamisen jälkeen.

Esimerkki tällaisesta lokitiedostosta (sarkaimella erotetussa muodossa) on liitetty tähän vaiheeseen.

HUOMAUTUS: Lataussivu ei ole käytettävissä, kun IoT APIS v2 on käynnissä tukiasematilassa (johtuen riippuvuudesta online -Java Script -kirjastosta).

Vaihe 14: NodeMCU -luonnos - maaperän kosteus, pohjakasetin vesivuoto, vesitaso, 3 värin LED

Image
Image
NodeMCU Sketch - Maaperän kosteus, Pohjatason vesivuoto, Veden taso, 3 -väri -LED
NodeMCU Sketch - Maaperän kosteus, Pohjatason vesivuoto, Veden taso, 3 -väri -LED
NodeMCU Sketch - Maaperän kosteus, Pohjatason vesivuoto, Veden taso, 3 -väri -LED
NodeMCU Sketch - Maaperän kosteus, Pohjatason vesivuoto, Veden taso, 3 -väri -LED

Maaperän kosteuden mittaus perustuu samaan periaatteeseen kuin alkuperäinen APIS. Katso lisätietoja ohjeesta.

Vesialustan vuodot havaitaan syöttämällä hetkellisesti jännite kattilan alla oleviin johtoihin käyttämällä sisäisiä PULLUP -vastuksia. Jos tuloksena oleva PIN -tila on LOW, lokerossa on vettä. KORKEA PIN -tila ilmaisee, että piiri on "rikki", joten pohjakasetissa ei ole vettä.

Vedenkorkeus määritetään mittaamalla etäisyys purkin yläosasta vedenpintaan ja vertaamalla sitä etäisyyteen tyhjän purkin pohjaan. Huomaa 3 -nastaisen anturin käyttö! Ne ovat kalliimpia kuin nelinapaiset HC-SR04-anturit. Valitettavasti GPIO: t loppuivat NodeMCU: sta ja jouduin katkaisemaan kaikki mahdolliset johdot, jotta suunnittelu toimisi vain yhdellä NodeMCU: lla ilman lisäpiirejä.

3 -värisellä LEDillä osoitetaan visuaalisesti APIS -tila:

  1. Vilkkuu kohtalaisen vihreänä - muodostaa yhteyden WiFi -verkkoon
  2. Vilkkuu nopeasti VIHREÄNÄ - kyselee NTP -palvelinta
  3. Lyhyt kiinteä VIHREÄ - yhdistetty WiFi -verkkoon ja saatu nykyinen aika NTP: ltä
  4. Lyhyt kiinteä VALKOINEN - verkon alustus valmis
  5. Vilkkuu nopeasti VALKOINEN - käynnistää tukiasematilan
  6. Nopeasti vilkkuva SININEN - kastelu
  7. Kohtalaisen vilkkuva SININEN - kylläinen
  8. Lyhyesti kiinteä AMBER ja lyhyesti kiinteä PUNAINEN - ei voi saada aikaa NTP: ltä
  9. Lyhyesti kiinteä VALKOINEN sisäisen verkkopalvelimen käytön aikana

LED ei toimi yötilassa. NIght -tila voidaan määrittää luotettavasti vain, jos laite pystyy hankkimaan paikallisen ajan NTP -palvelimilta vähintään kerran (paikallista reaaliaikakelloa käytetään, kunnes seuraava yhteys NTP: hen on muodostettu)

Esimerkki LED -toiminnosta löytyy YouTubesta täältä.

Vaihe 15: Aurinkovoima, Power Bank ja itsenäinen toiminta

Aurinkoenergia, virtapankki ja itsenäinen toiminta
Aurinkoenergia, virtapankki ja itsenäinen toiminta
Aurinkoenergia, virtapankki ja itsenäinen toiminta
Aurinkoenergia, virtapankki ja itsenäinen toiminta
Aurinkoenergia, virtapankki ja itsenäinen toiminta
Aurinkoenergia, virtapankki ja itsenäinen toiminta

Yksi IoT APIS v2: n ideoista oli kyky toimia itsenäisesti.

Nykyinen malli käyttää aurinkopaneelia ja väliaikaista 3600 mAh: n virtapankkia tämän saavuttamiseksi.

  1. Aurinkopaneeli on saatavilla osoitteessa amazon.com
  2. Virtapankki on saatavana myös osoitteesta amazon.com

Aurinkopaneelissa on myös sisäänrakennettu 2600 mAh: n akku, mutta se ei pystynyt ylläpitämään 24 tunnin APIS -toimintaa edes virransäästötilassa (epäilen, että akku ei käsittele hyvin samanaikaista latausta ja purkausta). Kahden akun yhdistelmä näyttää riittävän tehokkaalta ja mahdollistaa molempien akkujen lataamisen uudelleen päivän aikana. Aurinkopaneeli lataa virtapankkia, kun taas virtapankki käynnistää APIS -laitteen.

Huomaa:

Nämä komponentit ovat valinnaisia. Voit kytkeä laitteeseen virtaa millä tahansa USB -sovittimella, joka tuottaa 1A virran.

Vaihe 16: IoT -integrointi - Blynk

IoT -integrointi - Blynk
IoT -integrointi - Blynk
IoT -integrointi - Blynk
IoT -integrointi - Blynk
IoT -integrointi - Blynk
IoT -integrointi - Blynk

Yksi uuden suunnittelun tavoitteista oli kyky seurata maaperän kosteutta, vedenpintaa ja muita parametreja etänä.

Valitsin Blynkin (www.blynk.io) IoT -alustaksi sen helppokäyttöisyyden ja houkuttelevan visuaalisen suunnittelun vuoksi.

Koska luonnokseni perustuu TaskScheduler -monitoimikirjastoon, en halunnut käyttää Blynk -laitekirjastoja (ne eivät ole käytössä TaskSchedulerissa). Sen sijaan käytin Blynk HTTP RESTful -sovellusliittymää (saatavana täältä).

Sovelluksen määrittäminen on niin intuitiivista kuin se voisi olla. Seuraa liitteenä olevia kuvakaappauksia.

Vaihe 17: Luonnokset ja tiedostot

Luonnokset ja tiedostot
Luonnokset ja tiedostot

IoT APIS v2 -luonnos sijaitsee githubissa täällä: Sketch

Tässä muutamia luonnoksen käyttämiä kirjastoja:

  1. TaskScheduler - yhteistoiminnallinen moniajo -kirjasto Arduinolle ja esp8266: lle
  2. AvgFilter - keskimääräisen suodattimen kokonaislukuinen toteutus anturitietojen tasoittamiseen
  3. RTCLib - reaaliaikaisen kellon laitteiston ja ohjelmiston käyttöönotto (itse muokkaamani)
  4. Aika - Aikakirjaston muutokset
  5. Aikavyöhyke - kirjasto, joka tukee aikavyöhykelaskelmia

HUOMAUTUS:

Tietolomakkeet, pin-dokumentaatio ja 3D-tiedostot sijaitsevat pääluonnoksen "tiedostot" -alikansiossa.

Sisäänrakennetun verkkopalvelimen HTML-tiedostot on ladattava NODE MCU -muistiin käyttämällä arduino-esp8266fs-pluginia (joka luo tiedostojärjestelmätiedoston pääluonnoskansion "data" -alikansiosta ja lataa sen flash-muistiin)

Sisäpuutarhakilpailu 2016
Sisäpuutarhakilpailu 2016
Sisäpuutarhakilpailu 2016
Sisäpuutarhakilpailu 2016

Toinen sija sisäpuutarhanhoitokilpailussa 2016

Suositeltava: