תוכן עניינים:

חיישן תנועה Raspberry Pi IFTTT: 4 שלבים
חיישן תנועה Raspberry Pi IFTTT: 4 שלבים

וִידֵאוֹ: חיישן תנועה Raspberry Pi IFTTT: 4 שלבים

וִידֵאוֹ: חיישן תנועה Raspberry Pi IFTTT: 4 שלבים
וִידֵאוֹ: Apple Smart Home with Over 100 HomeKit Devices 2024, נוֹבֶמבֶּר
Anonim
חיישן תנועה Raspberry Pi IFTTT
חיישן תנועה Raspberry Pi IFTTT
חיישן תנועה Raspberry Pi IFTTT
חיישן תנועה Raspberry Pi IFTTT

שלום. אני תלמיד כיתה ד 'והיום אנחנו הולכים לייצר חיישן תנועה IFTTT

אספקה

1x קופסת קרטון קטנה

1x פטל פי דגם b+ או a+

1x חיישן PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p… (שונים) חוטי מגשר

1x נורה חכמה (אופציונלי)

סרט דביק (אופציונלי)

חשבון ifttt

שלב 1: גזור:

גזירה
גזירה

חותכים חור קטן באמצע החלק העליון של הקופסה.

שלב 2: חיבור חיישן ה- PIR:

חיבור חיישן ה- PIR
חיבור חיישן ה- PIR
חיבור חיישן ה- PIR
חיבור חיישן ה- PIR

חבר את הסיכה של חיישן PIR המסומן VCC לסיכה 5V ב- Raspberry Pi. זה מספק כוח לחיישן ה- PIR. חבר את זה המסומן ב- GND לסיכה הארקה בפי (המכונה גם GND). זה משלים את המעגל. חבר את זה המסומן OUT לכל פין GPIO ממוספר בפי. בדוגמה זו, בחרנו ב- GPIO 4. סיכת OUT תוציא מתח כאשר החיישן מזהה תנועה. לאחר מכן המתח יתקבל על ידי ה- Raspberry Pi.

שלב 3: הגדרת Webhooks:

הגדרת Webhooks
הגדרת Webhooks

צור יישומון חדש ולאחר מכן בחר Webhooks. ולאחר מכן עשו את אותו הדבר עם התראות.

שלב 4: קוד:

עבור python 3 או thonny

#! /usr/bin/python # יבוא ייבוא RPi. GPIO כבקשות ייבוא זמן GPIO # הגדר את מוסכמת השמות של GPIO GPIO.setmode (GPIO. BCM) # כבה אזהרות GPIOGPIO.setwarnings (שקר) # הגדר משתנה שיחזיק את זהות ה- PIN PINpinpir = 17 # הגדר את סיכת GPIO כ inputGPIO.setup (pinpir, GPIO. IN) # משתנים להחזיק את המצב הנוכחי והאחרון הנוכחי = 0previousstate = 0 נסה: הדפס ("מחכה ל- PIR להתיישב …") # לולאה עד פלט PIR הוא 0 בעוד GPIO.input (pinpir) == 1: currentstate = 0 הדפסה ("מוכן") # לולאה עד שמשתמשים עוזבים עם CTRL-C בזמן אמת: # קרא מצב PIR currentstate = GPIO.input (pinpir) # אם ה- PIR מופעל אם הנוכחי == 1 ו- previousstate == 0: הדפס ("זוהתה תנועה!") # כתובת ה- IFTTT שלך עם שם אירוע, מפתח ופרמטרים של json (ערכים) r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # הקלט מצב חדש קודם הקודם = 1 # המתן 120 שניות לפני לולאה ag ain print ("מחכה 120 שניות") time.sleep (120) # אם ה- PIR חזר למצב מוכן elif currentstate == 0 ו- previousstate == 1: print ("Ready") previousstate = 0 # המתן 10 מילי שניות זמן.sleep (0.01) למעט מקלדת הפרעה: הדפסה ("צא") # אפס את הגדרות GPIO GPIO.cleanup ()

תהנה!

מוּמלָץ: