Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Ahoj. Som štvrták a dnes si vyrobíme pohybový senzor IFTTT
Zásoby
1x malá kartónová škatuľka
1x malinový pi model b+ alebo a+
1x PIR senzor https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Rôzne) prepojovacie káble
1x inteligentná žiarovka (voliteľné)
Lepiaca páska (voliteľné)
účet ifttt
Krok 1: Vystrihnúť:
V strede hornej časti škatule vyrežte malý otvor.
Krok 2: Pripojenie senzora PIR:
Pripojte pin PIR senzora označený VCC k 5V pinu na Raspberry Pi. Toto poskytuje napájanie senzoru PIR. Pripojte ten, ktorý je označený GND, k uzemňovaciemu kolíku na Pi (tiež označenom GND). Tým sa obvod dokončí. Pripojte ten, ktorý je označený OUT, k akémukoľvek očíslovanému kolíku GPIO na Pi. V tomto prípade sme vybrali GPIO 4. Kolík OUT bude vydávať napätie, keď snímač detekuje pohyb. Napätie potom dostane Raspberry Pi.
Krok 3: Nastavenie webhookov:
vytvorte nový aplet a potom vyberte položku Webhooks. a potom urobte to isté s upozorneniami.
Krok 4: Kód:
Pre python 3 alebo thonny
#! /usr/bin/python # Importsimport RPi. GPIO ako požiadavky GPIOimport timeimport # Nastavte konvenciu pomenovania GPIOGPIO.setmode (GPIO. BCM) # Vypnite varovania GPIOGPIO.setwarnings (False) # Nastavte premennú, ktorá bude uchovávať identitu PINIO GPIO = 17 # Nastaviť pin GPIO ako vstupGPIO.setup (pinpir, GPIO. IN) # Premenné na uchovanie aktuálneho a posledného stavu súčasný stav = 0 predchádzajúci stav = 0 pokus: tlač („Čakanie na vyrovnanie PIR …“) # Slučka, kým výstup PIR nebude 0, kým GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Slučka, kým užívatelia neukončia s CTRL-C pri True: # Prečítajte stav PIR currentstate = GPIO.input (pinpir) # Ak je PIR spustený, ak je aktuálny stav == 1 a previousstate == 0: print ("Motion Detected!") # Vaša adresa URL IFTTT s názvom udalosti, kľúčom a parametrami (hodnotami) json r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/s/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Record new previous state previousstate = 1 #Wait 120 seconds pred zacyklením ag ain print ("Čakanie 120 sekúnd") time.sleep (120) # Ak sa PIR vrátil do stavu pripravenosti elif currentstate == 0 a previousstate == 1: print ("Ready") previousstate = 0 # Počkajte 10 milisekúnd.sleep (0,01) okrem KeyboardInterrupt: print ("Quit") # Obnoviť nastavenia GPIO GPIO.cleanup ()
Užite si to!