Turinys:
Video: „Raspberry Pi“judesio jutiklis IFTTT: 4 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sveiki. Aš esu 4 klasės mokinys ir šiandien ketiname pagaminti IFTTT judesio jutiklį
Prekės
1x maža kartoninė dėžutė
1x aviečių pi modelis b+ arba a+
1x PIR jutiklis https://www.amazon.com/gp/product/B07KZW86YR/ref=p… (Įvairūs) jungiamieji laidai
1x išmanioji lemputė (neprivaloma)
Lipni juosta (neprivaloma)
ifttt paskyra
1 žingsnis: supjaustykite:
Dėžutės viršaus viduryje išpjaukite nedidelę skylę.
2 žingsnis: PIR jutiklio pritvirtinimas:
Prijunkite PIR jutiklio kaištį, pažymėtą VCC, prie „Raspberry Pi“5V kaiščio. Tai suteikia energijos PIR jutikliui. Prijunkite tą, kuris pažymėtas GND, prie įžeminimo kaiščio ant Pi (taip pat pažymėtas GND). Tai užbaigia grandinę. Prijunkite pažymėtą OUT prie bet kurio numeriu pažymėto GPIO kaiščio „Pi“. Šiame pavyzdyje mes pasirinkome GPIO 4. OUT kaištis išves įtampą, kai jutiklis aptiks judesį. Tada įtampą gaus „Raspberry Pi“.
3 veiksmas: „Webhooks“sąranka:
sukurkite naują programėlę, tada pasirinkite Webhooks. ir tada darykite tą patį su pranešimais.
4 žingsnis: kodas:
Python 3 ar thonny
#! /usr/bin/python # Importsimport RPi. GPIO kaip GPIOimport laiko importo užklausas # Nustatykite GPIO pavadinimo susitarimąGPIO.setmode (GPIO. BCM) # Išjunkite GPIO įspėjimus # Nustatykite GPIO kaištį kaip įvestįGPIO.setup (pinpir, GPIO. IN) # Kintamieji, skirti išlaikyti dabartinę ir paskutinę būsenascurrentstate = 0previousstate = 0 pabandykite: spausdinti („Laukiama, kol PIR nusistovės …“) # Ciklas, kol PIR išvestis bus 0, o GPIO.input (pinpir) == 1: currentstate = 0 print ("Ready") # ciklas, kol vartotojai išeis naudodami CTRL-C, o tiesa: # Skaitykite PIR būsenos srovę statusas = GPIO.input (pinpir) # Jei PIR suaktyvinamas, jei srovė == 1 ir ankstesnė valstybė == 0: print („Aptiktas judesys!“) # Jūsų IFTTT URL su įvykio pavadinimu, raktu ir json parametrais (reikšmėmis) r = request.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/su/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Įrašyti naują ankstesnės būsenos statusą = 1 # Palaukite 120 sekundžių prieš kilpą ag ain print ("Laukiama 120 sekundžių") time.sleep (120) # Jei PIR grįžo į parengtą būseną elif srovės būsena == 0 ir ankstesnė būsena == 1: print ("Ready") previousstate = 0 # Palaukite 10 milisekundžių.sleep (0.01), išskyrus KeyboardInterrupt: print ("Quit") # Iš naujo nustatyti GPIO nustatymus GPIO.cleanup ()
Mėgautis!