Mundarija:

Green House avtomatizatsiyasi: 11 qadam
Green House avtomatizatsiyasi: 11 qadam

Video: Green House avtomatizatsiyasi: 11 qadam

Video: Green House avtomatizatsiyasi: 11 qadam
Video: Автоматизация теплицы, гроубокса своими руками. Часть 2. Изготовление. Automatic greenhouse DIY 2024, Iyul
Anonim
Yashil uyni avtomatlashtirish
Yashil uyni avtomatlashtirish

Yashil uylarni avtomatlashtirish - bu loyiha bo'lib, u issiqxonaning uchta parametrini, ya'ni tuproq namligi, harorati va namligini foydalanuvchi tomonidan veb -brauzer yordamida masofadan turib kuzatib boradi.

1 -qadam: zarur komponentlar

Majburiy komponentlar
Majburiy komponentlar
Majburiy komponentlar
Majburiy komponentlar
Majburiy komponentlar
Majburiy komponentlar

Ba'zi zarur komponentlar quyida keltirilgan

1. Malinali PI modeli B

2. NodeMCU rivojlanish kengashi

3. ESP8266 Wifi moduli

4. Namlik sensori

5. DHT11 harorat va namlik sensori

6. 5V yagona kanalli o'rni

7. 5V suv osti nasosi

8. Non paneli

9. Non paneli quvvat manbai moduli

2 -qadam: Til va protokol

Til va protokol
Til va protokol
Til va protokol
Til va protokol
Til va protokol
Til va protokol
  • C tili mikrokontrollerlar uchun ishlatiladi.
  • MQTT xabari: MQTT MQ Telemetriya transportini anglatadi. Bu cheklangan qurilmalar va past o'tkazuvchanlik, yuqori kechikish yoki ishonchsiz tarmoqlar uchun mo'ljallangan, nashr qilish/obuna bo'lish, juda oddiy va engil xabarlar almashish protokoli. Dizayn tamoyillari tarmoq o'tkazuvchanligi va qurilmaning resurslarga bo'lgan talabini minimallashtirish, shu bilan birga ishonchlilik va etkazib berishni ma'lum darajada ta'minlashga harakat qiladi. Ushbu tamoyillar, shuningdek, ulanadigan qurilmalar dunyosining "mashinadan mashinaga" (M2M) yoki "Internet narsalari" dunyosining idealiga aylanadi, shuningdek, tarmoqli kengligi va batareya quvvati yuqori bo'lgan mobil ilovalar uchun.
  • Python dasturi suv oqimi va ma'lumotlar bazasi ulanishini avtomatlashtirish uchun ishlatiladi.

3 -qadam: Eclipse Mosquitto MQTT brokeri

Eclipse Mosquitto MQTT brokeri
Eclipse Mosquitto MQTT brokeri

Bu erda men tugunlar orasidagi oson xabar almashish uchun Mosquitto MQTT Brokeridan foydalandim.

Eclipse Mosquitto - MQTT protokoli 5.0, 3.1.1 va 3.1 versiyalarini amalga oshiruvchi ochiq manbali (EPL/EDL litsenziyali) xabarlar brokeridir. Mosquitto engil va kam quvvatli bitta taxtali kompyuterlardan to to'liq servergacha bo'lgan barcha qurilmalarda foydalanish uchun javob beradi.

MQTT protokoli nashr qilish/obuna bo'lish modeli yordamida xabar almashishning engil usulini ta'minlaydi. Bu Internet -narsalar almashinuviga mos keladi, masalan, past quvvatli sensorlar yoki telefonlar, o'rnatilgan kompyuterlar yoki mikrokontrollerlar kabi mobil qurilmalar.

Mosquitto loyihasi, shuningdek, MQTT mijozlarini amalga oshirish uchun C kutubxonasini va eng mashhur mosquitto_pub va mosquitto_sub buyruq qatori MQTT mijozlarini taqdim etadi.

4 -qadam: Butun loyihada ma'lumotlar oqimi

Yuqoridagi rasmda tugunlar ko'rsatilgan

  1. NodeMCU
  2. Malinali PI
  3. ESP8266

NodeMCU - bu Yashil uyning sezuvchi qismi va ESP8266 - erga datchiklarga ko'ra suv kerak bo'lganda suv bilan ta'minlaydigan harakatlantiruvchi qism.

Raspberry PI tarkibida Mosquitto Broker va Python mijozi mavjud bo'lib, u MQTT Brokerdan kelgan xabarlarga obuna bo'ladi va ma'lumotlarni SQL serverida saqlaydi.

5 -qadam: Sensorlarni NodeMCU bilan ulash

Sensorlarning NodeMCU bilan ulanishi
Sensorlarning NodeMCU bilan ulanishi

DHT11 harorat va namlik sensori va suv namligi sensori 3,3 voltsda ishlashga qodir.

NodeMCU 3,3 voltdan oshmaydi. Shunday qilib, sensorlar to'g'ridan -to'g'ri NodeMCU mikrokontroller platasiga ulanishi mumkin.

6 -qadam: Suv osti nasosini ESP8266 bilan ulash

Suv osti nasosining ESP8266 bilan ulanishi
Suv osti nasosining ESP8266 bilan ulanishi
Suv osti nasosining ESP8266 bilan ulanishi
Suv osti nasosining ESP8266 bilan ulanishi

Suv osti nasosi suvni kerak bo'lganda etkazib berish uchun ishlatiladi.

Suv nasosining ishlashi uchun 5 voltli quvvat manbai kerak.

Dvigatelni ulash uchun bitta kanalli o'rni kerak. ESP8266 ning GPIO2 pinini ishga tushirganda, o'rni yoqiladi va suvni suv osti nasosi yordamida avtomatik ravishda etkazib beradi.

Bu erda ESP8266 taxtasi, o'rni va suv osti nasosiga tashqi elektr ta'minoti beriladi.

Mening to'liq apparat aloqasi yuqoridagi rasmda.

7 -qadam: Mosquitto brokerini o'rnatish va Raspberry Pi -da Python dasturini ishga tushirish

Raspberry PI -da Mosquitto brokerini o'rnatish bo'yicha qadamlar

Terminalni oching va quyidagi buyruqlarni kiriting

sudo apt-add-repository ppa: chivin-dev/chivin-ppa

sudo apt-get yangilanishi

sudo apt-get chivinni o'rnating

sudo apt-get chivin-mijozlarni o'rnating

U avtomatik ravishda chivinni ishga tushirishi kerak.

Foydalanishim kerak bo'lgan xizmatni to'xtatish va ishga tushirish uchun

sudo xizmati chivinni to'xtatadi

sudo xizmati chivinlarni ishga tushiradi

Ko'pchilik saytlar men qayerda format ishlatilishini aniqladim.

sudo /etc/init.d/mosquitto to'xtatish

8 -qadam: MQTT qanday ishlaydi?

MQTT qanday ishlaydi?
MQTT qanday ishlaydi?

MQTT - bu IoT loyihalarida eng ko'p ishlatiladigan protokollardan biri. Bu "Telemetriya transporti uchun navbat" xabarini bildiradi.

Bundan tashqari, u mijozlar va server o'rtasida ma'lumot almashish uchun nashr etish/obuna qilish operatsiyalaridan foydalanadigan engil xabar almashish protokoli sifatida yaratilgan. Bundan tashqari, uning kichik o'lchamlari, kam quvvat sarfi, ma'lumotlar paketlarining minimallashuvi va amalga oshirish qulayligi protokolni "mashinadan mashinaga" yoki "narsalar Interneti" dunyosining idealiga aylantiradi.

Boshqa har qanday Internet protokoli singari, MQTT ham mijozlar va serverga asoslangan. Xuddi shunday, server bir -birlari o'rtasida ma'lumotlarni qabul qilish yoki yuborish bo'yicha mijozning so'rovlarini bajarishga mas'ul bo'lgan odamdir, MQTT serveri broker deb ataladi va mijozlar shunchaki ulangan qurilmalardir.

* Agar qurilma (mijoz) ma'lumotni brokerga yubormoqchi bo'lsa, biz bu operatsiyani "nashr" deb ataymiz.

* Agar qurilma (mijoz) brokerdan ma'lumot olishni xohlasa, biz bu operatsiyani "obuna bo'lish" deb ataymiz.

9 -qadam: NodeMCU va ESP8266 dasturlash

Quyida NodeMCU va ESP8266 mikrokontroller kartalari uchun manba kodlari keltirilgan

10 -qadam: veb -sahifani loyihalash va SQL ma'lumotlar bazasiga ulanish

Web -sahifa HTML, CSS va PHP tili yordamida yaratilgan.

PHP ma'lumotlar bazasidan sensorlar o'qilishini chiqarish va HTML -sahifada ko'rsatish uchun ishlatiladi.

Python dasturi ushbu loyihaning yuragi sifatida ishlatiladi.

Python dasturi bajaradigan ishlar quyidagicha.

  1. Sensor sensor o'qilishini yuboradigan mavzuga obuna bo'ladi.
  2. U suv nasosini yoqish/o'chirish buyrug'ini MQTT brokeriga e'lon qiladi.
  3. Sensor o'qilishini SQL ma'lumotlar bazasida saqlaydi.

Bu erda mening holatimda python dasturi va SQL ma'lumotlar bazasi noutbukda mavjud. Mahalliy xost orqali ishlaydigan veb -sahifa.

Quyida mening python dasturining manba kodi keltirilgan.

11 -qadam: to'liq ishlash

To'liq ishlash
To'liq ishlash

Jarayon davom etadigan bosqichlar quyida keltirilgan.

  1. NodeMCU sezgich qismi sifatida ishlaydi va harorat, namlik va tuproq namligini o'qiydi.
  2. U o'qishni MQTT brokeriga "1 -mavzu" mavzusida yuboradi.
  3. Noutbukda python dasturi ishlaydi va u MQTT brokerining "1 -mavzu" mavzusiga obuna bo'ladi.
  4. NodeMCU o'qishni yuborganida, Mosquitto MQTT Broker darhol ma'lumotlarni python dasturiga yuboradi.
  5. Python dasturi keyin Green House uchun suv kerak yoki yo'qligini hisoblab chiqadi. Keyin u o'qishni SQL ma'lumotlar bazasida saqlaydi.
  6. Agar yashil uyga suv kerak bo'lsa, python dasturi Mosquitto MQTT brokeriga "2 -mavzu" mavzusida suv nasosini yoqish/o'chirish to'g'risida xabar yuboradi.
  7. ESP8266 aktuator sifatida ishlaydi. Python dasturi xabarni qaysi mavzuda nashr qilayotgani "2 -mavzu" mavzusiga obuna bo'ladi. Python dasturi har qanday xabarni e'lon qilganda, xabar darhol ESP8266 ga o'tkaziladi. Yoqish/o'chirish xabariga ko'ra, u suv osti nasosini yoqdi/o'chirdi.
  8. Veb -sahifada jonli o'qishni ko'rsatish uchun oxirgi bosqich. Veb -sahifa ma'lumotlar bazasini Python dasturi saqlaydigan SQL ma'lumotlar bazasidan oladi va sahifadagi o'qishni ko'rsatadi.

Tavsiya: