Оглавление:

Уведомление о дверях Raspberry Pi: 6 шагов (с изображениями)
Уведомление о дверях Raspberry Pi: 6 шагов (с изображениями)

Видео: Уведомление о дверях Raspberry Pi: 6 шагов (с изображениями)

Видео: Уведомление о дверях Raspberry Pi: 6 шагов (с изображениями)
Видео: Raspberry Pi - Что нужно знать? Что нужно иметь? Достаточно купить только плату? 2024, Ноябрь
Anonim
Уведомление о дверях Raspberry Pi
Уведомление о дверях Raspberry Pi

Вы когда-нибудь задумывались, когда люди заходят в двери? Вам нужен незаметный, дешевый и быстрый способ отслеживания движения двери… и, может быть, небольшой проект? Не смотрите дальше! Это упрощенное устройство будет отслеживать вибрации, исходящие от движущихся дверей, и сообщать пользователю по электронной почте на указанный адрес электронной почты.

Этот проект даст вам возможность попрактиковаться в работе с 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 и запускать программы, как указано в предыдущем шаге, и ждать злоумышленников!

Для получения дополнительных очков попробуйте спрятать провода / устройство, чтобы злоумышленники не заподозрили ваше умное устройство!… Или просто не кладите его на стеклянную дверь. ¯ / _ (ツ) _ / ¯

Рекомендуемые: