Mundarija:
- 1 -qadam: zarur komponentlar
- 2 -qadam: Til va protokol
- 3 -qadam: Eclipse Mosquitto MQTT brokeri
- 4 -qadam: Butun loyihada ma'lumotlar oqimi
- 5 -qadam: Sensorlarni NodeMCU bilan ulash
- 6 -qadam: Suv osti nasosini ESP8266 bilan ulash
- 7 -qadam: Mosquitto brokerini o'rnatish va Raspberry Pi -da Python dasturini ishga tushirish
- 8 -qadam: MQTT qanday ishlaydi?
- 9 -qadam: NodeMCU va ESP8266 dasturlash
- 10 -qadam: veb -sahifani loyihalash va SQL ma'lumotlar bazasiga ulanish
- 11 -qadam: to'liq ishlash
Video: Green House avtomatizatsiyasi: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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
- 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
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
- NodeMCU
- Malinali PI
- 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
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 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 - 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.
- Sensor sensor o'qilishini yuboradigan mavzuga obuna bo'ladi.
- U suv nasosini yoqish/o'chirish buyrug'ini MQTT brokeriga e'lon qiladi.
- 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
Jarayon davom etadigan bosqichlar quyida keltirilgan.
- NodeMCU sezgich qismi sifatida ishlaydi va harorat, namlik va tuproq namligini o'qiydi.
- U o'qishni MQTT brokeriga "1 -mavzu" mavzusida yuboradi.
- Noutbukda python dasturi ishlaydi va u MQTT brokerining "1 -mavzu" mavzusiga obuna bo'ladi.
- NodeMCU o'qishni yuborganida, Mosquitto MQTT Broker darhol ma'lumotlarni python dasturiga yuboradi.
- Python dasturi keyin Green House uchun suv kerak yoki yo'qligini hisoblab chiqadi. Keyin u o'qishni SQL ma'lumotlar bazasida saqlaydi.
- 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.
- 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.
- 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:
Arduino -ning avtomatik avtomatizatsiyasi: 5 qadam
Arduino -ning avtomatlashtirilishi: bu eng muhim vazifalardan biri. Agacharse para alcanzar un bote de basura yoki abrir givetas innecesarias. Agar siz o'zingizni avtomatlashtirishni xohlasangiz, u holda
Tampa De Aquário avtomatizatsiyasi: 7 qadam
Tampa De Aquário avtomatizatsiyasi: Tampa de Aquário avtomatizatsiyasi past haroratli tizimlar va tizimlar orqali boshqariladi, chunki ular Internetda mikrokontrollovchilar tomonidan boshqariladi
NodeMCU sensorli sensorli LDR haroratni boshqarish rölesi bilan uy avtomatizatsiyasi: 16 qadam
NodeMCU sensorli sensorli LDR haroratni nazorat qilish rölesi yordamida uyni avtomatlashtirish: NodeMCU -ning oldingi loyihalarida men Blynk ilovasidan ikkita maishiy texnikani boshqarganman. Men qo'lda boshqarish va qo'shimcha funktsiyalarni qo'shish orqali loyihani yangilash uchun ko'plab sharhlar va xabarlarni oldim, shuning uchun men bu aqlli uyni kengaytirish qutisini yaratdim
Eagle Cad yordamida keyingi avlod uy avtomatizatsiyasi (1 -qism - PCB): 14 qadam
Keyingi avlod uy avtomatizatsiyasi Eagle Cad yordamida (1 -qism - PCB): Kirish: Nega men uning keyingi avlodini aytaman: chunki u an'anaviy uy avtomatlashtirish qurilmalaridan ko'ra yaxshiroq komponentlardan foydalanadi. U asboblarni quyidagicha boshqarishi mumkin: Google Voice buyruqlari asboblar boshqaruvidagi sensorli panel
IOT bilan Green House monitoringi: 5 qadam
IOT bilan Green House monitoringi: Qishloq xo'jaligiga kelganda, haroratni kuzatish & o'simliklarning namligi ularning omon qolishida muhim omil hisoblanadi. Hozirgi vaqtda odamlar issiqxonaga o'rnatilgan termometrlardan foydalanadilar, shuning uchun dehqonlar haroratni o'lchaydilar. Biroq, bu qo'lda qo'llanma