Innholdsfortegnelse:
Video: Raspberry Pi bevegelsessensor IFTTT: 4 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Hallo. Jeg er en 4. klasse og i dag skal vi lage en IFTTT bevegelsessensor
Rekvisita
1x liten pappeske
1x bringebær pi modell b+ eller a+
1x PIR -sensor https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Various) jumperwires
1x smart lyspære (valgfritt)
Duct tape (valgfritt)
ifttt -konto
Trinn 1: Klipp ut:
Skjær et lite hull midt på toppen av esken.
Trinn 2: Fest PIR -sensoren:
Koble PIR -sensorens pin merket VCC til 5V -pinnen på Raspberry Pi. Dette gir strøm til PIR -sensoren. Koble den som er merket GND til en jordet pinne på Pi (også merket GND). Dette fullfører kretsen. Koble den som er merket OUT til en hvilken som helst nummerert GPIO -pin på Pi. I dette eksemplet har vi valgt GPIO 4. OUT -pinnen sender ut en spenning når sensoren oppdager bevegelse. Spenningen vil da bli mottatt av Raspberry Pi.
Trinn 3: Konfigurer Webhooks:
lag en ny applet, og velg deretter Webhooks. og deretter gjøre det samme med varsler.
Trinn 4: Kode:
For python 3 eller thonny
#! /usr/bin/python # Importsimport RPi. GPIO som GPIOimport timeimportforespørsler # Angi GPIO -navnekonvensjonenGPIO.setmode (GPIO. BCM) # Slå av GPIO -advarslerGPIO.setwarnings (False) # Angi en variabel for å holde GPIO Pin -identitetspinnen = 17 # Sett GPIO -pin som inputGPIO.setup (pinpir, GPIO. IN) # Variabler for å holde gjeldende og siste statecurrentstate = 0previousstate = 0 prøve: print ("Venter på at PIR skal avgjøre …") # Sløyfe til PIR -utgang er 0 mens GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Loop til brukerne slutter med CTRL-C mens True: # Read PIR state currentstate = GPIO.input (pinpir) # Hvis PIR utløses hvis currentstate == 1 og foregående stat == 0: print ("Bevegelse oppdaget!") # IFTTT -nettadressen din med hendelsesnavn, nøkkel og json -parametere (verdier) r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Record new previous state previousstate = 1 #Wait 120 seconds før looping ag ain print ("Waiting 120 seconds") time.sleep (120) # Hvis PIR er tilbake i klar tilstand elif currentstate == 0 og previousstate == 1: print ("Ready") previousstate = 0 # Vent i 10 millisekunder tid.sleep (0,01) unntatt KeyboardInterrupt: print ("Quit") # Tilbakestill GPIO -innstillinger GPIO.cleanup ()
Nyt!