Kazalo:
Video: Senzor gibanja Raspberry Pi IFTTT: 4 koraki
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Zdravo. Sem učenec 4. razreda in danes bomo izdelali senzor gibanja IFTTT
Zaloge
1x majhna kartonska škatla
1x model maline pi b+ ali a+
1x senzor PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p… (Različne) mostične žice
1x pametna žarnica (neobvezno)
Lepilni trak (neobvezno)
ifttt račun
1. korak: Izrežite:
Na sredini škatle izrežite majhno luknjo.
2. korak: Pritrditev senzorja PIR:
Priključite pin PIR senzorja z oznako VCC na 5V pin na Raspberry Pi. To napaja senzor PIR. Priključite enega z oznako GND na ozemljitveni zatič na Pi (označen tudi z GND). S tem zaključite vezje. Eno z oznako OUT priključite na kateri koli oštevilčeni pin GPIO na Pi. V tem primeru smo izbrali GPIO 4. Ko izhod OUT odda napetost, ko senzor zazna gibanje. Napetost bo nato sprejela Raspberry Pi.
3. korak: Nastavitev spletnih klicev:
naredite nov programček in nato izberite Webhooks. in nato storite enako z obvestili.
4. korak: Koda:
Za python 3 ali thonny
#! /usr/bin/python # Importsimport RPi. GPIO kot zahteve GPIOimport timeimporta # Nastavite dogovor o poimenovanju GPIOGPIO.setmode (GPIO. BCM) # Izklopite opozorila GPIOGPIO.setwarnings (False) # Nastavite spremenljivko, da zadrži GPIO Pin identitet pinpir = 17 # Nastavite pin GPIO kot inputGPIO.setup (pinpir, GPIO. IN) # Spremenljivke za shranjevanje trenutnega in zadnjega stanjacurrentstate = 0previousstate = 0 try: print ("Čakanje, da se PIR poravna …") # Zank, dokler izhod PIR ni 0, medtem ko je GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # Zveži, dokler uporabniki ne prenehajo s CTRL-C, medtem ko je True: # Branje stanja PIR currentstate = GPIO.input (pinpir) # Če se PIR sproži, če je trenutno stanje == 1 in previousstate == 0: print ("Zaznano gibanje!") # Vaš URL IFTTT z imenom dogodka, ključem in parametri json (vrednosti) r = requests.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Snemanje novega predhodnega stanja predhodno = 1 # Počakajte 120 sekund pred zanko ag ain print ("Čakanje 120 sekund") time.sleep (120) # Če se je PIR vrnil v stanje pripravljenosti elif currentstate == 0 in previousstate == 1: print ("Ready") previousstate = 0 # Počakajte 10 milisekund.sleep (0.01) razen KeyboardInterrupt: print ("Quit") # Ponastavi nastavitve GPIO GPIO.cleanup ()
Uživajte!