Mundarija:
- 1 -qadam: zarur manbalar
- 2 -qadam: Google yordamchisi
- 3 -qadam: simlarni kesish
- 4 -qadam: Nasosni o'rni bilan ulang
- 5 -qadam: Quvvat manbaini o'rni bilan ulash
- 6 -qadam: Raspberry Pi -ni estafetaga ulash
- 7 -qadam: nasosni mahkamlang
- 8 -qadam: Suvni yo'naltirish
- 9 -qadam: Hammasini bir joyga to'plash
- 10 -qadam: Uskuna ishini tekshirish
- 11 -qadam: idishni import qilish
- 12 -qadam: Dasturimiz uchun papka yarating va unga kiring
- 13 -qadam: veb -serverni kodlash
- 14 -qadam: Sinov kodi ishlaydi
- 15 -qadam: Tunnel
- 16 -qadam: Ngrok -ni o'rnatish
- 17 -qadam: Ngrokni sinovdan o'tkazish
- 18 -qadam: IFFF
- 19 -qadam: Bajarildi
- 20 -qadam: IOT tanlovi
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu qiziqarli loyiha bo'lib, u Google Home yoki Google yordamchisi bo'lgan har qanday telefondan kimgadir suv sepish yoki ba'zi o'simliklarni sug'orish uchun ishlatiladi. Bundan tashqari, yorug'lik, isitish, fanatlar va boshqalar kabi boshqa maqsadlar uchun juda ko'p imkoniyatlarga ega. Agar sizga bu yoqsa, IOT tanlovida ushbu loyihalarga ovoz bering. Rahmat.
1 -qadam: zarur manbalar
Sizga quyidagilar kerak bo'ladi:
- Malina pi (Internetga kirish imkoniga ega bo'lgan har qanday model)
- 12V suv nasosi (bu men ishlatgan)
- 12 voltli quvvat manbai (bu yoki birining yonida foydalaning)
- 5v 2 kanalli o'rni (bu men ishlatgan tur)
- Ba'zi urg'ochi -ayol jumperlar olib boradi
- Suvni ushlab turish uchun plastik quti
- Suvni nasosdan chiqarib olishning qandaydir usuli (men plastmassa trubkani bukib oldim, lekin somondan foydalanishingiz mumkin)
Biz o'rni ishlatardik, chunki bu uni malina pi bilan masofadan turib yoqish imkonini beradi, lekin siz uni yoqish uchun jismonan yoningizda bo'lishingiz kerak edi.
2 -qadam: Google yordamchisi
Google yordamchisiga qandaydir yo'l bilan kirganingizga ishonch hosil qiling. Siz Google uyidan yoki telefondan foydalanishingiz mumkin.
3 -qadam: simlarni kesish
12 voltli elektr ta'minoti va nasosning uchlarini o'rashga ulash uchun ularni kesib oling, keyin simli kesgichlardan foydalaning. Qatlamni mahkam bog'lab qo'yish uchun uni etarlicha echib oling.
4 -qadam: Nasosni o'rni bilan ulang
- Ikkala o'rni uchun o'rta terminalni burab qo'ying
- Suv nasosidan simlarni joylashtiring
- Yana kiring
5 -qadam: Quvvat manbaini o'rni bilan ulash
- Terminallarni burab qo'ying
- 12V kuchlanishli simlarni ulang
- Ularni joyiga qaytaring
6 -qadam: Raspberry Pi -ni estafetaga ulash
Yuqoridagi diagrammada ko'rsatilganidek, malina pi ni o'rni bilan ulang. O'rnimizni erga, 5v va 2 ta GPIO piniga ulashingiz kerak bo'ladi.
7 -qadam: nasosni mahkamlang
Nasosni plastik idishga mahkamlash uchun blyuz yoki yopishqoq lentadan foydalaning.
8 -qadam: Suvni yo'naltirish
Agar siz kimningdir yuziga suv oqishini xohlasangiz, uni yo'naltirish kerak. Buning uchun men issiqlik tabancasından foydalanib, plastmassa naychani yuqorida ko'rsatilgan shaklga burdim. Keyin tepaga qalam qopqog'ini yopishtirdim. Shu bilan bir qatorda, somondan foydalanishingiz mumkin.
Agar siz ba'zi o'simliklarni sug'orishni xohlasangiz, plastmassa naychani yoki qalamning ichki qismini qo'shishingiz mumkin.
9 -qadam: Hammasini bir joyga to'plash
Men boshqa plastik qutini qo'shdim va namlanishni to'xtatish uchun unga malina pi va o'rni qo'ydim.
Men sxemani biroz aniqroq qilish uchun yuqoridagi sxemani qo'shdim.
10 -qadam: Uskuna ishini tekshirish
Nasos ishini tekshirish uchun malina pi -da quyidagi kodni ishlating. Bu nasosni o'chirib, keyin yoqishi kerak (yoki boshqa tomondan).
gpiozero import LEDidan
import vaqti #bu bizga ushbu kod uchun kerakli modullarni import qiladi
o'rni = LED (14)
relay2 = LED (15) #o'rni LEDni belgilash
rost bo'lsa:
relay.on () #siz buni taxmin qildingiz … o'rni o'rni yoqish.off () #siz taxmin qildingiz … o'rni o'chirish vaqtini o'chirish () #relay off time.sleep (1) #sleeping
11 -qadam: idishni import qilish
Google yordamchisining malina pi ni boshqarishning eng oson usuli - uni veb -serverga joylashtirish. Agar biz biror narsa desangiz, biz Google -ni o'sha serverdagi sahifaga kirishiga va malina pi kodini serverga tashrif buyurganimizda o'z o'rni yoqish va o'chirishga undashimiz mumkin. Agar siz kolbaga chuqurroq o'rganishni xohlasangiz, u holda: malinali pi bo'yicha ushbu darslikka tashrif buyuring.
Sizning malina pi -da kolba modulini pythonga import qiling.
- Internetga ulanganingizga ishonch hosil qiling
- Terminalni oching
- Kiriting:
sudo pip3 kolbasini o'rnating
Agar bu ishlamasa:
- Internetga ulanganingizga ishonch hosil qiling
- Ushbu qo'llanmani ko'rib chiqing
12 -qadam: Dasturimiz uchun papka yarating va unga kiring
Buning uchun terminalni oching va kiriting:
mkdir veb -ilovasi
CD veb -ilovasi
13 -qadam: veb -serverni kodlash
- Bo'sh ish joyini ochish 3
- Fayl> Yangisini yaratish
- Siz yaratgan veb -ilovalar papkasida saqlang
- Ushbu kodni kiriting
kolbadan import qilish Flaskdan gpiozero import LEDni import qilish vaqti #bular ushbu loyiha uchun zarur bo'lgan modullarni import qiladi = LED (14) o'rni2 = LED (15) #o'rni LED ilovasi = kolba (_ nomi_) u bilan kodni keyinroq ishlatish osonroq @app.route ('/', methods = ['GET']) # #"" veb -sahifasida GETni bajarish bu funktsiyani asosiy sahifada ko'rsatilganini qaytaradi. "" "def index ():" Bosh sahifa "ga qaytish @app.route ('/on') #pastdagi funksiya orqali o'rni yoqish" "" o'rni yoqish va funksiyaning to'g'ri ishlashini tekshirish uchun salom. " "" def on (): print ("salom") relay.on () relay2.off () return 'on' @app.route ('/off') #pastdagi funksiya orqali o'rni o'chirish "" "burilish o'rni o'chiriladi va funktsiya to'g'ri ishlashini tekshirish uchun salom, "" def off (): print ("salom") relay.off () relay2.on () 'off' @app.route ('/go')) #funktsiyasini ishga tushirish "" "bu funksiya röleyni yoqadi, shuning uchun u suv purkaydi" "def go (): relay.on () r elay2.off () time.sleep (3) relay.off () relay2.on () return ('go') "" "tegishli port orqali veb -sahifaga kirish (8000 odatda uy) va agar" "" bo'lsa _name_ == '_main_': app.run (disk raskadrovka = To'g'ri, port = 8000, xost = '0.0.0.0')
Sharhlar kodda nima bo'layotganini tushuntiradi
14 -qadam: Sinov kodi ishlaydi
Veb -brauzeringizni oching va https://127.0.0.1:5000/on manzilini kiriting
Siz oq ekranni ko'rishingiz kerak, lekin siz rölenin sekin urilishini eshitishingiz kerak yoki nasos ulangan bo'lsa, u davom etishi kerak.
Nasosni o'chirish uchun https://127.0.0.1:5000/off saytiga o'ting
Eslatma: 127.0.0.1 "uy", ya'ni bu kompyuter: 5000 "port 5000" degan ma'noni anglatadi, bu veb -server ishlayotgan port. Agar bu ishlayotgan bo'lsa, uni bir qadam oldinga surishingiz mumkin:
1. Malinali pis ip -manzilingizni quyidagini yozib bilib oling:
mezbon nomi -I.
2. Pisipadress/on -ga tashrif buyuradigan Wi -Fi tarmog'iga ulangan har qanday kompyuterda
Bu o'rni yoqishi kerak.
Bu sizning malina pi bilan bir xil wifi -ga ulangan har qanday kompyuterdan malina pi -ni qanday boshqarishingiz mumkinligini ko'rsatadi.
15 -qadam: Tunnel
Shunday qilib, Google Home ushbu veb -saytga tashrif buyurishi mumkin, shuning uchun siz tunnel yaratishingiz kerak bo'ladi, shuning uchun siz bir xil IP -manzilga ulanmagan kompyuterlar, siz hali ham o'z o'rni o'chirib qo'yishingiz mumkin. Buni ngrok yordamida qilishingiz mumkin. Bu malina pi ga o'rnatishingiz mumkin bo'lgan dastur, bu sizga kolbaning veb -saytiga har qanday kompyuterdan kirishga imkon beradi.
Qo'shimcha ma'lumot olish uchun ularning veb -saytiga tashrif buyuring:
16 -qadam: Ngrok -ni o'rnatish
Malinali pi -ga ushbu havolani kiriting: https://ngrok.com/download va ngrok -ni yuklab olish va sozlash bo'yicha ko'rsatmalarga amal qiling.
17 -qadam: Ngrokni sinovdan o'tkazish
Boshqa bir terminalni oching va CD veb -ilovasini kiriting
Keyin ngrok -ni kiriting
./ngrok http 5000
Bu sizga har qanday qurilmaga kira oladigan URL manzilini ko'rsatishi kerak. Buni nusxa ko'chiring va keyingi qadam uchun o'zingizga elektron pochta xabarini yuboring
Agar bu ishlamasa:
- Shisha ishlayotganiga ishonch hosil qiling
- Ngrok -ni kolbasa dasturi bilan bir xil papkada ishlatayotganingizga ishonch hosil qiling
- To'g'ri havolani nusxalashga ishonch hosil qiling (u har safar dasturni qayta ishga tushirganda o'zgaradi)
18 -qadam: IFFF
IFFF: Agar bu bepul dastur bo'lsa, bu sizning Google uyingizga biror narsa aytganda veb -serverga tashrif buyurish uchun ishlatilishi mumkin, Buni sozlash uchun quyidagi bosqichlarni bajaring:
- Yoki https://ifttt.com/ saytiga tashrif buyuring yoki dasturni yuklab oling
- Hisob ochish
- Yangi applet yaratish -ni bosing (ba'zida mening appletlarim ostida)
- Buni bosing
- Google -ni qidiring va Google Assistant -ni tanlang
- Oddiy iborani bosing
- Siz aytmoqchi bo'lgan narsaning ostiga "suv tabancasini faollashtiring" ni qo'ying.
- Trigger yaratish -ni bosing
- Buni bosing
- Internetda qidirish
- Veb -saytlarni bosing
- Veb -so'rov yaratish -ni bosing
- URL ostiga ngrok sizga ilgari bergan/kirgan manzilni kiriting
- Usul ostida GET -ni tanlang
- Tarkib ostida matnni tanlang
- Yaratish -ni bosing
- Tugatish -ni bosing
19 -qadam: Bajarildi
Endi siz google (tanlagan iborani kiriting) deganda, nasos yoqilishi kerak.
Agar bu ishlamayotgan bo'lsa (uni ishga tushirish uchun menga taxminan 15 urinish kerak bo'ldi):
- Barcha dasturlar ishlayotganiga ishonch hosil qiling
- Barcha Etakchilar ulanganligiga ishonch hosil qiling
- IFTT -ga kirgan URL oxirgi ekanligiga ishonch hosil qiling
- Malinali pi internetga ulanganligiga ishonch hosil qiling
20 -qadam: IOT tanlovi
Agar sizga ushbu darslik yoqqan bo'lsa, iltimos, IOT tanlovida bizga ovoz bering. Sizga katta rahmat.