Мазмуну:

Raspberry Pi Motion Sensor IFTTT: 4 кадам
Raspberry Pi Motion Sensor IFTTT: 4 кадам

Video: Raspberry Pi Motion Sensor IFTTT: 4 кадам

Video: Raspberry Pi Motion Sensor IFTTT: 4 кадам
Video: DIY Smart Home Motion Sensor with Raspberry Pi and IFTTT 2024, Июль
Anonim
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT
Raspberry Pi Motion Sensor IFTTT

Салам. Мен 4 -класстын окуучусумун жана бүгүн биз IFTTT кыймыл сенсорун жасайбыз

Жабдуулар

1x кичинекей картон кутуча

1x малина пи модели b+ же a+

1x PIR сенсор https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Ар түрдүү) секирүүчү зымдар

1x акылдуу лампа (милдеттүү эмес)

Лента (милдеттүү эмес)

ifttt эсеби

1 -кадам: Кесүү:

Кесүү
Кесүү

Кутучанын башынын ортосунан кичинекей тешикти кесип алыңыз.

2 -кадам: PIR сенсорун тиркөө:

PIR сенсорун тиркөө
PIR сенсорун тиркөө
PIR сенсорун тиркөө
PIR сенсорун тиркөө

PIR сенсорунун VCC деп белгиленген пинди Raspberry Piдеги 5V пинке туташтырыңыз. Бул PIR сенсорунун кубаттуулугун камсыздайт. GND деп белгиленгенди Piдеги жерге төөнөгүчкө туташтырыңыз (ошондой эле GND деп белгиленген). Бул схеманы бүтүрөт. OUT деп белгиленгенди Piдеги GPIO номерине туташтырыңыз. Бул мисалда биз GPIO 4. тандап алдык, сенсор кыймылды аныктаганда OUT пини чыңалуу чыгарат. Андан кийин чыңалуу Raspberry Pi тарабынан кабыл алынат.

3 -кадам: Webhooksту орнотуу:

Webhooks орнотуу
Webhooks орнотуу

жаңы апплет кылып, анан Webhooks тандаңыз. анан эскертмелер менен да ушундай кылыңыз.

4 -кадам: Код:

Python 3 же thonny үчүн

#! /usr/bin/python # Importimport RPi. GPIO as GPIOimport timeimport requests # GPIO аталыш конвенциясын коюуGPIO.setmode (GPIO. BCM) # GPIO эскертмелерин өчүрүүGPIO.setwarnings (False) # GPIO Pin IDpinpir = 17 кармоо үчүн өзгөрмөнү коюңуз. # GPIO пинди inputGPIO.setup (pinpir, GPIO. IN) катары коюңуз # Учурдагы жана акыркы абалды кармап туруу үчүн өзгөрмөлөр currenturrentstate = 0previousstate = 0 аракет: басып чыгаруу ("PIRдин чечилишин күтүүдө…") # PIR чыгаруу 0 болгонго чейин цикл.input (pinpir) == 1: currentstate = 0 басып чыгаруу ("Даяр") # Колдонуучулар CTRL-C менен чыкмайынча цикл: True: # Read PIR statestatestate = GPIO.input (pinpir) # Эгерде PIR currentstate болсо, иштетилет == 1 жана мурунку мамлекет == 0: басып чыгаруу ("Кыймыл аныкталды!") # Окуянын аты, ачкычы жана json параметрлери (баалуулуктары) бар IFTTT URL дареги r = request.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/менен/key/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Жаңы мурунку абалды жазуу мурунку мамлекет = 1 # 120 секунд күт аг ain print ("120 секунд күтүүдө") time.sleep (120) # Эгерде PIR даяр абалга кайтып келсе elif currentstate == 0 жана мурунку мамлекет == 1: print ("Даяр") previousstate = 0 # 10 миллисекунд убакыт күт.sleep (0.01) KeyboardInterruptден башка: басып чыгаруу ("Чыгуу") # GPIO орнотууларын кайра коюу GPIO.cleanup ()

Ырахат алыңыз!

Сунушталууда: