Ok Google Plant Waterer/suv to'pponchasi: 20 qadam
Ok Google Plant Waterer/suv to'pponchasi: 20 qadam
Anonim
Ok Google Plant Waterer/suv to'pponchasi
Ok Google Plant Waterer/suv to'pponchasi

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

Kerakli manbalar
Kerakli 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

Simlarni kesish
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

Nasosni o'rni uchun ulang
Nasosni o'rni uchun ulang
  1. Ikkala o'rni uchun o'rta terminalni burab qo'ying
  2. Suv nasosidan simlarni joylashtiring
  3. Yana kiring

5 -qadam: Quvvat manbaini o'rni bilan ulash

Quvvat manbaini o'rni bilan ulash
Quvvat manbaini o'rni bilan ulash
  1. Terminallarni burab qo'ying
  2. 12V kuchlanishli simlarni ulang
  3. Ularni joyiga qaytaring

6 -qadam: Raspberry Pi -ni estafetaga ulash

Raspberry Pi -ni estafetaga ulash
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 mustahkamlash
Nasosni mustahkamlash

Nasosni plastik idishga mahkamlash uchun blyuz yoki yopishqoq lentadan foydalaning.

8 -qadam: Suvni yo'naltirish

Suvni yo'naltirish
Suvni yo'naltirish
Suvni yo'naltirish
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

Hamma narsani bir joyga to'plash
Hamma narsani bir joyga to'plash
Hamma narsani bir joyga to'plash
Hamma narsani bir joyga to'plash
Hamma narsani bir joyga to'plash
Hamma narsani 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.

  1. Internetga ulanganingizga ishonch hosil qiling
  2. Terminalni oching
  3. 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

  1. Bo'sh ish joyini ochish 3
  2. Fayl> Yangisini yaratish
  3. Siz yaratgan veb -ilovalar papkasida saqlang
  4. 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:

  1. Shisha ishlayotganiga ishonch hosil qiling
  2. Ngrok -ni kolbasa dasturi bilan bir xil papkada ishlatayotganingizga ishonch hosil qiling
  3. 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:

  1. Yoki https://ifttt.com/ saytiga tashrif buyuring yoki dasturni yuklab oling
  2. Hisob ochish
  3. Yangi applet yaratish -ni bosing (ba'zida mening appletlarim ostida)
  4. Buni bosing
  5. Google -ni qidiring va Google Assistant -ni tanlang
  6. Oddiy iborani bosing
  7. Siz aytmoqchi bo'lgan narsaning ostiga "suv tabancasini faollashtiring" ni qo'ying.
  8. Trigger yaratish -ni bosing
  9. Buni bosing
  10. Internetda qidirish
  11. Veb -saytlarni bosing
  12. Veb -so'rov yaratish -ni bosing
  13. URL ostiga ngrok sizga ilgari bergan/kirgan manzilni kiriting
  14. Usul ostida GET -ni tanlang
  15. Tarkib ostida matnni tanlang
  16. Yaratish -ni bosing
  17. 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):

  1. Barcha dasturlar ishlayotganiga ishonch hosil qiling
  2. Barcha Etakchilar ulanganligiga ishonch hosil qiling
  3. IFTT -ga kirgan URL oxirgi ekanligiga ishonch hosil qiling
  4. 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.