Turinys:
- 1 žingsnis: Aparatūra
- 2 žingsnis: bendras dizainas
- 3 žingsnis: panardintas vandens siurblys
- 4 žingsnis: Valdymo modulis, sumontuotas ant OL stiklainio viršaus
- 5 žingsnis: valdymo modulis - schemos
- 6 žingsnis: dėklo vandens nuotėkio jutiklis
- 7 žingsnis: dirvožemio drėgmės zondas ir laistymo gaubtas
- 8 žingsnis: Vamzdžiai ir laidai
- 9 žingsnis: „NodeMCU“eskizas
- 10 veiksmas: „NodeMCU Sketch“- „WiFi“
- 11 veiksmas: „NodeMCU Sketch“- NTP
- 12 veiksmas: „NodeMCU Sketch“- vietinis žiniatinklio serveris
- 13 žingsnis: „NodeMCU“eskizas - vietinis laistymo žurnalas ir prieiga prie vidinės failų sistemos
- 14 žingsnis: „NodeMCU“eskizas - dirvožemio drėgmė, apatinio dėklo vandens nuotėkis, vandens lygis, 3 spalvų šviesos diodas
- 15 žingsnis: saulės energija, maitinimo bankas ir autonominis veikimas
- 16 veiksmas: daiktų interneto integracija - „Blynk“
- 17 žingsnis: eskizai ir failai
Video: „IoT APIS V2“- autonominė IoT palaikanti automatinė augalų drėkinimo sistema: 17 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Šis projektas yra mano ankstesnio nurodymo evoliucija: APIS - automatinė augalų drėkinimo sistema
Aš beveik metus naudoju APIS ir norėjau patobulinti ankstesnį dizainą:
- Galimybė stebėti augalą nuotoliniu būdu. Taip šis projektas tapo įjungtas IoT.
- Lengva pakeisti dirvožemio drėgmės zondą. Aš peržiūrėjau tris skirtingus drėgmės zondo dizainus ir nesvarbu, kokią medžiagą naudojau, anksčiau ar vėliau jis išnyko. Taigi naujas dizainas turėjo tarnauti kuo ilgiau ir greitai bei lengvai pakeisti.
- Vandens lygis kibire. Norėjau, kad galėčiau pasakyti, kiek vandens dar yra kibire, ir nustoti laistyti, kai kibiras tuščias.
- Geriau atrodo. Pilka projekto dėžutė buvo gera pradžia, tačiau norėjau sukurti kažką, kas atrodytų šiek tiek geriau. Jūs būsite teisėjas, jei sugebėsiu pasiekti šį tikslą …
- Autonomija. Norėjau, kad naujoji sistema būtų autonomiška galios ir (arba) interneto prieinamumo požiūriu.
Gautas projektas yra ne mažiau konfigūruojamas nei jo pirmtakas ir turi papildomų naudingų funkcijų.
Taip pat norėjau panaudoti savo naujai įsigytą 3D spausdintuvą, todėl kai kurios dalys turės būti atspausdintos.
1 žingsnis: Aparatūra
Norint sukurti „IoT APIS v2“, jums reikės šių komponentų:
- „NodeMcu Lua ESP8266 ESP -12E WIFI Development Board“- svetainėje banggood.com
- SODIAL (R) 3 kontaktų ultragarso jutiklio atstumo matavimo modulis, dvigubas keitiklis, trijų kontaktų plokštė-on amazon.com
- DC 3V -6V 5V mažo povandeninio vandens siurblio akvariumo žuvų bakų siurblys - ebay.com
- Trijų spalvų LED - amazon.com
- „Vero“lenta - amazon.com
- PN2222 tranzistorius - amazon.com
- Plastikiniai varžtai, varžtai ir veržlės
- Litavimo įranga ir reikmenys
- Laidai, rezistoriai, antraštės ir kiti įvairūs elektroniniai komponentai
- Tuščias Tropicana OJ 2.78 QT indelis
- 2 cinkuotos vinys
2 žingsnis: bendras dizainas
Bendras dizainas susideda iš šių komponentų: 1. Dirvožemio drėgmės zondas ir augalų laistymo gaubtas (kartu - 3D spausdinimas) 2. Vamzdžiai ir laidai 3. Padėklo vandens nuotėkio jutiklis (atspausdintas 3d) 4. Valdymo modulis, sumontuotas ant OJ stiklainio (dedamas ir pridedamas 3D spausdintiniame dėkle) 5. Panardintas vandens siurblys6. NodeMCU eskizas7. IoT konfigūracija8. Maitinimas: USB per maitinimo lizdą -AR- saulės kolektorius (autonominis režimas) Aptarkime kiekvieną komponentą atskirai
3 žingsnis: panardintas vandens siurblys
Panardintas vandens siurblys yra žemiau OJ stiklainio rankenos (kad būtų išvengta vandens lygio matavimo trukdžių). Siurblys pastatytas taip, kad jis „pakibtų“maždaug 2-3 mm virš stiklainio dugno, kad į įsiurbimo angą tekėtų laisvas vanduo.
Kadangi normaliam darbui siurblys turi būti visiškai panardintas, minimalus vandens lygis inde turi būti maždaug 3 cm (apie 1 colio).
4 žingsnis: Valdymo modulis, sumontuotas ant OL stiklainio viršaus
Vandens talpyklai pasirinkau standartinį didelį „Tropicana OJ“indelį. Jie yra plačiai prieinami ir standartiniai.
Valdymo modulis dedamas ant stiklainio viršaus, kai tik pašalinamas pradinis čiaupas.
Platforma, kurioje yra valdymo modulis, yra atspausdinta 3d. STL failas pateikiamas šios instrukcijos failų ir eskizų skyriuose.
Siurblys, vamzdeliai ir laidai nukreipiami per „Tropicana“stiklainio rankeną, kad būtų atlaisvinta vandens lygio matavimo vieta.
Vandens lygis matuojamas ultragarsiniu atstumo jutikliu, integruotu į valdymo modulio platformą. Vandens lygis nustatomas, nes skirtumas yra tuščio indelio atstumo matavimas, o indas pripildytas vandens iki tam tikro lygio.
Valdymo modulis ir JAV jutiklis yra padengti 3D spausdintiniu „kupolu“. Kupolo STL failas pateikiamas šios instrukcijos failų ir eskizų skyriuje.
5 žingsnis: valdymo modulis - schemos
Valdymo modulio schemos (įskaitant komponentų sąrašą) ir duonos lentos dizaino failai pateikiami šios instrukcijos failų ir eskizų skyriuje.
PASTABA: Darbas su „NodeMCU“pasirodė esąs sudėtingas uždavinys, atsižvelgiant į turimus GPIO kaiščius. Beveik visi GPIO atlieka daugybę funkcijų, todėl jų negalima naudoti arba jų negalima naudoti gilaus miego režimu (dėl specialių funkcijų, kurias jie atlieka įkrovos proceso metu). Galų gale man pavyko rasti pusiausvyrą tarp GPIO naudojimo ir mano reikalavimų, tačiau prireikė kelių varginančių pakartojimų.
Pavyzdžiui, kai kurie GPIO giliai miegant lieka „karšti“. Šviesos diodų prijungimas prie tų, kurie nugalėjo energijos suvartojimo mažinimo tikslą gilaus miego metu.
6 žingsnis: dėklo vandens nuotėkio jutiklis
Jei jūsų puodo apačioje yra perpildymo anga, kyla pavojus, kad vanduo perpildys apatinį padėklą ir išsilies ant grindų (lentynos ar bet kurioje kitoje jūsų augalo vietoje).
Pastebėjau, kad dirvožemio drėgmės matavimą labai veikia zondo padėtis, dirvožemio tankis, atstumas nuo laistymo angos ir kt. Kitaip tariant, tik dirvožemio drėgmė gali pakenkti jūsų namams, jei vanduo perpildys apatinį padėklą ir išsilieja.
Perpildymo jutiklis yra tarpas tarp puodo ir apatinio padėklo, aplink laidus apvynioti du laidai. Kai vanduo užpildo dėklą, abu laidai sujungiami, taip signalizuojant mikrovaldikliui, kad apatiniame dėkle yra vandens.
Galų gale vanduo išgaruoja, o laidai atjungiami.
Apatinis dėklas yra atspausdintas 3d. STL failą galima rasti šios instrukcijos skyriuje „Failai ir eskizai“.
7 žingsnis: dirvožemio drėgmės zondas ir laistymo gaubtas
Aš suprojektavau šešiakampį 3D spausdintą aptvarą, kuris būtų kombinuotas dirvožemio drėgmės zondas ir laistymo gaubtas.
Šios instrukcijos skyriuje „Failai ir eskizai“yra 3D spausdinimo failas (STL).
Korpusas susideda iš dviejų dalių, kurias reikia suklijuoti. Modifikuotas spygliuotas armatūra įklijuojama į korpuso šoną, kad būtų pritvirtinti vamzdeliai.
Yra dvi 4,5 mm skylės, skirtos cinkuotoms vinims uždėti ir tarnauti kaip dirvožemio drėgmės zondai. Sujungimas su mikrovaldikliu pasiekiamas naudojant metalinius tarpiklius, specialiai parinktus taip, kad atitiktų nagus.
3D dizainas atliekamas naudojant www.tinkercad.com, kuris yra puikus ir lengvai naudojamas, tačiau galingas 3D dizaino įrankis.
PASTABA: Galbūt norėsite paklausti, kodėl aš paprasčiausiai nenaudojau vieno iš iš anksto pagamintų dirvožemio zondų? Atsakymas yra toks: folija ant jų ištirpsta per kelias savaites. Tiesą sakant, net ir ribotą laiką nagai yra įtampos, jie vis tiek suyra ir juos reikia keisti bent kartą per metus. Aukščiau pateikta konstrukcija leidžia pakeisti nagus per kelias sekundes.
8 žingsnis: Vamzdžiai ir laidai
Vanduo į planą tiekiamas per itin minkštą latekso gumos pusiau skaidrų vamzdelį (su 1/4 colio vidiniu skersmeniu ir 5/16 colių išoriniu skersmeniu).
Siurblio išleidimo angai reikalingi didesni vamzdeliai ir adapteris: atsparus chemikalams polipropileninis spygliuotas jungtis, redukcinis tiesiai 1/4 "x 1/8" vamzdžio ID.
Galiausiai, chemikalams atsparus polipropileno spygliuotas armatūra, skirta 1/8 colio vamzdžio ID, naudojama kaip jungtis prie laistymo gaubto.
9 žingsnis: „NodeMCU“eskizas
„NodeMCU“eskizas įgyvendina kelias „IoT APIS v2“funkcijas:
- Prisijungia prie esamo „WiFi“tinklo - ARBA veikia kaip „WiFi“prieigos taškas (priklausomai nuo konfigūracijos)
- Užklausia NTP serverius, kad gautų vietos laiką
- Įdiegia žiniatinklio serverį, skirtą augalų stebėjimui, laistymo ir tinklo parametrų reguliavimui
- Matuoja dirvožemio drėgmę, vandens nutekėjimą iš dugno, vandens lygį indelyje ir vizualiai parodo per 3 spalvotus šviesos diodus
- Įgyvendina internetinius ir energijos taupymo režimus
- Vietinėje atmintyje išsaugo informaciją apie kiekvieną laistymą
10 veiksmas: „NodeMCU Sketch“- „WiFi“
Pagal numatytuosius nustatymus „IoT APIS v2“sukurs vietinį „WiFi“prieigos tašką, pavadintą „Plant_XXXXXX“, kuriame XXXXXX yra „NodeMCU“esančios ESP8266 mikroschemos serijos numeris.
Jūs galite pasiekti integruotą žiniatinklio serverį per URL: https://plant.io vidinis DNS serveris prijungs jūsų įrenginį prie APIS būsenos puslapio.
Būsenos puslapyje galite pereiti į laistymo parametrų puslapį ir tinklo parametrų puslapį, kur galite priversti „IoT APIS v2“prisijungti prie „WiFi“tinklo ir pradėti pranešti apie būseną debesiui.
„IoT APIS“palaiko internetinius ir energijos taupymo režimus:
- Internetiniu režimu „IoT APIS“nuolat palaiko „Wi -Fi“ryšį, todėl bet kuriuo metu galite patikrinti savo gamyklos būseną
- Energijos taupymo režimu „IoT APIS“periodiškai tikrina dirvožemio drėgmę ir vandens lygį, perjungdamas įrenginį į „gilaus miego“režimą, taip smarkiai sumažindamas jo energijos suvartojimą. Tačiau prietaisas nėra prieinamas internete visą laiką, o parametrus galima keisti tik tuo metu, kai įrenginys įjungiamas (šiuo metu kas 30 minučių, suderintas su valandos/pusvalandžio realaus laiko laikrodžiu). Įrenginys liks prisijungęs 1 minutę kas 30 minučių, kad būtų galima keisti konfigūraciją, tada įjungs gilaus miego režimą. Jei vartotojas prisijungia prie įrenginio, „prisijungimo“laikas pratęsiamas iki 3 minučių kiekvienam ryšiui.
Kai įrenginys prijungtas prie vietinio „WiFi“tinklo, jo IP adresas pranešamas daiktų interneto debesies serveriui ir matomas mobiliajame stebėjimo įrenginyje.
11 veiksmas: „NodeMCU Sketch“- NTP
„IoT APIS v2“naudoja NTP protokolą, kad gautų vietinį laiką iš NIST laiko serverių. Norint nustatyti, ar prietaisas turi įjungti „naktinį“režimą, naudojamas teisingas laikas, t. Y. Venkite paleisti siurblį ar mirksėti šviesos diodas.
Nakties laiką galima konfigūruoti atskirai darbo ir savaitgalio rytui.
12 veiksmas: „NodeMCU Sketch“- vietinis žiniatinklio serveris
„IoT APIS v2“diegia vietinį žiniatinklio serverį, kad praneštų apie būseną ir pakeistų konfigūraciją. Pagrindiniame puslapyje pateikiama informacija apie esamą drėgmę ir vandens lygį, vandens perpildymą apatiniame dėkle ir paskutinio laistymo statistiką. Tinklo konfigūracijos puslapis (pasiekiamas per tinklo konfigūravimo mygtuką) suteikia galimybę prisijungti prie vietinio „Wi -Fi“tinklo ir keisti režimus internete ir energijos taupymą. (Pakeitus tinklo konfigūraciją įrenginys bus atstatytas) Laistymo konfigūracijos puslapis (pasiekiamas naudojant vandens konfigūravimo mygtuką) suteikia galimybę keisti laistymo parametrus (dirvožemio drėgmę, kad būtų galima pradėti/sustabdyti laistymą, laistymo trukmę ir prisotinimo pauzę tarp bėgimų, važiavimų skaičių) ir tt) Tinklalapio serverio HTML failai yra „IoT APIS Arduino IDE“eskizo duomenų aplanke. Jie turėtų būti įkelti į „NodeMCU“atmintį kaip SPIFF failų sistema, naudojant „ESP8266 Sketch Data Upload“įrankį, esantį čia.
13 žingsnis: „NodeMCU“eskizas - vietinis laistymo žurnalas ir prieiga prie vidinės failų sistemos
Jei tinklo ryšio nėra, „IoT APIS v2“sistema registruoja visas laistymo veiklas vietoje.
Norėdami pasiekti žurnalą, prisijunkite prie įrenginio ir eikite į puslapį „/redaguoti“, tada atsisiųskite failą watering.log. Šiame faile pateikiama visų laistymų istorija nuo to momento, kai buvo pradėtas ruošti medis.
Prie šio veiksmo pridedamas tokio žurnalo failo (skirtuke atskirtu formatu) pavyzdys.
PASTABA: atsisiuntimo puslapis nepasiekiamas, kai veikia „IoT APIS v2“prieigos taško režimas (dėl priklausomybės nuo internetinės „Java Script“bibliotekos).
14 žingsnis: „NodeMCU“eskizas - dirvožemio drėgmė, apatinio dėklo vandens nuotėkis, vandens lygis, 3 spalvų šviesos diodas
Dirvožemio drėgmės matavimas grindžiamas tuo pačiu principu, kaip ir pradinis APIS. Išsamesnės informacijos ieškokite instrukcijoje.
Vandens dėklo nuotėkis aptinkamas akimirksniu įtampojant laidus, esančius po puodu, naudojant vidinius PULLUP rezistorius. Jei gauta PIN būsena yra ŽEMA, dėkle yra vandens. HIGH PIN būsena rodo, kad grandinė yra „sugedusi“, todėl apatiniame dėkle nėra vandens.
Vandens lygis nustatomas matuojant atstumą nuo stiklainio viršaus iki vandens paviršiaus ir lyginant jį su atstumu iki tuščio stiklainio dugno. Atkreipkite dėmesį į 3 kontaktų jutiklio naudojimą! Jie yra brangesni nei keturių kontaktų jutikliai HC-SR04. Deja, „NodeMCU“pritrūko GPIO ir turėjau nutraukti kiekvieną laidą, kad galėčiau suprojektuoti tik vieną „NodeMCU“be papildomų grandinių.
3 spalvų šviesos diodas naudojamas vizualiai parodyti APIS būseną:
- Vidutiniškai mirksi ŽALIA - prisijungiama prie „WiFi“tinklo
- Greitai mirksi ŽALIA - klausia NTP serverio
- Trumpas tvirtas ŽALIAS - prijungtas prie „WiFi“ir sėkmingai gautas dabartinis laikas iš NTP
- Trumpas tvirtas BALTAS - tinklo inicijavimas baigtas
- Greitai mirksi BALTA - įjungiamas prieigos taško režimas
- Greitai mirksi MĖLYNA - laistoma
- Vidutiniškai mirksi MĖLYNA - sodri
- Trumpai kietas GINTARAS, po kurio trumpai tvirtas RAUDONAS - negali gauti laiko iš NTP
- Prieiga prie vidinio žiniatinklio serverio yra trumpa BALTA
Šviesos diodas neveikia „nakties“režimu. NIght režimą būtų galima patikimai nustatyti tik tuo atveju, jei įrenginys bent kartą galėtų gauti vietos laiko iš NTP serverių (vietinis realiojo laiko laikrodis bus naudojamas tol, kol bus užmegztas kitas ryšys su NTP)
LED funkcijos pavyzdį galite rasti „YouTube“čia.
15 žingsnis: saulės energija, maitinimo bankas ir autonominis veikimas
Viena iš „IoT APIS v2“idėjų buvo gebėjimas veikti savarankiškai.
Dabartinėje konstrukcijoje tam naudojamas saulės energijos skydas ir laikinas 3600 mAh galios bankas.
- Saulės skydelį galima rasti amazon.com
- „Power Bank“taip pat galima rasti „amazon.com“
Saulės skydelyje taip pat yra įmontuota 2600 mAh talpos baterija, tačiau ji nesugebėjo išlaikyti 24 valandų APIS veikimo net energijos taupymo režimu (įtariu, kad akumuliatorius netinkamai veikia vienu metu įkraunant ir iškraunant). Panašu, kad dviejų baterijų derinys suteikia pakankamai energijos ir leidžia iš naujo įkrauti abi baterijas per dieną. Saulės skydelis įkrauna maitinimo banką, o maitinimo bankas įjungia APIS įrenginį.
PASTABA:
Šie komponentai yra neprivalomi. Galite tiesiog įjungti įrenginį bet kuriuo USB adapteriu, kuris tiekia 1A srovę.
16 veiksmas: daiktų interneto integracija - „Blynk“
Vienas iš naujo dizaino tikslų buvo galimybė nuotoliniu būdu stebėti dirvožemio drėgmę, vandens lygį ir kitus parametrus.
Aš pasirinkau „Blynk“(www.blynk.io) kaip „IoT“platformą dėl jos naudojimo paprastumo ir patrauklaus vizualinio dizaino.
Kadangi mano eskizas yra pagrįstas „TaskScheduler“daugiafunkcine biblioteka, aš nenorėjau naudoti „Blynk“įrenginių bibliotekų (jos neįgalintos „TaskScheduler“). Vietoj to naudojau „Blynk HTTP RESTful“API (galima rasti čia).
Programos konfigūravimas yra toks intuityvus, koks galėtų būti. Prašome sekti pridėtas ekrano kopijas.
17 žingsnis: eskizai ir failai
„IoT APIS v2“eskizas yra „Github“čia: Sketch
Keletas eskizo naudojamų bibliotekų yra čia:
- „TaskScheduler“- daugiafunkcinė biblioteka, skirta „Arduino“ir esp8266
- „AvgFilter“- vidutinio dydžio filtras, skirtas jutiklių duomenims išlyginti
- RTCLib - aparatinės ir programinės įrangos realiojo laiko laikrodžio diegimas (pakeičiau aš)
- Laikas - laiko bibliotekos pakeitimai
- Laiko juosta - biblioteka, palaikanti laiko juostų skaičiavimus
PASTABA:
Duomenų lapai, smeigtukų dokumentacija ir 3D failai yra pagrindinio eskizo poaplanke „failai“.
Integruotos žiniatinklio serverio HTML failai turėtų būti įkelti į „NODE MCU“atmintinę naudojant „arduino-esp8266fs-plugin“(kuris sukuria failų sistemos failą iš pagrindinio eskizo aplanko poaplankio „data“ir įkelia jį į „flash“atmintį)
Antroji vieta vidaus sodininkystės konkurse 2016 m
Rekomenduojamas:
„UWaiPi“- automatinė augalų laistymo sistema pagal laiką: 11 žingsnių (su nuotraukomis)
„UWaiPi“- laiku varoma automatinė augalų laistymo sistema: Sveiki! Ar šiandien ryte pamiršote laistyti augalus? Planuojate atostogas, bet galvojate, kas laistys augalus? Na, jei jūsų atsakymai yra „Taip“, turiu jūsų problemos sprendimą. Man labai malonu pristatyti „uWaiPi“
Kaip sukurti „pasidaryk pats“automatinę augalų laistymo sistemą su „WiFi“įspėjimais: 15 žingsnių
Kaip sukurti „pasidaryk pats“automatinę augalų laistymo sistemą su „WiFi“įspėjimais: tai yra baigtas projektas, „pasidaryk pats“automatinė augalų laistymo sistema, valdoma naudojant „#WiFi“. Šiam projektui mes panaudojome „Adosia“savaiminio laistymo automatinio sodo sistemos surinkimo komplektą. Ši sąranka naudoja solenoidinius vandens vožtuvus ir analogišką dirvožemio drėgmę
Kaip sukurti automatinę drėkinimo sistemą naudojant „Arduino“: 5 žingsniai
Kaip sukurti automatinę drėkinimo sistemą naudojant „Arduino“: Šioje instrukcijoje aš jums parodysiu, kaip sukurti ir įdiegti automatinę drėkinimo sistemą, kuri gali pajusti vandens kiekį dirvožemyje ir automatiškai drėkinti jūsų sodą. Šią sistemą galima užprogramuoti įvairiems pasėlių poreikiams ir
APIS - automatinė augalų drėkinimo sistema: 12 žingsnių (su nuotraukomis)
APIS - automatizuota augalų drėkinimo sistema: ISTORIJA: (kitą šios sistemos raidą rasite čia) Augalų laistymo tema yra gana daug instrukcijų, todėl čia vos išradau kažką originalaus. Kuo ši sistema kitokia, tai programavimas ir patogumas
Automatinė augalų laistymo sistema: 10 žingsnių
Automatinė augalų laistymo sistema: Šioje instrukcijoje parodysiu, kaip sukurti automatinę augalų laistymo sistemą naudojant „Arduino“. Tai gali būti labai naudinga, jei esate užsimiršęs žmogus, jei atostogaujate arba esate tik tinginys