Mundarija:
- 1 -qadam: Uskuna
- 2 -qadam: umumiy dizayn
- 3 -qadam: suv osti nasosi
- 4 -qadam: Boshqarish moduli OJ bankasining tepasiga o'rnatilgan
- 5 -qadam: Boshqarish moduli - sxemalar
- 6 -qadam: laganda suv oqishi sensori
- 7 -qadam: Tuproq namligini tekshirish va sug'orish xonasi
- 8 -qadam: quvurlar va simlarni ulash
- 9 -qadam: NodeMCU eskizi
- 10 -qadam: NodeMCU eskizi - WiFi
- 11 -qadam: NodeMCU eskiz - NTP
- 12 -qadam: NodeMCU eskizi - mahalliy veb -server
- 13 -qadam: NodeMCU eskizi - Mahalliy sug'orish jurnali va ichki fayl tizimiga kirish
- 14 -qadam: NodeMCU eskizi - tuproq namligi, pastki tovoqlardagi suv oqishi, suv sathi, 3 rangli LED
- 15 -qadam: Quyosh energiyasi, quvvat banki va avtonom ishlash
- 16 -qadam: IoT integratsiyasi - Blynk
- 17 -qadam: eskizlar va fayllar
Video: IoT APIS V2 - avtomatlashtirilgan o'simliklarni sug'orish avtomatlashtirilgan tizimi: 17 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Bu loyiha mening oldingi o'rgatuvchi: APIS - o'simliklarni avtomatlashtirilgan sug'orish tizimining evolyutsiyasi
Men deyarli bir yildan beri APISdan foydalanmoqdaman va oldingi dizaynni yaxshilashni xohladim:
- Zavodni masofadan turib kuzatib borish imkoniyati. Shunday qilib, ushbu loyiha IoT-ni yoqdi.
- Tuproq namligini o'lchash moslamasini almashtirish oson. Men namlik o'lchagichining uch xil dizaynini boshdan kechirdim va qaysi materialdan foydalansam ham, u ertami -kechmi eroziyaga uchradi. Shunday qilib, yangi dizayn iloji boricha uzoq davom etishi va tez va oson almashtirilishi kerak edi.
- Paqirdagi suv darajasi. Men chelakda qancha suv borligini aytishni va chelak bo'sh bo'lganda sug'orishni to'xtatishni xohlardim.
- Yaxshi ko'rinish. Kulrang loyiha qutisi yaxshi boshlanish edi, lekin men biroz yaxshiroq ko'rinadigan narsani yaratmoqchi edim. Agar men bu maqsadga erisha olsam, siz hakam bo'lasiz …
- Avtonomiya. Men yangi tizimning kuchi va/yoki Internet mavjudligi nuqtai nazaridan avtonom bo'lishini xohlardim.
Olingan loyiha avvalgisidan kam konfiguratsiya qilinmaydi va qo'shimcha foydali xususiyatlarga ega.
Men ham yangi sotib olgan 3D-printerimdan foydalanmoqchi edim, shuning uchun uning ba'zi qismlarini chop etish kerak bo'ladi.
1 -qadam: Uskuna
IoT APIS v2 ni yaratish uchun sizga quyidagi komponentlar kerak bo'ladi:
- NodeMcu Lua ESP8266 ESP -12E WIFIni rivojlantirish kengashi - banggood.com saytida
- SODIAL (R) 3-pinli ultratovushli sensorli masofani o'lchash moduli, ikkita o'tkazgich, bortda uch pinli-amazon.com saytida
- DC 3V -6V 5V kichik suv osti nasosi akvarium baliq idishi nasosi - ebay.com saytida
- Uch rangli LED - amazon.com saytida
- Vero taxtasi - amazon.com saytida
- PN2222 tranzistor - amazon.com saytida
- Plastik vintlar, murvat va yong'oqlar
- Lehimlash uskunalari va materiallari
- Simlar, rezistorlar, sarlavhalar va boshqa har xil elektron komponentlar
- Bo'sh Tropicana OJ 2.78 QT bankasi
- 2 ta galvanizli mix
2 -qadam: umumiy dizayn
Umumiy dizayn quyidagi komponentlardan iborat: 1. Tuproq namligi o'lchagichi va o'simliklarni sug'orish xonasi (kombinatsiyalangan - 3d bosma) 2. Quvurlar va simlar 3. Laganda suv oqishi sensori (3 o'lchamli bosilgan) 4. OJ kavanozining yuqori qismiga o'rnatilgan boshqaruv moduli (3D bosilgan qutiga joylashtirilgan va ilova qilingan) 5. Suv osti nasosi 6. NodeMCU eskiz 7. IoT konfiguratsiyasi 8. Quvvat manbai: USB rozetkasi orqali - YOKI - quyosh paneli (avtonom rejim) Keling, har bir komponentni alohida muhokama qilaylik
3 -qadam: suv osti nasosi
Suv osti nasosi OJ kavanozining dastasi ostida joylashgan (suv sathini o'lchashga xalaqit bermaslik uchun). Nasos shunday joylashtirilganki, u suv olish joyiga erkin suv oqishini ta'minlash uchun idishning pastki qismidan taxminan 2-3 mm balandlikda "aylanib yuradi".
Nasos normal ishlashi uchun to'liq suv ostida bo'lishi kerakligi sababli, bankadagi minimal suv sathi taxminan 3 sm (taxminan 1 dyuym) atrofida bo'lishi kerak.
4 -qadam: Boshqarish moduli OJ bankasining tepasiga o'rnatilgan
Men suv idishi sifatida standart katta Tropicana OJ bankasini tanladim. Ular keng tarqalgan va standartdir.
Boshqarish moduli asl kran chiqarilgandan keyin bankaning yuqori qismiga joylashtiriladi.
Boshqaruv moduli joylashgan platforma 3d bosilgan. STL fayli ushbu ko'rsatmali fayllar va eskizlar bo'limlarida keltirilgan.
Nasos, quvur va simlar Tropicana bankasining dastasi orqali suv sathini o'lchash uchun joy bo'shatiladi.
Suv sathi boshqaruv moduli platformasi bilan birlashtirilgan ultrasonik masofa sensori bilan o'lchanadi. Suv sathi bo'sh idishni va suv bilan to'ldirilgan idishni masofani o'lchashda farq qiladi.
Boshqaruv moduli va AQSh sensori 3D bosilgan "gumbaz" bilan qoplangan. Gumbazning STL fayli ushbu ko'rsatmaning fayllar va eskizlar bo'limida keltirilgan.
5 -qadam: Boshqarish moduli - sxemalar
Boshqaruv modulining sxemalari (shu jumladan komponentlar ro'yxati) va non taxtasi dizayn fayllari ushbu ko'rsatmaning fayllar va eskizlar bo'limida keltirilgan.
QAYD: NodeMCU bilan ishlash mavjud GPIO pinlari nuqtai nazaridan qiyin vazifa bo'lib chiqdi. Deyarli barcha GPIO -lar bir qancha funktsiyalarni bajaradi, bu esa ularni ishlatib bo'lmaydi yoki chuqur uyqu rejimida ishlatib bo'lmaydi (yuklash jarayonida o'ynaydigan maxsus funktsiyalar tufayli). Oxir -oqibat, men GPIO -dan foydalanish va mening talablarim o'rtasida muvozanatni topishga muvaffaq bo'ldim, lekin bu bir nechta asabiylashishlarni takrorladi.
Masalan, chuqur uyqu paytida bir qancha GPIO "issiq" bo'lib qoladi. LEDni chuqur uyqu paytida quvvat sarfini kamaytirish maqsadiga erishganlarga ulash.
6 -qadam: laganda suv oqishi sensori
Agar sizning idishingiz pastda to'lib toshgan teshik bo'lsa, u holda pastki laganda suvdan to'lib toshishi va erga to'kish xavfi bor (javon yoki sizning zavodingiz nima bo'lsa ham).
Tuproq namligini o'lchashga probning holati, tuproq zichligi, sug'orish joyidan masofa va boshqalar ta'sir qiladi. Boshqacha qilib aytganda, agar tuproq pastki namlikdan oshib ketsa va suv to'kilsa, sizning uyingizga zarar etkazishi mumkin.
To'ldirish sensori - bu qozon va pastki taglik orasidagi bo'shliq, panjaralarga ikkita sim o'ralgan. Suv tepsiga to'ldirilganda, ikkita sim bir -biriga ulanadi va shu bilan mikrokontrolderga pastki tovoqda suv borligini bildiradi.
Oxir -oqibat, suv bug'lanadi va simlar uziladi.
Pastki taglik 3d bosilgan. STL fayli ushbu ko'rsatmali fayllar va eskizlar bo'limida mavjud.
7 -qadam: Tuproq namligini tekshirish va sug'orish xonasi
Men olti burchakli 3d bosma korpusni tuproq namligini o'lchash moslamasi va sug'orish idishi sifatida yaratdim.
3D bosma fayl (STL) ushbu ko'rsatmali fayllar va eskizlar bo'limida mavjud.
Qoplama ikki qismdan iborat bo'lib, ularni bir -biriga yopishtirish kerak. Quvurlarni ulash uchun korpusning yon tomoniga o'zgartirilgan tikanli armatura yopishtirilgan.
Galvanizli mixlarni joylashtirish uchun 4,5 mm diametrli ikkita teshik mavjud bo'lib, ular tuproq namligini o'lchash moslamasi bo'lib xizmat qiladi. Mikrokontrollerga ulanish, tirnoqlarni o'rnatish uchun maxsus tanlangan metall ajratgichlar orqali amalga oshiriladi.
3d dizayn www.tinkercad.com yordamida amalga oshiriladi, bu ajoyib va ishlatish uchun qulay, ammo kuchli 3d dizayn vositasi.
ESLATMA: Siz nima uchun men oldindan tayyorlangan tuproq problaridan birini ishlatmaganimni so'rashingiz mumkin. Javob: folga bir necha hafta ichida eriydi. Darhaqiqat, cheklangan vaqt ichida ham tirnoqlar kuchlanish ostida qolsa ham, ular baribir yemiriladi va ularni yiliga kamida bir marta almashtirish kerak. Yuqoridagi dizayn bir necha soniya ichida tirnoqlarni almashtirish imkonini beradi.
8 -qadam: quvurlar va simlarni ulash
Suv rejaga Super-Yumshoq Lateks kauchuk yarim shaffof quvurlar orqali etkazib beriladi (1/4 "ichki diametri va 5/16" tashqi diametri bilan).
Nasosning chiqishi katta quvurlar va adapterni talab qiladi: Kimyoviy chidamli polipropilen tikanli armatura, 1/4 "x 1/8" quvur identifikatori uchun tekislikni kamaytiradi.
Va nihoyat, 1/8 dyuymli quvur identifikatori uchun kimyoviy chidamli polipropilen tikanli armatura sug'orish moslamasining ulagichi bo'lib xizmat qiladi.
9 -qadam: NodeMCU eskizi
NodeMCU eskizi IoT APIS v2 ning bir nechta xususiyatlarini amalga oshiradi:
- Mavjud WiFi tarmog'iga ulanadi - yoki WiFi kirish nuqtasi sifatida ishlaydi (konfiguratsiyaga qarab)
- Mahalliy vaqtni olish uchun NTP serverlarini so'raydi
- O'simliklarni kuzatish, sug'orish va tarmoq parametrlarini sozlash uchun veb -serverni amalga oshiradi
- Tuproq namligini, pastki tovoqlardagi suv oqishini, bankadagi suv sathini o'lchaydi va 3 rangli LED orqali vizual ko'rsatma beradi
- Onlayn va quvvatni tejash rejimlarini amalga oshiradi
- Har bir sug'orish haqidagi ma'lumotlarni ichki flesh xotirada lokal ravishda saqlaydi
10 -qadam: NodeMCU eskizi - WiFi
Odatiy bo'lib, IoT APIS v2 "Plant_XXXXXX" deb nomlangan mahalliy WiFi kirish nuqtasini yaratadi, bu erda XXXXXX - NodeMCU bortidagi ESP8266 chipining seriya raqami.
O'rnatilgan veb-serverga URL orqali kirishingiz mumkin: https://plant.io ichki DNS serveri qurilmangizni APIS holati sahifasiga ulaydi.
Vaziyat sahifasidan siz sug'orish parametrlari sahifasi va tarmoq parametrlari sahifasiga o'tishingiz mumkin, bu erda siz IoT APIS v2 -ni WiFi tarmog'ingizga ulashingiz va bulutga vaziyat haqida hisobot berishni boshlashingiz mumkin.
IoT APIS onlayn va quvvatni tejash rejimlarini qo'llab-quvvatlaydi:
- Onlayn rejimda IoT APIS har doim Wi -Fi ulanishini saqlab turadi, shuning uchun siz zavod holatini istalgan vaqtda tekshirishingiz mumkin
- Quvvatni tejash rejimida IoT APIS vaqti-vaqti bilan tuproq namligi va suv sathini tekshiradi, qurilmani "chuqur uyqu" rejimiga o'tkazadi va shu bilan quvvat sarfini keskin kamaytiradi. Biroq, qurilma har doim ham Internetda mavjud emas va parametrlar faqat qurilmani yoqish vaqtida o'zgarishi mumkin (hozirda har 30 daqiqada, real vaqtda soat/yarim soat). Qurilma konfiguratsiyani o'zgartirishga ruxsat berish uchun har 30 daqiqada 1 daqiqada onlaynda bo'ladi va keyin chuqur uyqu rejimiga o'tadi. Agar foydalanuvchi qurilmaga ulansa, "ulanish" vaqti har bir ulanish uchun 3 minutgacha uzaytiriladi.
Qurilma mahalliy WiFi tarmog'iga ulanganda, uning IP -manzili IoT bulutli serveriga xabar qilinadi va mobil kuzatuv qurilmasida ko'rinadi.
11 -qadam: NodeMCU eskiz - NTP
IoT APIS v2 mahalliy vaqtni NIST serverlaridan olish uchun NTP protokolidan foydalanadi. To'g'ri vaqt, qurilma "tungi" rejimga o'tishi kerakligini aniqlash uchun ishlatiladi, ya'ni nasosni yoqish yoki yonib -o'chib turadigan LED.
Kecha vaqti ish kunlari va dam olish kunlari ertalab alohida sozlanishi.
12 -qadam: NodeMCU eskizi - mahalliy veb -server
IoT APIS v2 holati to'g'risida hisobot berish va konfiguratsiyani o'zgartirish uchun mahalliy veb -serverni ishga tushiradi. Bosh sahifa hozirgi namlik va suv sathi, pastki tepsida ortiqcha suv borligi va oxirgi sug'orish statistikasi haqida ma'lumot beradi. tarmoqni sozlash tugmasi orqali) mahalliy Wi -Fi tarmog'iga ulanish, onlayn va quvvatni tejash rejimlarini o'zgartirish imkoniyatini beradi. (Tarmoq konfiguratsiyasining o'zgarishi qurilmaning tiklanishiga olib keladi) Sug'orish konfiguratsiya sahifasi (suvni sozlash tugmasi orqali o'tish mumkin) sug'orish parametrlarini o'zgartirish imkoniyatini beradi (sug'orishni boshlash/to'xtatish uchun tuproq namligi, sug'orish davomiyligi va yugurishlar orasidagi to'yingan pauza, yugurishlar soni). va hokazo) Webserver HTML fayllari IoT APIS Arduino IDE eskizining ma'lumotlar papkasida joylashgan. Ularni NodeMCU flesh xotirasiga SPIFF fayl tizimi sifatida bu erda joylashgan "ESP8266 eskiz ma'lumotlarini yuklash" vositasi yordamida yuklash kerak.
13 -qadam: NodeMCU eskizi - Mahalliy sug'orish jurnali va ichki fayl tizimiga kirish
Agar tarmoqqa ulanish imkoni bo'lmasa, IoT APIS v2 tizimi barcha sug'orish ishlarini mahalliy qaydga oladi.
Jurnalga kirish uchun qurilmaga ulaning va '/tahrir' sahifasiga o'ting, so'ng watering.log faylini yuklab oling. Bu faylda kesish boshlanganidan beri barcha sug'orish ishlari tarixi mavjud.
Bunday jurnalga misol (tabdan ajratilgan formatda) bu bosqichga biriktirilgan.
QAYD: IoT APIS v2 ishlayotgan vaqtda kirish nuqtasi rejimida yuklash sahifasi mavjud emas (Java Script onlayn kutubxonasiga bog'liqligi sababli).
14 -qadam: NodeMCU eskizi - tuproq namligi, pastki tovoqlardagi suv oqishi, suv sathi, 3 rangli LED
Tuproq namligini o'lchash asl APIS bilan bir xil printsipga asoslanadi. Iltimos, batafsil ma'lumot olish uchun ko'rsatmaga murojaat qiling.
Suv tepsilarining oqishi ichki PULLUP rezistorlari yordamida qozon ostidagi simlarga bir zumda kuchlanish orqali aniqlanadi. Agar PIN -kod holati past bo'lsa, laganda suv bor. PIN -kodning yuqori holati kontaktlarning zanglashiga olib kelganligini ko'rsatadi, shuning uchun pastki taglikda suv yo'q.
Suv sathi idishning yuqori qismidan suv sathigacha bo'lgan masofani o'lchash va bo'sh idishning pastki qismigacha bo'lgan masofani solish orqali aniqlanadi. Iltimos, 3 pinli sensordan foydalanishga e'tibor bering! Ular HC-SR04 to'rt pinli sensorlardan qimmatroq. Afsuski, men NodeMCU -da GPIO -lar tugab qoldi va dizaynni faqat bitta NodeMCU -da qo'shimcha sxemalarsiz ishlashi uchun qo'limdan kelgan har bir simni kesib tashlashga to'g'ri keldi.
3 ta rangli LED APIS holatini vizual tarzda ko'rsatish uchun ishlatiladi:
- O'rtacha miltillaydigan Yashil - WiFi tarmog'iga ulanish
- Tezda miltillovchi Yashil - NTP serverini so'roq qilish
- Qisqa GREEN - Wi -Fi tarmog'iga ulangan va NTP -dan joriy vaqt muvaffaqiyatli olingan
- Qisqa qattiq WHITE - tarmoqni ishga tushirish tugallandi
- Oq miltillaydi - kirish nuqtasi rejimini ishga tushirish
- Tez miltillaydi KO'K - sug'orish
- O'rtacha miltillab turgan KO'K - to'yingan
- Qisqa qattiq AMBER va qisqa qattiq RED - NTPdan vaqt topa olmadi
- Qisqa qattiq WHITE ichki veb -serverga kirishda
LED "tungi" rejimda ishlamaydi. NIght rejimini faqat ishonchli tarzda aniqlash mumkin edi, agar qurilma NTP serverlaridan hech bo'lmaganda bir marta mahalliy vaqtni olishi mumkin bo'lsa (NTP bilan keyingi ulanish o'rnatilgunga qadar mahalliy real vaqt soati ishlatiladi).
LED funktsiyasining namunasi YouTube -da bu erda mavjud.
15 -qadam: Quyosh energiyasi, quvvat banki va avtonom ishlash
IoT APIS v2 g'oyalaridan biri avtonom ishlash qobiliyati edi.
Bunga erishish uchun hozirgi dizaynda quyosh energiyali panel va 3600 mA / soat quvvat banki ishlatiladi.
- Quyosh paneli Amazon.com saytida mavjud
- Quvvat banki amazon.com saytida ham mavjud
Quyosh paneli 2600 mA / soat quvvatga ega batareyaga ega, lekin u 24 soatlik APIS ishlashini quvvatni tejash rejimida ham ushlab tura olmadi (menimcha, batareya bir vaqtning o'zida zaryadlash va tushirish bilan yaxshi ishlamaydi). Ko'rinib turibdiki, ikkita batareyaning kombinatsiyasi etarli quvvatni beradi va kun davomida ikkala batareyani qayta zaryadlashga imkon beradi. Quyosh paneli quvvat bankini zaryad qiladi, quvvat banki esa APIS qurilmasini quvvatlaydi.
Esda tuting:
Bu komponentlar ixtiyoriy. Siz qurilmani 1A tokini ta'minlaydigan har qanday USB adapter bilan quvvatlantirishingiz mumkin.
16 -qadam: IoT integratsiyasi - Blynk
Yangi dizaynning maqsadlaridan biri tuproq namligi, suv sathi va boshqa parametrlarni masofadan turib kuzatish imkoniyati edi.
Men foydalanish qulayligi va jozibali vizual dizayni tufayli Blynk (www.blynk.io) ni IoT platformasi sifatida tanladim.
Eskizim TaskScheduler kooperativ ko'p vazifali kutubxonasiga asoslanganligi sababli, men Blynk qurilma kutubxonalaridan foydalanishni xohlamadim (ular TaskScheduler uchun yoqilmagan). Buning o'rniga men Blynk HTTP RESTful API -dan foydalanardim (bu erda mavjud).
Ilovani sozlash imkon qadar intuitiv. Iltimos, ilova qilingan skrinshotlarga amal qiling.
17 -qadam: eskizlar va fayllar
IoT APIS v2 eskizi github -da joylashgan: Sketch
Eskizda ishlatiladigan bir nechta kutubxonalar bu erda joylashgan:
- TaskScheduler - Arduino va esp8266 uchun ko'p vazifali kooperativ kutubxona
- AvgFilter - sensorlar ma'lumotlarini tekislash uchun O'rtacha filtrni to'liq kiritish
- RTCLib - Real Time Clock apparat va dasturiy ta'minotini amalga oshirish (men o'zgartirganman)
- Vaqt - Vaqt kutubxonasi uchun o'zgartirishlar
- Vaqt mintaqasi - vaqt zonasi hisob -kitoblarini qo'llab -quvvatlaydigan kutubxona
ESLATMA:
Ma'lumotlar jadvallari, pinli hujjatlar va 3D fayllar asosiy eskizning "fayllar" pastki papkasida joylashgan.
O'rnatilgan veb-server uchun HTML-fayllarni arduino-esp8266fs-plagin yordamida NODE MCU flesh xotirasiga yuklash kerak (u asosiy sketch papkasidagi "ma'lumotlar" pastki jildidan fayl tizimi faylini yaratadi va uni flesh xotiraga yuklaydi)
2016 yilgi yopiq bog'dorchilik tanlovida ikkinchi o'rinni egalladi
Tavsiya:
Mikroto'lqinli o'simliklarni avtomatik sug'orish tizimi: bit: 8 qadam (rasmlar bilan)
Mikro: bit yordamida o'simliklarni avtomatik sug'orish tizimi: bu ko'rsatmada men sizga mikro: bit va boshqa kichik elektron komponentlar yordamida o'simliklarni avtomatik sug'orish tizimini qanday qurishni ko'rsataman. o'simlik tuproqidagi namlik darajasini kuzatish va
O'simliklarni avtomatik sug'orish tizimi: 4 qadam
O'simliklarni avtomatik sug'orish tizimi: Men o'simliklarni avtomatik sug'orish tizimini shunday qildim
UWaiPi - Avtomatik o'simliklarni sug'orish tizimi: 11 qadam (rasmlar bilan)
UWaiPi - Vaqt bilan boshqariladigan o'simliklarni avtomatik sug'orish tizimi: Salom! Bugun ertalab o'simliklaringizni sug'orishni unutdingizmi? Siz ta'tilni rejalashtiryapsizmi, lekin kim o'simliklarni sug'orishini o'ylayapsizmi? Xo'sh, agar sizning javoblaringiz ha bo'lsa, u holda men sizning muammoingizni hal qila olaman, men uWaiPi -ni joriy qilganimdan juda xursandman
O'simliklarni avtomatik sug'orish tizimi: 5 qadam (rasmlar bilan)
O'simliklarni avtomatik sug'orish tizimi: bu siz qila oladigan eng oson va arzon o'simlik sug'orish tizimi, men hech qanday mikrokontrolderni ishlatmaganman, bu asosan tranzistorli kalit, siz tranzistorning buzilishini oldini olish uchun kollektor va tayanch o'rtasida bir oz qarshilik qo'shishingiz kerak. (w ishlatmang
DIY simsiz avtomatik o'simliklarni sug'orish tizimi Internetga ulanmasdan: 3 qadam
DIY simsiz avtomatik o'simliklarni sug'orish tizimi Internetga ulanishni talab qilmasdan: Men har xil fasllarga qarab o'simliklarni kuniga bir yoki ikki marta avtomatik ravishda sug'orishni xohlayman. Ammo IOT do'stini ishga kirgizishning o'rniga, men bu vazifani bajarish uchun yolg'izlikni afzal ko'raman. Chunki men ketishni xohlamayman