Spisu treści:

Czujnik ruchu Raspberry Pi IFTTT: 4 kroki
Czujnik ruchu Raspberry Pi IFTTT: 4 kroki

Wideo: Czujnik ruchu Raspberry Pi IFTTT: 4 kroki

Wideo: Czujnik ruchu Raspberry Pi IFTTT: 4 kroki
Wideo: Wyzwalanie migawki ruchem - Raspberry Pi oraz czujnik ruchu PIR 2024, Listopad
Anonim
Czujnik ruchu Raspberry Pi IFTTT
Czujnik ruchu Raspberry Pi IFTTT
Czujnik ruchu Raspberry Pi IFTTT
Czujnik ruchu Raspberry Pi IFTTT

Dzień dobry. Jestem w czwartej klasie i dzisiaj zrobimy czujnik ruchu IFTTT

Kieszonkowe dzieci

1x małe pudełko kartonowe

1x raspberry pi model b+ lub a+

1x czujnik PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(różne) przewody połączeniowe

1x inteligentna żarówka (opcjonalnie)

Taśma izolacyjna (opcjonalnie)

konto ifttt

Krok 1: Wytnij:

Skaleczenie
Skaleczenie

Wytnij mały otwór na środku górnej części pudełka.

Krok 2: Podłączanie czujnika PIR:

Mocowanie czujnika PIR
Mocowanie czujnika PIR
Mocowanie czujnika PIR
Mocowanie czujnika PIR

Podłącz pin czujnika PIR oznaczony VCC do pinu 5 V na Raspberry Pi. Zapewnia to zasilanie czujnika PIR. Podłącz ten oznaczony jako GND do styku uziemienia na Pi (również oznaczony jako GND). To kończy obwód. Podłącz ten oznaczony jako OUT do dowolnego ponumerowanego pinu GPIO na Pi. W tym przykładzie wybraliśmy GPIO 4. Pin OUT wyśle napięcie, gdy czujnik wykryje ruch. Napięcie zostanie następnie odebrane przez Raspberry Pi.

Krok 3: Skonfiguruj webhooki:

Konfiguracja webhooków
Konfiguracja webhooków

utwórz nowy aplet, a następnie wybierz opcję Webhooks. a następnie zrób to samo z powiadomieniami.

Krok 4: Kod:

Dla Pythona 3 lub Thonny

#! /usr/bin/python # Importsimport RPi. GPIO jako GPIOimport timeimport requests # Ustaw konwencję nazewnictwa GPIO GPIO.setmode(GPIO. BCM) # Wyłącz ostrzeżenia GPIOGPIO.setwarnings(False) # Ustaw zmienną do przechowywania tożsamości pinów GPIO = 17 # Ustaw pin GPIO jako inputGPIO.setup(pinpir, GPIO. IN) # Zmienne do przechowywania bieżącego i ostatniego stanucurrentstate = 0previousstate = 0 try: print("Oczekiwanie na ustabilizowanie się PIR…") # Pętla, aż wyjście PIR będzie równe 0, podczas gdy GPIO.input(pinpir) == 1: currentstate = 0 print("Ready") # Pętla do momentu wyjścia użytkownika z CTRL-C, podczas gdy True: # Odczyt stanu PIR currentstate = GPIO.input(pinpir) # Jeśli PIR zostanie wyzwolony, jeśli currentstate == 1 and previousstate == 0: print("Wykryto ruch!") # Twój adres URL IFTTT z nazwą zdarzenia, kluczem i parametrami (wartościami) json r = requests.post('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE', params={"value1":"brak", "value2":"brak", "value3":"brak"}) # Zapisz nowy poprzedni stan poprzedni = 1 #Czekaj 120 sekund przed zapętleniem ag ain print("Waiting 120 seconds") time.sleep(120) # Jeśli PIR powrócił do stanu gotowości elif currentstate == 0 and previousstate == 1: print("Ready") previousstate = 0 # Odczekaj 10 milisekund czas.sleep(0.01) z wyjątkiem KeyboardInterrupt: print(" Zakończ") # Zresetuj ustawienia GPIO GPIO.cleanup()

Cieszyć się!

Zalecana: