Оглавление:
- Шаг 1. Расходные материалы
- Шаг 2: Подключение
- Шаг 3. Подготовка материала
- Шаг 4: Код и запуск
- Шаг 5: Тестирование
- Шаг 6: Монтаж
Видео: Уведомление о дверях Raspberry Pi: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Вы когда-нибудь задумывались, когда люди заходят в двери? Вам нужен незаметный, дешевый и быстрый способ отслеживания движения двери… и, может быть, небольшой проект? Не смотрите дальше! Это упрощенное устройство будет отслеживать вибрации, исходящие от движущихся дверей, и сообщать пользователю по электронной почте на указанный адрес электронной почты.
Этот проект даст вам возможность попрактиковаться в работе с Flask, Raspberry Pis, датчиками GPIO и API Mandrill! Его не только весело строить, но и очень полезно. Остерегайтесь злоумышленников …
Шаг 1. Расходные материалы
Все еще планируете построить это изобретение? Вот что вам понадобится:
- Малина Pi 3
- Карта Micro SD
- 3 провода типа мама-мама
- 1 датчик вибрации
- Power Bank
- Полосы управления
Если вы планируете построить этот проект для нескольких дверей, умножьте каждый из расходных материалов на количество необходимых устройств.
Если вы находитесь в процессе сборки / тестирования этого устройства, нет необходимости иметь следующее… однако это определенно будет очень полезно.
- Компьютерный монитор
- USB-клавиатура
- Комплект для зарядки Micro USB
Шаг 2: Подключение
Хотя Raspberry Pi - отличное устройство, которое поставляется с множеством различных датчиков и периферийных устройств, нам нужно добавить основной датчик к проводке Pi, чтобы он мог выполнять необходимые измерения. Основной датчик, используемый в этом проекте, можно увидеть на картинке выше - это датчик вибрации с высокой чувствительностью. Хотя мы могли бы использовать макетную плату или другое монтажное устройство, чтобы разместить этот датчик и пропустить наши провода, мы просто подключили его с помощью проводов «мама-мама» непосредственно к контактам на устройстве Raspberry Pi.
Схему подключения можно найти выше (взято с https://www.piddlerintheroot.com/vibration-sensor/). Просто подключите все провода, как показано на этом изображении, и ваш датчик вибрации будет в порядке. Также обратите внимание, что в конечном итоге для этого проекта вам понадобится аккумулятор, но если вы тестируете, вероятно, будет полезно подключить устройство к розетке.
Шаг 3. Подготовка материала
Поздравляю! Вы зашли так далеко. Давайте продолжим!
Теперь мы собираемся начать работать непосредственно с Pi. Все перечисленное можно сделать на устройстве с помощью клавиатуры и монитора (или через SSH, если вам удобно).
Существует множество предварительных настроек, чтобы заставить любой датчик GPIO работать с Pi и Flask. Терпение - это добродетель. Вам нужно сначала установить несколько библиотек Python. Это можно сделать с помощью Pip, менеджера библиотек / пакетов для Python. Чтобы использовать, введите `pip install` Чтобы назвать некоторые библиотеки, которые вам понадобятся:
- Запросы
- RPi. GPIO
- фляга
- flask_restful
- flask_wtf
- wtforms
- Эл. адрес
- мандрил
Вы можете выпить кофе, пока ждете, пока они установятся - это может занять немного времени.
Теперь, когда все ваши библиотеки установлены, вы готовы начать свой проект Flask. Flask - это легкий фреймворк, который обслуживает страницы с устройства, на котором он работает. В этом случае Raspberry Pi становится сервером. Довольно изящно, а? Вы можете узнать, как настроить очень простое приложение Flask здесь. Пожалуйста, сделайте это, прежде чем пытаться выполнять какие-либо инструкции после этого.
Шаг 4: Код и запуск
После того, как вы это сделаете, вы будете готовы приступить к созданию файлов проекта. Я включил все файлы, которые вам понадобятся ниже - однако вам, вероятно, следует переписать код, а не просто копировать файлы (ВЫ УЗНАЕТЕ БОЛЬШЕ!).
Вот как должны выглядеть организации-каталоги:
+ - iotapp | + - appFolder | + - шаблоны | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - routes.py | + - iotapp.py | + - vibes.py
Разместите все эти файлы в правильном порядке, и вы сможете запустить свой проект в кратчайшие сроки. Чтобы затем запустить свой сервер Flask, вы должны перейти в корневой каталог. Затем вы должны ввести:
$ экспорт FLASK_APP = iotapp.py
$ python -m запуск колбы --host 0.0.0.0
При этом вы должны получить сообщение, указывающее, что ваш сервер запущен, и вы должны иметь возможность обслуживать страницу с устройства на другое устройство в сети.
Теперь было бы хорошее время просмотреть ваши файлы и действительно попытаться получить представление о том, что делает код. Конечно, ни один из кодов не высечен на камне… его все можно обновить / изменить в соответствии с потребностями конкретного проекта. Например, прямо сейчас, когда устройство выполняет POST после получения входного сигнала от датчика вибрации, оно отправляет временную метку, когда произошел вход. Однако сервер не сохраняет эти данные. Это можно сделать, если пользователь предпочитает хранить историческую информацию и хочет где-то ее показать.
Вы, вероятно, заметите, что КОД НЕ ЗАВЕРШЕН. В этом проекте используется внешний API для отправки уведомлений по электронной почте при вибрации (открытии двери). Чтобы настроить это, вам необходимо создать учетную запись Mandrill и создать ключ API.
После того, как вы подтвердили свой домен отправителя и получили ключ API, вы можете поместить свой ключ в файл `mcemail.py` (там, где он есть) и настроить информацию об отправке (либо изменив параметр по умолчанию в том же файле, либо передав в другом электронном письме в файле `routes.py`. Если вам нужна дополнительная документация по Mandrill и о том, как его использовать, вы можете найти ее здесь.
Шаг 5: Тестирование
Перед тем, как установить устройство на постоянное место, вероятно, неплохо протестировать все, что оно делает. Вот как вы управляете этим материалом.
Фактически на устройстве работают две программы: `vibes.py` и сервер Flask. Первый должен запускаться сначала в фоновом режиме, а затем можно запускать сервер Flask. `vibes.py` - это просто отправка на сервер, и сервер интерпретирует запрос POST.
$ python vibes.py &
$ python -m запуск колбы --host 0.0.0.0
Затем вы сможете перейти к правильному URI / IP и установить адрес электронной почты, на который вы хотите отправлять все свои уведомления. Вам следует коснуться датчика вибрации, чтобы попробовать отправить несколько тестовых писем и убедиться, что проект работает.
Все хорошо? Хорошо, мы готовы к делу!
Шаг 6: Монтаж
Установка устройства не требует пояснений. По сути, вам просто нужно убедиться, что устройство подключено к аккумуляторной батарее, и использовать командные полосы, чтобы прикрепить устройство к двери.
Примечание: устройство должно быть расположено датчиком вибрации перпендикулярно двери, чтобы датчик улавливал движение двери
Как только это будет завершено, вы сможете подключиться к устройству по SSH и запускать программы, как указано в предыдущем шаге, и ждать злоумышленников!
Для получения дополнительных очков попробуйте спрятать провода / устройство, чтобы злоумышленники не заподозрили ваше умное устройство!… Или просто не кладите его на стеклянную дверь. ¯ / _ (ツ) _ / ¯
Рекомендуемые:
Уведомление о вызовах Bluetooth: 5 шагов (с изображениями)
Уведомление о вызовах Bluetooth: Введение Я просматривал новостную ленту инструкций несколько дней назад, когда наткнулся на этот проект. Это был классный проект. Но я подумал, почему бы не построить его с Bluetooth вместо сложного Wi-Fi. Спецификация этого Bluetooth Call Notifier
Уведомление о почтовых ящиках и гаражных воротах: 5 шагов (с изображениями)
Уведомление о почтовом ящике и гаражной двери: это руководство основано на модуле уведомления о почтовом ящике Johan Moberg. По сравнению с этим проектом, я сделал некоторые изменения: Далеко от моего дома не только почтовый ящик, но и гараж. Они находятся в одном месте недалеко от дороги, а дом находится примерно в 5
Уведомление на рабочем столе YouTube: 11 шагов (с изображениями)
Программа уведомлений YouTube Desktop: Вам снятся кошмары о потере подписчиков YouTube? Если да, то не только вы. К счастью, я сделал это " YouTube Desktop Notifier " чтобы держать меня в курсе моих каналов, количество подписчиков и просмотров. Этот очень простой проект DIY
Оповещение о стиральной машине Arduino - push-уведомление на телефон с помощью Blynk: 5 шагов (с изображениями)
Предупреждение о стиральной машине Arduino - push-уведомление на телефон с Blynk: наша стиральная машина находится в гараже, и мы не слышим звуковых сигналов, указывающих, что стирка завершена. Я хотел найти способ получать уведомление о завершении цикла, где бы мы ни находились. Возился с Arduino, ESP8266 WiFi
Радио в дверях без батареи: 4 шага
Автомобильное радио играет в дверях без аккумулятора: вот как использовать автомобильное радио в дверях без аккумулятора, но с источником питания от компьютера легко сделать, но im ((((((((не несет ответственности за ущерб, который вы нанесли ))))))))))