Mundarija:

IOT suv to'pponchasi/o'simlik suvi: 20 qadam
IOT suv to'pponchasi/o'simlik suvi: 20 qadam

Video: IOT suv to'pponchasi/o'simlik suvi: 20 qadam

Video: IOT suv to'pponchasi/o'simlik suvi: 20 qadam
Video: 😏 Водила Джипа "наказал" БМВшника за парковку? | Новостничок 2024, Noyabr
Anonim
IOT suv to'pponchasi/o'simlik suvi
IOT suv to'pponchasi/o'simlik suvi

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 quvvat manbaidan simlarni joylashtiring
  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 o'rni uchun kerak bo'lgan tegishli modullarni import qiladi = LED (14) o'rni2 = LED (15) #rölelere LEDni belgilash True: relay.on () #siz buni taxmin qildingiz … o'rni o'rni yoqish.off () #siz buni taxmin qildingiz … o'z o'rni vaqtini o'chirish. uyqu (1) #1 soniya o'rni uchun uyqu

11 -qadam: idishni import qilish

Shishani import qilish
Shishani 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 Flask

gpiozero importdan LEDni import qilish vaqti #bular ushbu loyiha uchun zarur bo'lgan modullarni o'z ichiga oladi = LED (14) o'rni2 = LED (15) #o'rni LED ilovasi = Flask (_ nomi_) u bilan kodni keyinroq @app.route da ishga tushirish uchun ('/', methods = ['GET']) #"" veb -sahifasida GETni bajarish "" "bu asosiy sahifada ko'rsatilgan narsani" "" qaytaradi. def index (): "Bosh sahifa" ga qaytish @app.route ('/on') #"" ostidagi funksiya orqali o'rni yoqish "" "o'rni yoqish va funktsiyani to'g'ri ishlashini tekshirish uchun salom." "def on (): print ("salom") relay.on () relay2.off () return 'on' @app.route ('/off') #"" funksiyasi orqali o'rni o'chirish va funktsiyani to'g'ri ishlashini tekshirish uchun salomni chop etish "" "def off (): print (" salom ") relay.off () relay2.on () 'off' off ' @app.route ('/go ') #running go "" "funktsiyasi bu o'rni yoqadi, shuning uchun u suv sepadi" "" def go (): relay.on () relay2.off () time.sleep () 3) relay.off () relay2.on () return ('go') "" "veb -sahifaga tegishli port orqali kirish (8000 odatda uy) va agar" _name_ == '_main_': ilova "" bo'lsa. ishga tushirish (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

Shisha serveringiz ishlayotganiga ishonch hosil qiling.

Boshqa terminalni oching va CD dasturiga yozing

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
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 yordamchisini tanlang
  6. Oddiy iborani bosing
  7. Siz aytmoqchi bo'lgan narsaning ostiga "suv tabancasini faollashtiring" yoki xohlagan narsangizni 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.

Tavsiya: