Cuprins:

Senzor de mișcare Raspberry Pi IFTTT: 4 pași
Senzor de mișcare Raspberry Pi IFTTT: 4 pași

Video: Senzor de mișcare Raspberry Pi IFTTT: 4 pași

Video: Senzor de mișcare Raspberry Pi IFTTT: 4 pași
Video: Using a Motion Sensor (PIR) For Beginners 2024, Iulie
Anonim
Senzor de mișcare Raspberry Pi IFTTT
Senzor de mișcare Raspberry Pi IFTTT
Senzor de mișcare Raspberry Pi IFTTT
Senzor de mișcare Raspberry Pi IFTTT

Buna ziua. Sunt elev de clasa a IV-a și astăzi vom face un senzor de mișcare IFTTT

Provizii

1x cutie mică de carton

1x raspberry pi model b + sau a +

1x senzor PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Diverse) fire jumper

1x bec inteligent (opțional)

Bandă adezivă (opțional)

contul ifttt

Pasul 1: Tăiați:

A tăia
A tăia

Tăiați o gaură mică în mijlocul vârfului cutiei.

Pasul 2: Atașarea senzorului PIR:

Atașarea senzorului PIR
Atașarea senzorului PIR
Atașarea senzorului PIR
Atașarea senzorului PIR

Conectați pinul senzorului PIR etichetat VCC la pinul de 5 V de pe Raspberry Pi. Acest lucru oferă energie senzorului PIR. Conectați-l pe cel etichetat GND la un pin de masă de pe Pi (de asemenea, etichetat GND). Acest lucru completează circuitul. Conectați-l pe cel etichetat OUT la orice pin GPIO numerotat de pe Pi. În acest exemplu, am ales GPIO 4. Pinul OUT va emite o tensiune atunci când senzorul detectează mișcarea. Tensiunea va fi apoi recepționată de Raspberry Pi.

Pasul 3: Configurați Webhooks:

Configurați Webhooks
Configurați Webhooks

creați un applet nou, apoi selectați Webhooks. și apoi faceți același lucru cu notificările.

Pasul 4: Cod:

Pentru Python 3 sau Thonny

#! / usr / bin / python # Importsimport RPi. GPIO ca GPIOimport timeimport solicitări # Setați convenția de denumire GPIOGPIO.setmode (GPIO. BCM) # Dezactivați avertismentele GPIOGPIO.setwarnings (False) # Setați o variabilă pentru a păstra PIN-ul GPIO identitate pinpir = 17 # Setați pinul GPIO ca inputGPIO.setup (pinpir, GPIO. IN) # Variabile pentru a menține starea curentă și ultimă statecurrentstate = 0previousstate = 0 try: print ("Se așteaptă stabilirea PIR …") # Buclați până când ieșirea PIR este 0 în timp ce GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Buclă până când utilizatorii renunță la CTRL-C în timp ce True: # Citește starea PIR currentstate = GPIO.input (pinpir) # Dacă PIR este declanșat dacă currentstate == 1 și previousstate == 0: print ("Mișcare detectată!") # URL-ul IFTTT cu numele evenimentului, cheia și parametrii JSON (valori) r = requests.post ('https://maker.ifttt.com/trigger / YOUR_EVENT_NAME / cu / key / YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Înregistrați starea anterioară nouă previousstate = 1 # Așteptați 120 de secunde înainte de a bucla ag ain print ("Se așteaptă 120 de secunde") time.sleep (120) # Dacă PIR a revenit la starea gata elif currentstate == 0 și previousstate == 1: print ("Ready") previousstate = 0 # Așteptați timp de 10 milisecunde.sleep (0.01) cu excepția KeyboardInterrupt: print ("Ieși") # Resetează setările GPIO GPIO.cleanup ()

Bucurați-vă!

Recomandat: