Оглавление:
Видео: Датчик движения Raspberry Pi IFTTT: 4 шага
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Привет. Я учусь в 4-м классе и сегодня мы будем делать датчик движения IFTTT.
Запасы
1x маленькая картонная коробка
1x raspberry pi модель b + или a +
1x датчик PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Various) перемычки
1x умная лампочка (необязательно)
Клейкая лента (необязательно)
аккаунт ifttt
Шаг 1: Вырежьте:
Вырежьте небольшое отверстие посередине верхней части коробки.
Шаг 2: Присоединение ИК-датчика:
Подключите контакт датчика PIR с надписью VCC к контакту 5V на Raspberry Pi. Это обеспечивает питание ИК-датчика. Подключите тот, который обозначен GND, к контакту заземления на Pi (также обозначенному GND). На этом схема завершена. Подключите тот, который помечен как OUT, к любому пронумерованному выводу GPIO на Pi. В этом примере мы выбрали GPIO 4. Вывод OUT будет выводить напряжение, когда датчик обнаруживает движение. Затем напряжение будет получено Raspberry Pi.
Шаг 3: Настройте Webhooks:
создайте новый апплет, а затем выберите Webhooks. а затем сделайте то же самое с уведомлениями.
Шаг 4: Код:
Для python 3 или thonny
#! / usr / bin / python # Импортировать RPi. GPIO как GPIOimport timeimport requests # Установить соглашение об именах GPIO GPIO.setmode (GPIO. BCM) # Отключить предупреждения GPIO GPIO.setwarnings (False) # Установить переменную для хранения идентификатора GPIO Pinpinpir = 17 # Установить вывод GPIO как input GPIO.setup (pinpir, GPIO. IN) # Переменные для хранения текущего и последнего состояний currentstate = 0previousstate = 0 try: print ("Ожидание установления связи PIR…").input (pinpir) == 1: currentstate = 0 print ("Ready") # Цикл, пока пользователи не выйдут с помощью CTRL-C, пока True: # Прочитать состояние PIR currentstate = GPIO.input (pinpir) # Если PIR срабатывает, если currentstate == 1 и previousstate == 0: print ("Обнаружено движение!") # Ваш URL IFTTT с именем события, ключом и параметрами json (значениями) r = requests.post ('https://maker.ifttt.com/trigger / YOUR_EVENT_NAME / with / key / YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Записать новое предыдущее состояние previousstate = 1 # Подождать 120 секунд перед зацикливанием ain print ("Ожидание 120 секунд") time.sleep (120) # Если PIR вернулся в состояние готовности elif currentstate == 0 и previousstate == 1: print ("Ready") previousstate = 0 # Подождите 10 миллисекунд..sleep (0.01) за исключением KeyboardInterrupt: print ("Quit") # Сбросить настройки GPIO GPIO.cleanup ()
Наслаждаться!