Mundarija:
Video: IFTTT Raspberry Pi harakat sensori: 4 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Salom. Men 4 -sinf o'quvchisiman va bugun biz IFTTT harakat sensori yasaymiz
Ta'minotlar
1x kichik karton quti
1 ta malina pi modeli b+ yoki a+
1x PIR sensori https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Har xil) o'tish simlari
1x aqlli lampochka (ixtiyoriy)
Yopishqoq lenta (ixtiyoriy)
ifttt hisobi
1 -qadam: kesish:
Qutining yuqori qismida kichik bir teshikni kesib oling.
2 -qadam: PIR sensorini ulash:
PIR sensorining VCC bilan belgilangan pinini Raspberry Pi -dagi 5V -ga ulang. Bu PIR sensorini quvvat bilan ta'minlaydi. GND bilan belgilangan G ni Pi ustidagi pin bilan ulang (shuningdek GND deb ham belgilanadi). Bu OUT deb nomlangan raqamni Pi -dagi har qanday raqamli GPIO piniga ulang. Bu misolda biz GPIO 4 ni tanladik. Sensor harakatni aniqlaganda OUT pimi kuchlanish chiqaradi. Keyin kuchlanish Raspberry Pi tomonidan qabul qilinadi.
3 -qadam: Webhooklarni sozlash:
yangi applet yarating, so'ngra Webhooks -ni tanlang. va keyin bildirishnomalar bilan ham xuddi shunday qiling.
4 -qadam: Kod:
Python 3 yoki thonny uchun
#! /usr/bin/python # RPi. GPIO -ni GPIO -ga import qilish vaqtini import qilish so'rovlari # GPIO nomlash konventsiyasini o'rnatingGPIO.setmode (GPIO. BCM) # GPIO ogohlantirishlarini o'chiring # GPIO pinini inputGPIO.setup (pinpir, GPIO. IN) sifatida o'rnating # Joriy va oxirgi holatlarni ushlab turish uchun o'zgaruvchilar.input (pinpir) == 1: currentstate = 0 chop etish ("Tayyor") # Foydalanuvchilar CTRL-C tugmachasi bilan tugamaguncha aylaning: # PIR holatining joriy holatini o'qing = GPIO.input (pinpir) # Agar currentstate bo'lsa PIR ishga tushiriladi == 1 va oldingi davlat == 0: chop etish ("Harakat aniqlandi!") # Sizning voqea nomi, kaliti va json parametrlari (qiymatlari) bilan IFTTT manzilingiz r = request.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/bilan/kalit/YOUR_KEY_HERE ', params = {"qiymat1": "hech biri", "qiymat2": "hech kim", "qiymat3": "hech biri"}) # Oldingi yangi holatni qayd qilish oldingi holat = 1 # 120 soniya kuting agni aylantirishdan oldin ain print ("120 soniya kutilmoqda") time.sleep (120) # Agar PIR tayyor holatga qaytgan bo'lsa elif currentstate == 0 va oldingi holat == 1: print ("Ready") previousstate = 0 # 10 millisekund kuting.sleep (0.01) KeyboardInterruptdan tashqari: chop etish ("Chiqish") # GPIO sozlamalarini tiklash GPIO.cleanup ()
Xursand bo'ling!