Sadržaj:
Video: Raspberry Pi senzor pokreta IFTTT: 4 koraka
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Zdravo. Ja sam učenik 4. razreda i danas ćemo napraviti IFTTT senzor pokreta
Supplies
1x mala kartonska kutija
1x model malina pi b+ ili a+
1x PIR senzor https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Razno) kratkospojne žice
1x pametna žarulja (opcionalno)
Ljepljiva traka (opcionalno)
ifttt račun
Korak 1: Izrežite:
Izrežite malu rupu na sredini vrha kutije.
Korak 2: Priključivanje PIR senzora:
Priključite pin PIR senzora označen sa VCC na 5V pin na Raspberry Pi. Ovo daje napajanje PIR senzoru. Spojite označeni GND na pin za uzemljenje na Pi (također označen kao GND). Ovo dovršava krug. Spojite označeni OUT na bilo koji numerirani GPIO pin na Pi. U ovom primjeru odabrali smo GPIO 4. OUT pin će emitirati napon kada senzor detektira kretanje. Napon će tada primati Raspberry Pi.
Korak 3: Postavite Webhooks:
napravite novi applet, a zatim odaberite Webhooks. a zatim učinite isto s obavijestima.
Korak 4: Kôd:
Za python 3 ili thonny
#! /usr/bin/python # Importsimport RPi. GPIO kao GPIOimport zahtjevi za vremenski uvoz # Postavite konvenciju imenovanja GPIOGPIO.setmode (GPIO. BCM) # Isključite upozorenja GPIOGPIO.setwarnings (Netačno) # Postavite varijablu za držanje GPIO Pin identiteta pinpir = 17 # Postavite GPIO pin kao inputGPIO.setup (pinpir, GPIO. IN) # Varijable za držanje trenutnog i zadnjeg stanjacurrentstate = 0previousstate = 0 try: print ("Čekanje da se PIR slegne …") # Ponavljanje sve dok PIR izlaz ne bude 0 dok je GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Petlja dok korisnici ne odustanu sa CTRL-C dok je True: # Pročitajte stanje PIR currentstate = GPIO.input (pinpir) # Ako se PIR aktivira ako je trenutno stanje == 1 i previousstate == 0: print ("Pokret je otkriven!") # Vaš IFTTT URL sa imenom događaja, ključem i json parametrima (vrijednosti) r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/sa/ključem/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Snimite prethodno stanje prethodnog stanja = 1 # Sačekajte 120 sekundi prije petlje ag ain print ("Čekanje 120 sekundi") time.sleep (120) # Ako se PIR vratio u stanje pripravnosti elif currentstate == 0 i previousstate == 1: print ("Ready") previousstate = 0 # Pričekajte 10 milisekundi.sleep (0.01) osim KeyboardInterrupt: print ("Quit") # Vrati GPIO postavke GPIO.cleanup ()
Uživajte!