Mundarija:
- 1 -qadam: Uskuna o'rnatish
- 2 -qadam: Dropbox -ni o'rnating
- 3 -qadam: Dropbox ilovalar papkasini tayyorlash
- 4 -qadam: Kodni ishga tushirish
- 5 -qadam: Kodni chuqurroq qazish
- 6 -qadam: Dropbox parametr fayllaridan foydalanish
- 7 -qadam: Xulosa
Video: Dropbox yordamida Raspberry Pi uy monitoringi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Ushbu qo'llanma sizga Raspberry Pi, veb -kamera, bir nechta elektr komponentlari va Dropbox hisob qaydnomasi yordamida oddiy va kengaytiriladigan uy monitoringi tizimini qanday yaratishni ko'rsatib beradi. Tayyor tizim sizga veb-kamerangizdan rasmlarni masofadan turib so'rash va ko'rish imkonini beradi, shu bilan birga Dropbox yordamida uyingizdagi haroratni Internet orqali kuzatib borish uchun raqamli harorat sensori mavjud.
Bu men Raspberry Pi 2 modelini B olgandan keyin o'ylab topgan birinchi loyiham edi. Mening maqsadim Internet orqali ma'lumotlarni boshqarish va qabul qila oladigan Python-ga asoslangan monitoring tizimini yaratish edi. Buni amalga oshirishning turli xil usullari mavjud bo'lsa -da, men Dropbox -ni Pi va Internet o'rtasidagi interfeys sifatida ishlatishga qaror qildim, chunki ular oddiy Python API -ga ega, bu sizga ma'lum papkalarda fayllarni yuklash, o'zgartirish va qidirish imkonini beradi. kod
Men, shuningdek, mening yechimim engil va sodda bo'lishini, shuningdek, Pi -ni keraksiz kutubxonalar va dasturlar bilan chalkashtirib yubormaslikni xohlardim. Ushbu loyihaning dasturiy komponenti bitta Python skriptidan iborat, ya'ni siz kuzatuv tizimi ishlayotganda ham Pi -dan odatdagidek foydalanishni davom ettirishingiz mumkin.
Ushbu loyiha uchun sizga kerak bo'ladi:
Malinali Pi. Har qanday model ishlashi kerak, men hamma narsani birlashtiradigan boshlang'ich to'plamini ishlatardim, lekin sizga faqat markaziy birlik kerak bo'ladi
USB veb -kamera. Men arzon ishlaydigan ADVENT AWC72015 sotib oldim, u yaxshi ishladi. Pi bilan ishlash uchun tasdiqlangan veb -kameralar ro'yxati bilan tanishish yaxshi bo'lardi. E'tibor bering, ba'zilari USB -uyadan quvvat oladi (menikisiz ham yaxshi ishlaydi)
Dropbox hisobi. Men standart bepul hisob qaydnomamdan foydalanaman, chunki bu loyiha ko'p joy talab qilmaydi
DS18B20 raqamli harorat sensori va 4.7k rezistor. Sensorni bu erdan sotib olishingiz mumkin, va siz turli xil rezistorlar to'plamini ham qo'lga kiritishingiz mumkin
Ba'zi elektron qurilmalar. Men sxemani qurish jarayonini iloji boricha osonlashtirish uchun non paneli va bir nechta o'tish kabellarini ishlatishni tavsiya qilaman
[Agar siz ushbu mahsulotlardan birortasini sotib olishga qaror qilsangiz, yuqoridagi havolalar yordamida ro'yxatga kirsangiz, men bundan juda xursand bo'laman - shu yo'l bilan men sizga hech qanday qo'shimcha xarajatlarsiz daromadning ozgina qismini olaman!]
1 -qadam: Uskuna o'rnatish
Birinchi qadam, sizning Pi va unga bog'liq bo'lgan qo'shimcha qurilmalar o'rnatilishini ta'minlashdir.
Birinchidan, Pi -ni Internetga ulang. Bu monitoring dasturi sizning so'rovlaringizni qabul qilishi va ma'lumotlarni Dropbox -ga yuklashini ta'minlash uchun kerak. Ishonchliligini ta'minlash uchun men chekilgan tarmoqdan foydalanaman, lekin Wi-Fi ulanishi ham yaxshi ishlashi kerak, shu bilan birga portativlik yaxshilanadi. Agar siz Wi-Fi-ni tanlasangiz, men Pi uchun USB dongle-ni tavsiya qilaman.
Keyin veb -kamerangizni USB portlaridan biriga ulab Pi -ga ulang. Advent veb -kamerasining ko'rsatmalarida Linux bilan ishlash aniq aytilmagan bo'lsa -da, men uni ulashim va Pi -ni yuklashim kerak edi. Boshqa o'rnatishga hojat yo'q edi. Boshqa veb -kameralar farq qilishi mumkin. Quyidagi buyruq yordamida veb -kamerangiz Linux tomonidan aniqlanganligini tekshirishingiz mumkin:
uyqu
Yuqoridagi rasmda mening veb -kameram "0c45: 6340 Microdia" deb nomlangan.
Va nihoyat, siz DS18B20 harorat sensori Pi ning GPIO sarlavhasiga ulashingiz mumkin. Men sxemani yaratish jarayonini osonlashtirish uchun non panelidan foydalanaman va sizga ham shunday qilishni maslahat beraman, ayniqsa DS18B20 uchta pinning ikkisining orasiga 4.7k rezistor qo'yilishi kerak. Bu havola, bu harorat sensori bilan bog'lanish paneli qanday ishlatilishini ko'rsatadigan yaxshi simi diagrammasini taqdim etadi.
Yuqoridagi qo'llanmaning keyingi sahifasida, shuningdek, DS18B20 ma'lumotlarini o'qish uchun zarur bo'lgan qadamlar keltirilgan va uning ishlashini tekshirish usullari ko'rsatilgan. Ushbu loyiha uchun DS18B20 -ni ishlatishdan oldin ushbu sozlash bosqichlarini bajarish muhimdir. Biz, shuningdek, o'quv dasturidan Python skriptining namunasini kuzatish dasturimizga qo'shamiz, shuning uchun siz ushbu kodni tezda tekshirib ko'rishni xohlashingiz mumkin.
Iltimos, DS18B20 raqamingizning noyob raqamiga ham e'tibor bering. Bu "28-" bilan boshlanadigan raqam, siz sozlash bo'yicha darslik paytida duch kelasiz. Haroratda o'qish uchun uni Python dasturiga kiritish kerak bo'ladi.
2 -qadam: Dropbox -ni o'rnating
Sizning Pi Dropbox bilan o'zaro aloqada bo'lishi uchun siz yangi Dropbox ilovasini o'rnatishingiz kerak. Bu sizga Pi -ga Python yordamida fayllarni onlayn boshqarishni amalga oshirish uchun zarur bo'lgan ma'lumotlarni beradi. Agar siz Dropbox hisob qaydnomasini yaratgan bo'lsangiz va tizimga kirgan bo'lsangiz, "Ishlab chiquvchilar" menyusidan foydalanib, yangi dastur yaratishingiz mumkin. Muhim qadamlarning qisqacha mazmuni uchun yuqoridagi rasmga qarang.
"Ishlab chiquvchilar" menyusida "Mening ilovalarim" -ni tanlang, so'ng "Ilova yaratish" tugmasini bosing. Olingan shaklni to'ldirish uchun "Dropbox API" ni, so'ng "Ilovalar papkasi" ni tanlang. Nihoyat, siz Dropbox -da ilovangiz uchun noyob nom tanlashingiz mumkin. "Ilova yaratish" ni bosing.
Keyin siz Dropbox -dagi ilova sozlamalari sahifasiga o'tasiz. Bu erda faqat bitta narsa qilish kerak - o'zingizga kirish tokenini yarating. Buning uchun "OAuth 2" bo'limiga o'ting va "Yaratilgan kirish belgisi" ostida "Yaratish" tugmasini bosing.
Bu sizga Python yordamida Dropbox hisobingizga kirish uchun zarur bo'lgan uzun belgilar qatorini taqdim etadi. Ushbu kirish belgisini yozib oling, chunki uni keyinroq kodingizda ko'rsatish kerak bo'ladi. Agar siz tokenni yo'qotib qo'ysangiz, Dropbox "Ishlab chiquvchilar" bo'limidagi "Mening ilovalarim" tugmasini bosish orqali ilovangiz sozlamalariga qaytishingiz va yangi token yaratishingiz mumkin.
Boshqa sozlamalarni avvalgidek qoldirishingiz mumkin. Sizning ilovangiz Dropbox hisob qaydnomangizda kerakli papkalarni yaratganligini tasdiqlash uchun saqlash sahifangizga o'ting va "Ilovalar" papkasini toping. Bu papkada yangi ilovangiz uchun tanlagan nomingiz bo'lgan kichik papka bo'lishi kerak. Bu erda sizning kuzatuv tizimingiz uchun barcha fayllar joylashtiriladi.
3 -qadam: Dropbox ilovalar papkasini tayyorlash
Dropbox ilovasini o'rnatganingizdan so'ng, Pi bilan ishlash uchun Dropbox hisob qaydnomangizdagi papkadan qanday foydalanish haqida o'ylash vaqti keldi. Bu juda oddiy tarzda amalga oshiriladi. Pi-da ishlaydigan Python skriptlari Dropbox API-dan buyruqlar to'plamidan foydalanadi, bu sizning ilovalar papkasidagi bo'sh va kengaytirilmagan fayllarning nomlarini o'zgartiradi. Biz ushbu fayllarni "parametrli fayllar" deb ataymiz, chunki ularning har biri sizga monitoring tizimining xatti -harakatlarining boshqa tomonlarini boshqarishga imkon beradi. Yuqoridagi rasmda ushbu loyiha uchun Dropbox ilovalar papkasida bo'lishi kerak bo'lgan to'rtta parametrli fayl ko'rsatilgan. Ularni yaratish juda oddiy:
Dastur papkangiz to'liq bo'shligidan boshlab, kompyuteringizda matn muharriri dasturini oching. Bu Pi yordamida amalga oshirilishi mumkin bo'lsa -da, men ushbu noutbukni ushbu sozlash bosqichida ishlatishni osonlashtirdim. Matn muharriri ochilgandan so'ng (men Windows 7 da Notepad -dan foydalanganman), faqat bo'sh matnli faylni kompyuterning istalgan joyiga saqlash kifoya. Bizning birinchi misolimiz sifatida biz sarlavha rasmidagi birinchi parametrni yaratamiz. Faylni saqlaganingizda 'delay = 10' deb nom bering.
Xulosa qilish uchun, endi kompyuteringizda "kechikish = 10" nomi bilan bo'sh matnli fayl saqlanishi kerak. Bundan tashqari, fayl ".txt" kengaytmasiga ega bo'ladi, u ko'rinmas yoki ko'rinmasligi mumkin.
Keyingi qadam - bu faylni Dropbox ilovalar papkasiga yuklash. Bu xuddi boshqa Dropbox yuklashiga o'xshaydi. Faqat ilova papkasiga o'ting va "Yuklab olish" tugmasini bosing va "kechikish = 10" faylini tanlang.
Bu fayl yuklangach, endi fayl nomida ko'rinadigan '.txt' kengaytmasini olib tashlashingiz kerak. Buning uchun faylni o'ng tugmasini bosing va "Nomini o'zgartirish" -ni tanlang. Fayl nomining ".txt" qismini olib tashlang. Endi sarlavha rasmida ko'rsatilgandek fayl kengaytmasi bo'lmagan 'delay = 10' deb nomlangan faylga ega bo'lishingiz kerak.
"Kechiktirish" parametr fayli - monitoring dasturida ishlatiladigan to'rttadan biri. Boshqalarni yaratish uchun "kechiktirish" faylini o'ng tugmasini bosib nusxa ko'chirish va nomini o'zgartirish mumkin. Siz uchta nusxa yaratganingizdan so'ng, ularni sarlavha rasmida ko'rsatilgandek nomlang, shunda sizning ilovangiz papkasi bu bosqichning boshida ko'rsatilganiga o'xshash bo'ladi.
4 -qadam: Kodni ishga tushirish
Muhokama qilinganidek, bizning kuzatuv tizimimizning asosiy qismi Dropbox bilan interfeysli bitta Python skriptidan iborat bo'ladi. Monitoring dasturi faol bo'lishi uchun bu skript sizning Pi -dagi fonda ishlashi kerak bo'ladi. O'ylaymanki, u "demon" skript sifatida aniq tasvirlangan, ya'ni siz uni ishga tushirishingiz va unutishingiz mumkin. Skript bu bosqichga biriktirilgan, shuning uchun bu erda kodni takrorlashning ma'nosi yo'q. Endi uni yuklab olish va u bilan tanishish uchun yaxshi vaqt bo'lishi mumkin.
Skriptni ishga tushirishdan oldin, tegishli Python kutubxonalari o'rnatilganligiga ishonch hosil qilish kerak. Sizga kerak bo'lganlar biriktirilgan skriptning yuqori qismida ko'rsatilgan. Ular:
import qutisi
import pygame.camera import qilish vaqti
Mening Pi -dagi Python o'rnatilishi allaqachon pygame, os va vaqtni o'z ichiga olgan, shuning uchun men o'rnatishim kerak bo'lgan yagona narsa bu Dropbox. Men buni juda oddiy o'rnatish ko'rsatmalaridan foydalanib qildim.
Kutubxonalar o'rnatilgandan so'ng, siz biriktirilgan skriptning yuqori ikkita satrini Dropbox Access Token va DS18B20 harorat sensori noyob identifikatoriga mos keladigan tarzda tahrir qilishingiz kerak bo'ladi. Bu tahrir qilinishi kerak bo'lgan ikkita satr:
APP_ACCESS_TOKEN = '**********'
THERMOMETER_FILE = '/sys/bus/w1/devices/28-**********/w1_slave'
**** ni to'g'ri qiymatlar bilan almashtiring. Bu vaqtda siz aslida monitoring dasturidan foydalanishga tayyormiz! Faqatgina sakrash o'rniga, kodni umumiy ko'rib chiqish uchun keyingi bosqichga o'tishni tavsiya qilaman.
MUHIM: Siz bu skriptni ishga tushirganingizda, uning fonda ishlashini xohlaysiz, shunda a) siz Pi dan foydalanishni davom ettirishingiz mumkin va b) SSH sessiyasini yopganingizda, skript ishlashda davom etadi. Bu buyruq fayli ishga tushirilganda ishlatiladi:
nohup python DropCamTherm.py &
Bu uchta narsani bajaradi: u skriptni ishga tushiradi ('python DropCamTherm.py'), u boshqaruvni darhol buyruq qatoriga qaytaradi, shunda siz Pi ('&') dan foydalanishni davom ettirishingiz mumkin va u Python chiqishlarini yuboradi. Odatda buyruq satrida "nohup.out" nomli faylga ko'rsatiladi. Buni Linux matn muharriri yordamida o'qish mumkin (mening yoqtirganim nano) va skript ishlayotgan katalogda avtomatik ravishda yaratiladi.
5 -qadam: Kodni chuqurroq qazish
Skriptni ochganingizda, u uchta funktsiyadan iborat ekanligini va skript ishga tushirilganda ushbu funktsiyalarni bajaradigan kodlar blokini ko'rasiz. Vazifalar Dropbox API -dan foydalanadi va Dropbox buyruqlarini tinglash va oxirgi harorat ko'rsatkichini yuklash uchun DS18B20 -ning harorat jurnaliga kiradi. Quyida qanday funktsiyalar bajarilganligi va ular monitoring tizimining ishlashi uchun qanday ishlatilishi haqida qisqacha ma'lumot berilgan.
- poll_parametr ():
Bu funksiya 3 -qadamda biz yaratgan Dropbox parametrli fayllarining maqsadini ko'rsatadi. U "param =" matnini o'z ichiga olgan faylni Dropbox ilovasi papkasida qidiradi. Keyin matnni "=" dan keyin chiqaradi va uni butun songa aylantirishga harakat qiladi. Siz ko'rishingiz mumkinki, bu parametr fayllarining oxiriga tegishli raqamlarni qo'lda qo'shish orqali dasturni boshqarishga imkon beradi. Keyingi bosqichda dasturning bir tomonini boshqarish uchun har bir parametr fayllaridan qanday foydalanish ko'rsatiladigan qisqacha ko'rsatma bo'ladi.
- set_parametr ():
Bu funksiya dasturga Python ichidan parametr faylini qayta nomlash imkonini beradi. Bu bir necha marta, asosan, fayllarning qo'lda qayta nomlanishiga bo'lgan ehtiyojni kamaytirish uchun.
- set_latest_temp ():
Bu funksiya set_parameter () dan foydalanib, oxirgi haroratni Dropbox ilovasi papkasiga yuklaydi, uni 'harorat' parametrli faylga qo'shadi. Funktsiya DS18B20 jurnal faylidagi so'nggi haroratni o'qiydi (Linuxda THERMOMETER_FILE o'zgaruvchisi ko'rsatgan yo'lda mavjud).
Dasturning oxirgi qismi skript ishga tushganda bajariladigan kodni o'z ichiga oladi. DS18B20 sensori uchun zarur bo'lgan ba'zi sozlash bosqichlaridan so'ng, u Access Token yordamida Dropbox sessiyasini ochadi va veb -kamerangizni qidirish uchun pygame -dan foydalanadi. Agar veb -kamera topilsa, u Dropbox -dan ma'lumot olish va unga amal qilish uchun poll_parameter () dan foydalanadigan tsiklga kiradi.
MUHIM: Siz quyidagi kod qatorini ko'rasiz:
cam = pygame.camera. Camera (cam_list [0], (864, 480))
… bu pygame aniqlaydigan birinchi veb -kameradan foydalanishga yaroqli kamera interfeysini yaratishga urinmoqda. Ruxsatni veb -kamerangizga mos keladigan tarzda o'zgartirish kerak bo'lishi mumkin. Qaysi biri yaxshiroq ishlashini aniqlash uchun bir qator qiymatlar bilan tajriba o'tkazing.
6 -qadam: Dropbox parametr fayllaridan foydalanish
Endi sizda 4 -qadam ko'rsatmalaridan foydalangan holda Pi -ga kirishlaringiz uchun ilova papkasini kuzatishni boshlashga ruxsat beradigan ishchi skript bo'lishi kerak. Birinchi ishga tushganda, dastur papkasida quyidagi parametr fayllari bo'lishi kerak:
kechikish = 10
exitprogram = 0 imageerequest = 0 harorat = 0
Dastur bilan o'zaro ishlashga parametr fayllarini Dropbox orqali qo'lda qayta nomlash orqali erishiladi. Buning uchun fayllardan birini sichqonchaning o'ng tugmasi bilan bosing va "Nomini o'zgartirish" -ni tanlang. Har bir parametr fayli boshqa funktsiyaga ega:
- kechikish:
Bu fayl monitoring dasturining har bir iteratsiyasi o'rtasida necha soniya kutish kerakligini monitoring dasturiga aytadi. Men bu dastur bilan unchalik aloqa qilmasligimni bilsam, uni 60 yoki 120 ga qo'yaman. Men tez -tez Pi -dan ma'lumotlarni so'ramoqchi ekanimni bilsam, uni 10 ga qo'yaman.
- chiqish dasturi:
Buni 1 yoki 0 ga o'rnatish kerak. Agar dastur 1 ga o'rnatilganligini aniqlasa, u skriptni tugatadi. Agar siz uni 1 ga o'rnatgan bo'lsangiz va skript chiqsa, uni zaxiralash uchun yana Pi tizimiga kirishingiz kerak bo'ladi. Ushbu parametr mavjud, shuning uchun siz kuzatuv dasturini ishga tushirishga hojat qolmaganda (masalan, agar siz uyga qaytgan bo'lsangiz va veb -kamerani masofadan turib kuzatishni xohlamasangiz) oqilona tarzda to'xtatishingiz mumkin.
- tasvir talabi:
Bu, ehtimol, eng muhim parametrdir. Buni 1 yoki 0 ga o'rnatish kerak. Agar dastur 1 ga o'rnatilganligini aniqlasa, u veb -kameradan rasm so'raydi va uni ilovalar papkasiga yuklaydi ('image.jpg' sarlavhasi bilan). Agar boshqa 'image.jpg' mavjud bo'lsa, u uni qayta yozadi.
- harorat:
Bu set_latest_temp () funktsiyasi tomonidan o'rnatilgan DS18B20 harorat ko'rsatkichi. Siz hech qachon ushbu parametr faylini tahrir qilishingiz shart emas - u avtomatik ravishda dastur tomonidan o'rnatiladi.
E'tibor bering, agar siz "exitprogram" yoki "imagerequest" ni 1 ga o'rnatgan bo'lsangiz, dastur tegishli kodni bajarishdan oldin ularni avtomatik ravishda 0 ga qaytaradi. Bu qulaylik uchun. Bundan tashqari, kod juda ko'p muhim funktsiyalarni o'rab turgan "urinish" va "bundan mustasno" bloklarini o'z ichiga olganini ham sezishingiz mumkin. Bu, agar biror narsa noto'g'ri bo'lsa (masalan, Dropbox -ga kirishni taqiqlovchi Internetga ulanish muammosi), skript istisno qilmasligini (va shuning uchun ishlashni to'xtatmasligini) ta'minlash uchun.
7 -qadam: Xulosa
Ushbu loyiha Python va Dropbox yordamida Raspberry Pi ni boshqarish usulini taqdim etdi. Ushbu loyihada ishlatiladigan uskuna harorat sensori va USB veb -kamerasi bo'lsa -da, Pi ni boshqarishning bu usuli uchun boshqa ko'plab ilovalar mavjud. Aslida, GPIO orqali kirish mumkin bo'lgan har qanday apparat komponenti shunga o'xshash dastur tuzilishi yordamida boshqarilishi mumkin, bu tizimni kengaytirishni juda osonlashtiradi.
Keyingi qadam sifatida, Dropbox API -si bilan bir qatorda, Tkinter kabi GUI kutubxonasidan ham foydalanishingiz mumkin, bu sizga dastur fayllarini Dropbox -ga kirmasdan ham o'zgartirish imkonini beradigan dastur yaratadi.
Umid qilamanki, bu qo'llanma aniq bo'ldi va agar sizda biron bir savol bo'lsa yoki biror narsani tushuntirishimni xohlasangiz, iltimos, sharh qoldiring!
Tavsiya:
NodeMCU yordamida aqlli tarqatilgan IoT ob -havo monitoringi tizimi: 11 qadam
NodeMCU yordamida aqlli tarqatilgan IoT ob -havo monitoringi tizimi: Siz hammangiz an'anaviy ob -havo stantsiyasidan xabardor bo'lishingiz mumkin; lekin u aslida qanday ishlashini hech o'ylab ko'rganmisiz? An'anaviy ob -havo stantsiyasi qimmat va katta hajmga ega bo'lganligi sababli, ushbu stantsiyalarning har bir birlik uchun zichligi juda past, bu esa
Raspberry Pi3 va DHT11 sensori yordamida ob -havo monitoringi tizimi: 4 qadam
Raspberry Pi3 va DHT11 datchiklaridan foydalangan holda ob -havo monitoringi tizimi: Ushbu qo'llanmada men sizga DHT11 -ni Raspberry Pi -ga qanday ulashni va namlik va harorat ko'rsatkichlarini LCD -ga chiqarishni ko'rsataman. Bu raqamli harorat va namlikni ta'minlaydi
Raspberry Pi yordamida harorat va namlik monitoringi: 6 qadam (rasmlar bilan)
Raspberry Pi yordamida harorat va namlik monitoringi: Yoz keladi va konditsioner bo'lmaganlar uy ichidagi atmosferani qo'lda boshqarishga tayyor bo'lishlari kerak. Bu postda men inson farovonligining eng muhim parametrlarini o'lchashning zamonaviy usulini tasvirlayman: harorat va namlik. T
SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam
SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: Yaqinda biz harorat va namlikni kuzatishni talab qiladigan turli loyihalarda ishladik, so'ngra bu ikki parametr tizimning ish samaradorligini baholashda hal qiluvchi rol o'ynashini angladik. Har ikkisi ham indusda
Pool Pi Guy - AI bilan ishlaydigan signalizatsiya tizimi va Raspberry Pi yordamida hovuz monitoringi: 12 qadam (rasmlar bilan)
Pool Pi Guy - AI bilan ishlaydigan signalizatsiya tizimi va Raspberry Pi yordamida hovuz monitoringi: Uyda basseynga ega bo'lish juda qiziqarli, lekin katta mas'uliyat yuklaydi. Mening eng katta tashvishim - kimdir hovuz yonida qarovsiz qolsa (ayniqsa, yosh bolalar). Mening eng katta g'azabim - bu hovuz suv quvurining nasos ostidan hech qachon tushmasligiga ishonch hosil qilish