สารบัญ:

Raspberry Pi Motion Sensor IFTTT: 4 ขั้นตอน
Raspberry Pi Motion Sensor IFTTT: 4 ขั้นตอน

วีดีโอ: Raspberry Pi Motion Sensor IFTTT: 4 ขั้นตอน

วีดีโอ: Raspberry Pi Motion Sensor IFTTT: 4 ขั้นตอน
วีดีโอ: DIY Smart Home Motion Sensor with Raspberry Pi and IFTTT 2024, กรกฎาคม
Anonim
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT

สวัสดี. ฉันเป็นนักเรียนชั้นประถมศึกษาปีที่ 4 และวันนี้เรากำลังจะสร้างเซ็นเซอร์ตรวจจับความเคลื่อนไหว IFTTT

เสบียง

1x กล่องกระดาษแข็งขนาดเล็ก

1x raspberry pi รุ่น b+ หรือ a+

1x PIR sensor 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 หนึ่งอันที่มีป้ายกำกับเข้ากับพินกราวด์บน Pi (ยังมีป้ายกำกับว่า GND) เสร็จสิ้นวงจร เชื่อมต่ออันที่มีป้ายกำกับ OUT กับพิน GPIO ที่มีหมายเลขบน Pi ในตัวอย่างนี้ เราได้เลือก GPIO 4 พิน OUT จะส่งสัญญาณแรงดันออกเมื่อเซ็นเซอร์ตรวจจับการเคลื่อนไหว แรงดันไฟฟ้าจะได้รับจาก Raspberry Pi

ขั้นตอนที่ 3: ตั้งค่าเว็บฮุค:

ตั้งค่าเว็บฮุค
ตั้งค่าเว็บฮุค

สร้างแอปเพล็ตใหม่ จากนั้นเลือก Webhooks แล้วทำเช่นเดียวกันกับการแจ้งเตือน

ขั้นตอนที่ 4: รหัส:

สำหรับ python 3 หรือ thonny

#! /usr/bin/python # Importsimport RPi. GPIO เป็นคำขอนำเข้า GPIOimport timeimport # ตั้งค่าการตั้งชื่อ GPIO แบบแผนการตั้งชื่อ GPIO.setmode (GPIO. BCM) # ปิดคำเตือน GPIO GPIO.setwarnings (เท็จ) # ตั้งค่าตัวแปรเพื่อเก็บ GPIO Pin identitypinpir = 17 # ตั้งค่าพิน GPIO เป็นอินพุต GPIO.setup (pinpir, GPIO. IN) # ตัวแปรเพื่อเก็บสถานะปัจจุบันและสถานะปัจจุบันล่าสุด = 0 สถานะก่อนหน้า = 0 ลอง: พิมพ์ ("รอให้ PIR ชำระ …") # วนซ้ำจนกว่าเอาต์พุต PIR เป็น 0 ในขณะที่ GPIO.input(pinpir) == 1: currentstate = 0 print(" Ready") # วนซ้ำจนกว่าผู้ใช้จะเลิกใช้ CTRL-C ในขณะที่ True: # อ่านสถานะ PIR สถานะปัจจุบัน = GPIO.input (pinpir) # หาก PIR ถูกทริกเกอร์หากสถานะปัจจุบัน == 1 และสถานะก่อนหน้า == 0: พิมพ์ ("ตรวจพบการเคลื่อนไหว!") # IFTTT URL ของคุณด้วยชื่อเหตุการณ์ พารามิเตอร์คีย์และ json (ค่า) r = คำขอ. โพสต์ ('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("Waiting 120 seconds") time.sleep(120) # ถ้า PIR กลับสู่สถานะพร้อม elif currentstate == 0 และ Previousstate == 1: print("Ready") สถานะก่อนหน้า = 0 # รอ 10 มิลลิวินาที.sleep(0.01) ยกเว้น KeyboardInterrupt: print(" Quit") # รีเซ็ตการตั้งค่า GPIO GPIO.cleanup()

สนุก!

แนะนำ: