Mundarija:

Avtonom o'simlik sug'orish tizimi: 4 qadam
Avtonom o'simlik sug'orish tizimi: 4 qadam

Video: Avtonom o'simlik sug'orish tizimi: 4 qadam

Video: Avtonom o'simlik sug'orish tizimi: 4 qadam
Video: Mavzu: Buyumlar interneti(Internet of Things) texnologiyalari 2024, Noyabr
Anonim
Avtonom o'simliklarni sug'orish tizimi
Avtonom o'simliklarni sug'orish tizimi
Avtonom o'simliklarni sug'orish tizimi
Avtonom o'simliklarni sug'orish tizimi
Avtonom o'simliklarni sug'orish tizimi
Avtonom o'simliklarni sug'orish tizimi

Ushbu loyiha o'simliklarni sug'orishning aqlli avtonom tizimini taqdim etadi. Tizim 12V batareya va quyosh batareyasi yordamida avtonom energiyaga ega va to'g'ri sharoitlar o'rnatilganda o'simlikni yaxshi o'ylangan (umid qilamanki) muvaffaqiyatsizlikka qarshi tizim bilan sug'oradi. Bu aqlli, chunki u foydalanuvchilar (lar) bilan Telegram ilovasi orqali muloqot qilgan.

Tizim tomonidan bajariladigan qadamlar quyidagicha:

  • tuproqdagi suv miqdori har doim kuzatiladi;
  • agar tuproqdagi suv miqdori ma'lum qiymatdan past bo'lsa (max_soil_moisture), tizim:

    • (?) suv idishining bo'sh emasligini tekshiradi (va sug'orish paytida) nasosning qurib qolishiga yo'l qo'ymaslik uchun;
    • (?) ikkita sug'orish hodisasi orasidagi minimal suv davri oshib ketishini tekshiradi. Bu kun davomida o'simliklarni ko'p marta sug'orishdan saqlanish uchun amalga oshiriladi (bir oz quruq bo'lsa yaxshi bo'ladi) va tuproq namligi sensori buzilgan taqdirda xavfsizlik qo'shiladi;
    • (?) sug'orishni boshlash;
    • qachon sug'orishni to'xtatadi:

      • (?) tuproq suvining miqdori ma'lum bir qiymatga etadi (max_soil_moisture) yoki;
      • (?) suv ombori bo'sh, bu holda sug'orish yana to'ldirilishi bilanoq tiklanadi yoki;
      • (?) sug'orish muddati har bir sug'orish hodisasi uchun ruxsat etilgan maksimal vaqtdan oshib ketadi (sug'orish_max_ vaqti). Bu erdagi maqsad, agar tizimda tuproq namligining oshishiga to'sqinlik qiladigan oqish bo'lsa, suv idishi bo'sh bo'lguncha nasosni ishga tushirishdan saqlanish;
  • (?) o'simliklarning hech bo'lmaganda har bir vaqt davomida sug'orilishini tekshiradi (max_wo_water). tuproq namligi sensori buzilgan va har doim yuqori qiymatlarni qaytaradi;

Foydalanuvchiga har bir muhim bosqichda Telegram xabarlari yuboriladi (ko'rsatiladi?). Shuningdek, foydalanuvchi Telegram -dan sug'orish hodisasini qo'lda boshlashi mumkin, hatto tuproqdagi suv miqdori berilgan qiymatdan yuqori bo'lsa ham (max_soil_moisture). Bundan tashqari, butun tizimni yoqish va o'chirish, tizim ishlayaptimi yoki yo'qligini so'rash yoki tuproqdagi suv tarkibining hozirgi qiymatini so'rash mumkin (qarang Telegram surati).

Ta'minotlar

Material

Bu erda tizimni yaratish uchun ishlatiladigan mahsulotlar ro'yxati keltirilgan. Aytishim kerakki, men Amazondan hech qanday rag'batlantirmayman, undan barcha mahsulotlar sotib olingan.

Tizimni boshqarish uchun:

  • Miya uchun NodeMCU taxtasi (ESP8266), 17.99 €
  • O'rnimizni moduli, 11.99 evro
  • 120 prototipli o'tish simlari, 6.99 € -> prototiplash
  • 3 ta non paneli, 8.99 € -> prototiplash
  • Suv o'tkazmaydigan quti, 10.99 evro
  • 525 dona rezistorlar to'plami, 10,99 evro
  • Bosimga o'xshash ulanishlar bilan bosilgan PCB, 9,27 evro
  • Sizning xohishingizga qarab 20, 22 yoki 24 AWG elektr simlari (20 qattiqroq, lekin ba'zi ulanishlar uchun kamaytirilishi kerak, 22 yaxshi, 24 arzonroq), 18.99 €

Energiya avtonomiyasi uchun:

  • 12V batareya, 21,90 evro
  • 10 Vt quvvatli 12V monokristalli quyosh paneli, 23,90 evro
  • 12/24V zaryad boshqaruvchisi, 13,99 evro

Suv idishi uchun:

  • 12V suv nasosi, 16.99 €
  • DC erkak/ayol ulagichi (nasosni ulash uchun), 6,99 €

Sensorlar:

  • Suv sathining suzuvchisi, 7.99 €
  • Kapasitiv tuproq namligi sensori, 9.49 €
  • tuproq namligi sensori gidroizolyatsiyasi uchun bir nechta lak, 7,99 €;

Va sug'orish tizimi:

Sug'orish tizimi, 22,97 evro

Hammasi bo'lib 237,40 evro. Bu arzon emas! Shuni yodda tutingki, bu hali ham oldindan tuzilgan tizimga qaraganda ancha arzon va imkoniyatlari ko'proq! Bundan tashqari, ba'zi qismlar faqat prototiplash uchun mo'ljallangan (15,98 €) va men boshqa loyihalar uchun bir nechta bo'laklardan iborat ko'plab komponentlarni sotib oldim, masalan. 525 rezistor - bu aql bovar qilmaydigan miqdor, bu loyiha uchun sizga 3 ta NodeMCU taxtasi yoki 6 ta o'rni kerak emas.

1 -qadam: kod

Ushbu loyihani qayta ishlab chiqarish uchun sizga ba'zi asboblar, ba'zi materiallar va ushbu loyihaning kodi kerak bo'ladi.

Kod

Ushbu loyihadan kodni olish uchun GIT yordamida Github omboridan uni klonlang (yoki yaxshiroq, vilkalar) va agar GIT, klon va vilkalar nimani anglatishini bilmasangiz, uni ushbu havola orqali kompyuteringizga yuklab oling?.

Keyin, uni ehtiyojlaringizga qarab sozlang!

Telegram -dan foydalanish uchun NodeMCU Internetga ulangan bo'lishi kerak. Men buni WIFI moduli va uydagi WIFI yordamida qildim. O'zingizning ulanishni sozlash uchun Arduino IDE-da plant_watering.ino skriptini oching va Wi-Fi ma'lumotlari uchun etishmayotgan qiymatlarni to'ldiring (menimcha, sizda WiFi bor):

String ssid = "xxxxx"; // Wifi String pass nomi = "xxxxx"; // Wifi parol

Keyin, biz sizga o'xshagan, lekin aslida robot (sizning NodeMCU) boshqaradigan foydalanuvchi hisobi bo'lgan Telegram botini o'rnatamiz. Buning uchun bu erda tasvirlangan amallarni bajaring. Bir necha so'z bilan:

  • Telegram -ni oching (va hisobingizga ulaning);
  • Yangi bot yarating:

    • Kontaktlaringizda BotFather -ni qidiring (qidiruv satriga kiriting) va u bilan suhbatni oching (har qanday yangi kontaktda bo'lgani kabi);
    • Suhbatga /newbot kiriting (ishni ko'rib chiqing va /! Ni kiriting)
    • Botingizga xohlaganingizcha nom bering, lekin uni "bot" bilan tugating (masalan, "watering_balcony_bot");
    • Botfather sizga bot tokenini beradi, uni juda sir saqlang (GIT yordamida baham ko'rmang !!), biz uni bir necha qadamda ishlatamiz;
    • Kontaktlardan qidiring va unga bu xabarni yuboring: /start
    • Botfather qaytargan tokendan nusxa oling va uni plant_watering.ino skriptiga bu erga joylashtiring:

      String token = "xxxxxx: xxxxxxxxxxxxxxxxxxxxx"; // Telegram bot belgisi

Sizning botingiz hozir tirik!

Siz bilan muloqot qilish imkoniyatini berish uchun u suhbat identifikatorini bilishi kerak. Agar biz ta'tilga chiqadigan bo'lsak, botning aytayotganlarini boshqa odamlar bilan bo'lishishni xohlaganimiz uchun, men uning o'rniga guruhli chat yaratishni ma'qul ko'raman. Shunday qilib, bitta (Yangi guruh) yarating, botini nomini qidirib qo'shing va vaqtincha IDBot nomli uchinchi botni qo'shing. Keyin guruh suhbatini xohlaganingizcha nomlang. Guruh suhbatini oching va /getgroupid kiriting. IDBot -xxxxxxxxx kabi raqamni qaytaradi (uni nusxalashda minusni unutmang!), Bu sizning guruh suhbat identifikatoringiz!

Shuningdek, siz shaxsiy guvohnomangizni olishni so'rashingiz mumkin, shuning uchun sizning botingiz sizga to'g'ridan -to'g'ri xabar yuboradi (uni guruhga yubormaydi).

Identifikatorni nusxa oling va uni plant_watering.ino skriptiga joylashtiring:

int chatID = -000000000; // Bu sizning guruh suhbatingizning identifikatori Buning o'rniga /getid -ni bu erga qo'ying, agar siz botning sizga to'g'ridan -to'g'ri xabar yuborishini xohlasangiz

Keyin, IDBotni o'z guruhingizdan o'chirib tashlang (biz hech qanday ma'lumot oshib ketishini xohlamaymiz).

Oxirgi qadam uchun siz CTBot va ArduinoJson kutubxonalarini o'rnatishingiz kerak bo'ladi. Buning uchun ctrl+maj+I ni tering, CTBot -ni qidiring va Stefano Ledda tomonidan CTBot -ni qidiring va o'rnatishni bosing. Keyin ArduinoJson -ni takrorlang va Benoit Blanchon tomonidan ArduinoJson -ni qidiring, lekin hozircha 5.13.5 versiyasini o'rnating, chunki CTBot hali oltinchi versiya bilan mos kelmaydi (agar o'zgartirishlar bo'lsa, bu erda tekshirishingiz mumkin).

Mana, kodingiz tayyor! Endi siz uni NodeMCU -ga yuklashingiz mumkin! Agar ba'zi xatolar bo'lsa, NodeMCU 1.0 ni taxta turi sifatida tanlaganingizni va kutubxonalaringiz uchun to'g'ri versiyadan foydalanganligingizni tekshiring.

2 -qadam: asboblar

Asboblar

Asboblar juda oddiy, men bu loyihada ishlatardim:

  • Lehimlash temir + qalay (masalan, 220V 60W);
  • Multimetr (meniki - TackLife DM01M);
  • Yassi tornavida (kichkinasi yaxshiroq);
  • Pense kesish;

Agar sizda ular bo'lsa, siz simlarni ajratuvchi qo'shishingiz mumkin, lekin ular ajralmas emas.

3 -qadam: yig'ish

O'rnatish
O'rnatish

Github omborida Fritzing loyihasini ochish uchun Fritzing yordamida qismlar yig'ilishini topishingiz mumkin.

Eslatma: NodeMCU quyosh zaryadini nazorat qilish moslamasiga USB kabeli orqali ulangan (sxemada u yo'q). USB bilan quyosh zaryadini boshqarish moslamasining namunasi uchun Materiallar bo'limiga qarang.

Men Github loyihasidan fritzing papkasida mavjud bo'lgan barcha maxsus qismlarni tayyorladim (bularning barchasini Internetda topish mumkin, chunki men uni yaratganman.

4 -qadam: Rahmat

Men dam olish kunlari buni qilishga ruxsat bergan ajoyib sherigimni tan olishni istardim! Va, albatta, loyihani amalga oshirgan barcha ishlab chiqaruvchilar, masalan, super CTBot kutubxonasi uchun @shurillu, uning qo'llanmasi uchun EstebanP27, men bu loyiha uchun ko'p narsalarni o'rgandim! Shuningdek, men logotip uchun SVGlardan foydalangan svgrepo -ga minnatdorchilik bildirmoqchiman.

Tavsiya: