INHOUDSOPGAWE:
Video: Framboos Pi bewegingsensor IFTTT: 4 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hallo. Ek is 'n 4de klas en vandag gaan ons 'n IFTTT bewegingsensor maak
Voorrade
1x klein kartondoos
1x framboos pi model b+ of a+
1x PIR -sensor https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Verskillende) springdrade
1x slim gloeilamp (opsioneel)
Kleefband (opsioneel)
ifttt -rekening
Stap 1: Sny:
Sny 'n klein gaatjie in die middel van die bokant van die boks.
Stap 2: Bevestig die PIR -sensor:
Koppel die pen van die PIR -sensor met die naam VCC aan die 5V -pen op die Raspberry Pi. Dit verskaf krag aan die PIR -sensor. Sluit die een met die naam GND aan op 'n grondpen op die Pi (ook gemerk GND). Hiermee word die kring voltooi. Koppel die een OUT aan 'n genommerde GPIO -pen op die Pi. In hierdie voorbeeld het ons gekies vir GPIO 4. Die OUT -pen sal 'n spanning lewer wanneer die sensor beweging opspoor. Die spanning sal dan deur die Raspberry Pi ontvang word.
Stap 3: Stel Webhooks op:
maak 'n nuwe applet en kies dan Webhooks. en doen dan dieselfde met kennisgewings.
Stap 4: Kode:
Vir python 3 of thonny
#! /usr/bin/python # Invoerimporteer RPi. GPIO as GPIOimpor tydinvoerversoeke # Stel die GPIO -naamkonvensie inGPIO.setmode (GPIO. BCM) # Skakel GPIO -waarskuwings uitGPIO.setwarnings (Onwaar) # Stel 'n veranderlike in om die GPIO Pin -identiteitspinpir te hou = 17 # Stel GPIO -pen in as inputGPIO.setup (pinpir, GPIO. IN) # Veranderlikes om die huidige en laaste statecurrentstate = 0previousstate = 0 te probeer: druk ("Wag vir PIR om op te los …") # Lus totdat PIR -uitset 0 is terwyl GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Lus totdat gebruikers ophou met CTRL-C terwyl True: # Lees PIR-toestand currentstate = GPIO.input (pinpir) # As die PIR geaktiveer word as currentstate == 1 en vorige staat == 0: druk ("Beweging bespeur!") # U IFTTT -URL met gebeurtenisnaam, sleutel en json -parameters (waardes) r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Teken nuwe vorige toestand op vorige staat = 1 # Wag 120 sekondes voor lus ag ain afdruk ("Wag 120 sekondes") time.sleep (120) # As die PIR terug is na gereedstaat elif currentstate == 0 en previousstate == 1: print ("Ready") previousstate = 0 # Wag vir 10 millisekondes tyd.sleep (0.01) behalwe KeyboardInterrupt: druk ("Stop") # Herstel GPIO -instellings GPIO.cleanup ()
Geniet dit!