Mundarija:

Avtomatlashtirilgan o'simlik pot - Kichkina bog ': 13 qadam (rasmlar bilan)
Avtomatlashtirilgan o'simlik pot - Kichkina bog ': 13 qadam (rasmlar bilan)

Video: Avtomatlashtirilgan o'simlik pot - Kichkina bog ': 13 qadam (rasmlar bilan)

Video: Avtomatlashtirilgan o'simlik pot - Kichkina bog ': 13 qadam (rasmlar bilan)
Video: Sanoatda kadrlar va mehnatga haq to'lash 2024, Noyabr
Anonim
Avtomatlashtirilgan o'simlik pot - Kichik bog '
Avtomatlashtirilgan o'simlik pot - Kichik bog '

Men Howest Kortrijkdagi multimediya va aloqa texnologiyasi talabasiman. Yakuniy topshiriq uchun biz o'zimiz xohlagan IoT loyihasini ishlab chiqishimiz kerak edi.

Fikrlarni qidirib, men o'sadigan o'simliklarni yaxshi ko'radigan va avtomatlashtirilgan qozonda ishlashni boshlagan onam uchun foydali narsa qilishga qaror qildim.

"Little Garden" avtomatlashtirilgan qozonining asosiy vazifalari:

  • O'lchang

    • Harorat
    • Yorug'lik intensivligi
    • Namlik
    • Tuproq namligi

O'lchovlarni ma'lumotlar bazasiga saqlang

Agar ma'lum bir qiymat juda past bo'lsa, o'simlik o'sishi uchun sharoitlarni yaxshilang

Qurilmani veb -sayt orqali kuzatishga va boshqarishga ruxsat bering

Belgilangan har bir qadamni bajarish shart emas. Ko'p narsa sizning shaxsiy xohishingizga bog'liq bo'lishi yoki yaxshilanishi mumkin. Bu tuzilish shunday qilinganki, uning qismlari keyinchalik tiklanishi mumkin, shuning uchun uni doimiy qilish uchun boshqacha yondashishni xohlashingiz mumkin.

1 -qadam: materiallar

Ta'minotlar
Ta'minotlar
Ta'minotlar
Ta'minotlar
Ta'minotlar
Ta'minotlar

Loyihaning ko'p qismini sotib olish unchalik qiyin emas, lekin men ko'p qayta ishlangan materiallar bilan ishlaganman. Men keyinchalik ba'zi materiallarni qayta tiklashimga ishonch hosil qilishim kerak edi.

Asosiy komponentlar:

  • Raspberry Pi 4 modeli B.
  • Raspberry Pi quvvat manbai
  • T-poshnali Raspberry Pi
  • 16 GB micro SD karta
  • 3.3V va 5V kuchlanishli non paneli
  • Non paneli
  • 12V quvvat manbai

Sensorlar:

  • DHT11: namlik va harorat sensori
  • BH1750: yorug'lik intensivligi sensori
  • Tuproq namligi sensori
  • MCP3008

Aktuator komponentlari:

  • 220V suv nasosi
  • 12V LED tasmasi
  • Velleman o'rni moduli
  • Maslahat 50: NPN tranzistorlari
  • 16X2 o'lchamli LCD displey
  • PCF8574a

Rezistorlar:

  • 3 x 330 Ohmli rezistorlar
  • 1 x 5k Ohm qarshilik
  • 2 x 10k Ohmli rezistorlar
  • 1 x 1k Ohm qarshilik
  • 1 x 10k Potentio qarshiligi

Materiallar:

  • Tayyor issiqxona/o'simlik qozon
  • Birlashma qutisi
  • Plastik suv idishi
  • Burilishlar
  • Jumper simlari + oddiy sim
  • Skrews
  • Lehimlaydigan kalay + issiqlik o'tkazmaydigan quvurlar
  • Ikki tomonlama duktli lenta
  • Bo'yamoq

Asboblar:

  • Yelimli qurol
  • Matkap
  • Sawblade
  • Lehimlash temir
  • Qutini kesuvchi
  • Bo'yoq cho'tkasi

Ushbu loyihaning eng yaxshi tomoni shundaki, uni komponentlarni qo'shish/olib tashlash va kodni biroz o'zgartirish orqali kengaytirish yoki soddalashtirish mumkin. Masalan, 220V nasosni 12V nasos bilan almashtirish orqali siz qurilmadan quvvat adapterini olib tashlashingiz mumkin.

2 -qadam: Fritzing sxemasi

Sovutish sxemasi
Sovutish sxemasi
Sovutish sxemasi
Sovutish sxemasi

Qurilmaning non paneli va elektr sxemalari yuqorida ko'rsatilgan. Bu erda siz barcha komponentlar bir -biriga qanday bog'langanligini ko'rishingiz mumkin.

Komponentlar qanday ishlashini umumiy tushuntirish:

  • DHT11 havoning namligini %, haroratni ° C da o'lchaydi. U bilan aloqa I2C bu bilan boshqariladi.
  • BH1750 yorug'lik intensivligini lyuks bilan o'lchaydi. Aloqa I2C avtobusi orqali amalga oshiriladi
  • Tuproq namligi sensori MCP3008 tomonidan Raspberry Pi uchun o'qiladigan raqamli signalga aylanadigan raqamli signalni yaratadi.
  • 16x2 LCD-modul IP-manzillarni birin-ketin Pi dan ko'rsatadi. U Raspberry Pi -dan signalni qabul qiluvchi PCF8574a -ga ulangan, bu uni displeyning pin pinlari uchun bir qancha signallarga aylantiradi. LCD displeydan E va RS pinlari to'g'ridan -to'g'ri Pi ga ulanadi, potentsio qarshiligi ekranning yorqinligini aniqlaydi.
  • Suv nasosi uning orasidagi 220V kuchlanishli rozetkaga ulangan. Raspberry Pi o'rni signalini elektr zanjirini yopish va nasosni yoqish uchun yuborishi mumkin.
  • LED tasmasi 12V quvvat manbaiga va elektr tokini almashtiruvchi TIP 50 (NPN tranzistorli) ga ulangan. 1k Ohm qarshilik Raspberry Pi -dan olingan quvvatni cheklash uchun ishlatiladi, aks holda u juda qizarib pishgan bo'ladi.

3 -qadam: Raspberry Pi tayyorlang

Raspberry Pi tayyorlang
Raspberry Pi tayyorlang

Agar sizda hali yo'q bo'lsa, Raspberry Pi OS rasmlaridan birini SD -kartaga joylashtirishingiz kerak bo'ladi. Men Lite -dan foydalanishni tavsiya etmayman, chunki bu boshida muammolarga olib keldi. Keyin Pi Internetga ulangan vaqtda quyidagi buyruqlar yordamida sizning Pi yangilanganligiga ishonch hosil qilishingiz kerak bo'ladi:

  1. sudo apt-get yangilanishi
  2. sudo apt-get upgrade

Shundan so'ng siz raspi-config yoki buyruqlar yordamida loyihaning ishlashi uchun paketlarni yoqishingiz yoki o'rnatishingiz mumkin.

  • SPI
  • I2C
  • MySQL: keyingi qadam
  • SocketIO: flask-socketio ni o'rnatish

O'rnatishdan so'ng siz html, CSS, Javascript va Python -da yozilgan kerakli fayllarni qo'shishingiz mumkin. Mening barcha kodlarimni github omboridan topishingiz mumkin.

4 -qadam: ma'lumotlar bazasi modeli - MySQL

Ma'lumotlar bazasi modeli - MySQL
Ma'lumotlar bazasi modeli - MySQL

Yuqorida siz MariaDB orqali joylashtirilgan ERD diagrammasini ko'rishingiz mumkin. Men MariaDB -ni o'rnatish uchun emas, balki sizning Pi himoyalanganligiga ishonch hosil qilish uchun ushbu MariaDB o'rnatish qo'llanmasiga amal qilishni tavsiya qilaman.

Tushunishni istaganlar uchun ma'lumotlar bazasi quyidagicha ishlaydi:

O'lchovlar va aktuatorlar almashinuvi Metingen jadvalida qator sifatida saqlanadi.

  • metingId = o'lchov/o'tish qatorining identifikatori
  • deviceId = Jadvaldagi ushbu qator uchun mas'ul bo'lgan qurilma identifikatori
  • waarde = datchik o'lchovi yoki aktuatorni almashtirish qiymati

    • Sensor: mos keladigan birliklarda o'lchov qiymati
    • aktuatorlar: 0 = OFF va 1 = ON
  • commentaar = xatolar kabi qo'shimcha ma'lumotlarni qo'shish uchun ishlatiladigan sharhlar
  • ma'lumotlar = o'lchash/almashtirish sodir bo'lgan sana va vaqt

Qurilma sozlamalari Sozlamalar ichida saqlanadi.

  • settingId = bu satrning identifikatori va sozlash qiymati
  • deviceID = mos keladigan qurilma/sensorning identifikatori
  • waarde = sozlash qiymati
  • type = hisob turi, bu maksimalmi yoki minimalmi?

Va nihoyat, "Qurilmalar" jadvalida sensorlar va aktuatorlar haqida ma'lumot bor.

  • deviceId = ushbu jadvaldagi qurilmaning identifikatori
  • naam = qurilma/komponent nomi
  • merk = brend
  • prijs = komponentning narxi
  • beschrijving = komponentning qisqacha mazmuni
  • eenheid = o'lchangan qiymatlar uchun birlik
  • typeDevice = komponent sensor yoki aktuator ekanligini aniqlaydi

5 -qadam: Frontend: veb -serverni sozlash

Frontend: veb -serverni sozlash
Frontend: veb -serverni sozlash

Pi ushbu qurilma uchun veb -serverni ishga tushirish uchun sizdan Apache veb -serverini o'rnatishingizni talab qiladi. Buni quyidagi buyruq yordamida bajarish mumkin:

sudo apt-get apache2 ni o'rnating.

Bu bajarilgandan so'ng, siz papkaga o'tishingiz mumkin:/var/www/html. Bu erda siz barcha frontend kodlarini joylashtirishingiz kerak bo'ladi. Shundan so'ng, siz IP -manzilni ko'rish orqali veb -saytga kirishingiz mumkin.

6 -qadam: orqa qism

Orqa fonni ishga tushirish uchun siz app.py faylini qo'lda yoki Pi -da xizmat yaratish orqali ishga tushirishingiz kerak, shunda u avtomatik ravishda ishga tushadi.

Ko'rib turganingizdek, juda ko'p fayllar mavjud. Kodni aniq ko'rib chiqish va tartibga solish uchun kodni iloji boricha ajratdim.

Qisqacha tushuntirish:

app.py: ma'lumotlar bazasi, apparat kodi va orqa kod qo'shilgan asosiy fayl

config.py: ma'lumotlar bazasi omborlari uchun konfiguratsiya fayli

Ma'lumotlar ombori: Ma'lumotlar omboriga kirish uchun

  • Yordamchi

    • devices_id: ma'lumotlar bazasidagi qurilma ma'lumotlarini aniqlashga yordam beradigan sinflar
    • lcd: PCF va LCD -ni ishlatish uchun
    • Aktuatorlar: aktuatorlarni ishga tushirish uchun sinflar
    • Datchiklar: datchiklarni ishga tushirish uchun sinflar

7 -qadam: LED tasmasini joylashtirish

LED tasmasini joylashtirish
LED tasmasini joylashtirish

Men LED tasmasini kesib, issiqxona qutisining yuqori qismiga yopishtirdim. Men foydalangan tasmani bir nechta pozitsiyalarda kesish va qayta ulash mumkin edi, shuning uchun siz bir nechta chiziqlar qo'yib, ularni simlar orqali qayta ulashingiz mumkin, bu esa ko'proq joyni yoritish imkonini beradi.

8 -qadam: quvurlarni joylashtirish

Quvurlarni joylashtirish
Quvurlarni joylashtirish

Quvurlarni turli yo'llar bilan joylashtirish mumkin edi, lekin menimcha, ularni pastki qismiga yopishtirib, boshqa elektronikadan iloji boricha uzoqroq tutib, suvni axloqsizlikka oqishiga yo'l qo'ydim.

9 -qadam: LCD -ni joylashtirish

LCD displeyni joylashtirish
LCD displeyni joylashtirish

Men birlashma qutisi qopqog'ini arra bilan kesib oldim, displey o'tishi uchun etarlicha katta teshik ochdim, lekin PCB uning orqasida qoladi. Shundan so'ng, u egri chiziqlar yordamida qopqoqqa yopishtirilgan.

LCD displeyda Raspberry Pi -ning IP -manzillari ko'rsatiladi, bu sizga veb -saytga kirishda qaysi manzilni ishlatishingiz mumkinligini bilish imkonini beradi.

10 -qadam: Datchiklarni joylashtirish va LED tasmasini ulash

Datchiklarni joylashtirish va LED tasmasini ulash
Datchiklarni joylashtirish va LED tasmasini ulash
Datchiklarni joylashtirish va LED tasmasini ulash
Datchiklarni joylashtirish va LED tasmasini ulash

Sovutish sxemalaridan foydalanib, men simlar orasidagi ulanishlarni lehimladim va rezistorlarni simlar ichiga joylashtirdim, ularni izolyatsiya qilish uchun issiqlik qisqaruvchi quvurlar yordamida.

Issiqxonaning qopqog'i va pastki qismidagi burilishlarni ulash uchun teshiklar kesilgan, ular orqali men datchiklar va LED tasmasini tortdim.

Men simlarni funktsiyasi bo'yicha guruhlarga ajratdim. Simlar va qisqaruvchi naychalarning tarangligi datchiklarni ushlab turardi. Men faqat DHT11 uchun simlarga elim ishlatishga majbur bo'ldim, chunki bu uzoq davom etdi.

11 -qadam: Pi -ni ulash

Pi -ni ulash
Pi -ni ulash
Pi -ni ulash
Pi -ni ulash
Pi -ni ulash
Pi -ni ulash

Men simlarning keyinchalik o'tishiga ruxsat berish uchun ulanish qutisi yonidagi teshiklarni kesib tashladim.

Shundan so'ng, men non taxtasini (T-pog'onali, PCF8574a, MCP3008, sozlanishi qarshilik va TIP50 bilan), o'rni va Raspberry Pi ni ikki tomonlama tasma bilan yopilgan birlashma qutisining pastki qismiga qo'ydim. Quvvat manbai non paneliga to'g'ri kelmadi, shuning uchun uni yon tomonga qo'yishim kerak edi va uni o'tish paneliga ulash uchun o'tish simlari ishlatilgan.

Oxir -oqibat men adapterni, datchikni va aktuator simlarini simlarni non paneli, Raspberry Pi va boshqa komponentlarga ulangan teshiklardan oldim. Nasosning simini kesib tashladim, shuning uchun men uni o'rni ichiga joylashtirdim, shunda u kalit sifatida ishlatilishi mumkin edi.

12 -qadam: Suv uchun idish yasash

Suv uchun konteyner yasash
Suv uchun konteyner yasash

Men 1 litrli plastmassa suv idishidan suv idishini yasadim, uning yuqori qismini qutichali kesgich bilan kesib, uni yaxshi ko'rinish uchun bo'yab qo'ydim. Keyin suv nasosi ichkariga joylashtirildi. Kemalar bilan aloqa qilish qoidasining sababi shundaki, suv quvurlardan o'z -o'zidan o'tishi mumkin edi, lekin quvurni ushlab turish muammoni hal qiladi.

13 -qadam: Yakuniy natija

Yakuniy natija
Yakuniy natija
Yakuniy natija
Yakuniy natija

Siz kutgan payt. Endi siz axloqsizlik va urug'larni issiqxona qutisiga joylashtirishingiz va qurilmani o'z zimmasiga olishga ruxsat berishingiz mumkin. Siz veb -saytdan qurilmaning holatini kuzatishingiz va yorug'lik va tuproq sharoitlari uchun maqbul qiymatlarni o'rnatishingiz mumkin.

Men avval tuproqni qo'lda sug'orishni maslahat beraman, chunki ba'zi axloqsizlik dastlab juda quruq bo'lishi mumkin. Ba'zi nasoslar ham juda sekin sug'orilganday tuyuladi, lekin siz juda ehtiyot bo'lishingiz kerak, chunki u kutganingizdan tezroq to'ladi. 80% dan yuqori to'yinganlik erni juda botqoq qilib qo'yishi mumkin. Va tuproq namligi sensori etarlicha chuqur ekanligiga ishonch hosil qiling.

Tavsiya: