Съдържание:

Raspberry Pi Notifier: 6 стъпки (със снимки)
Raspberry Pi Notifier: 6 стъпки (със снимки)

Видео: Raspberry Pi Notifier: 6 стъпки (със снимки)

Видео: Raspberry Pi Notifier: 6 стъпки (със снимки)
Видео: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Септември
Anonim
Raspberry Pi Notifier
Raspberry Pi Notifier

Замисляли ли сте се дали или кога хората имат достъп до вратите? Искате ли дискретен, евтин и бърз начин за наблюдение на движението на вратата … и може би малък проект? Не търсете повече! Това опростено устройство ще проследява вибрациите, излъчвани от движещите се врати, и ще докладва на потребителя с имейл на посочен имейл адрес.

Този проект ще ви даде малко практика с Flask, Raspberry Pis, GPIO сензори и Mandrill API! Не само, че е забавно да се изгражда, но има и много полезни функции. Натрапниците внимавайте …

Стъпка 1: Консумативи

Консумативи
Консумативи

Все още планирате да изградите тази измислица? Ето какво ще ви трябва:

  • Малина Пи 3
  • Micro SD карта
  • 3 проводника от жена към жена
  • 1 сензор за вибрации
  • Банка за захранване
  • Командни ленти

Ако планирате да изградите този проект за множество врати, умножете всяка от консумативите с колко устройства ще ви трябват.

Ако сте в процес на изграждане/тестване на това устройство, не е необходимо да имате следното … обаче, определено би било много полезно.

  • Компютърен монитор
  • 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 сървър, трябва да отидете в главната директория. След това трябва да въведете:

$ export FLASK_APP = iotapp.py

$ python -m колба бягане -хост 0.0.0.0

С това трябва да получите съобщение, което показва, че сървърът ви работи и трябва да можете да обслужвате страницата от устройството на друго устройство в мрежата.

Сега би било подходящ момент да прегледате файловете си и наистина да се опитате да разберете какво прави кодът. Разбира се, никой от кода не е поставен в камък … той може да бъде актуализиран/променен, за да отговаря на специфичните нужди на проекта. Например, в момента, когато устройството POST -и след получаване на вход от сензора за вибрации, той изпраща времевата отметка, когато е настъпил входът. Сървърът обаче не запазва тези данни. Това би могло да се направи, ако потребителят предпочита да съхранява историческа информация и иска да я покаже някъде.

Едно нещо, което вероятно ще забележите, е, че КОДЪТ НЕ Е ПЪЛЕН. Този проект използва външен API за изпращане на имейли с известия при вибрации (отваряне на вратата). За да настроите това, ще трябва да създадете акаунт в Mandrill и да създадете API ключ.

След като потвърдите изпращащия си домейн и имате API ключ, можете да поставите ключа си във файла `mcemail.py` (където го има) и да коригирате изпращащата информация (или чрез промяна на параметъра по подразбиране в същия файл или чрез предаване в друг имейл във файла `routes.py`. Ако искате повече документация за Mandrill и как да го използвате, можете да го намерите тук.

Стъпка 5: Тестване

Тестване
Тестване

Преди да монтирате устройството на постоянно място, вероятно е добра идея да тествате всичко, което прави. Ето как управлявате нещата.

Устройството всъщност изпълнява две програми: `vibes.py` и Flask сървъра. Първият трябва да се изпълнява първо във фонов режим и след това да може да се стартира Flask сървър. `vibes.py` е просто POSTing към сървъра и сървърът интерпретира POST заявката.

$ python vibes.py &

$ python -m колба бягане --host 0.0.0.0

След това трябва да можете да навигирате до правилния URI/IP и да зададете имейл адреса, на който искате да изпращате всичките си известия. Трябва да докоснете сензора за вибрации, за да опитате да изпратите някои тестови имейли и да се уверите, че проектът работи.

Всичко изглежда добре? Добре, готови сме за бизнес!

Стъпка 6: Монтаж

Монтаж
Монтаж

Монтажът на устройството е доста ясен. По принцип просто трябва да се уверите, че устройството е свързано към батерията и да използвате командните ленти, за да прикрепите устройството към вратата.

Забележка: устройството трябва да бъде разположено с датчика за вибрации, перпендикулярен на вратата, за да може сензорът да улавя движението на вратата

След като това приключи, трябва да можете да SSH в устройството и да стартирате програмите, както е споменато в предишната стъпка и да изчакате натрапници!

За допълнителни точки, опитайте се да скриете проводниците/устройството, така че натрапниците да не подозират вашето умно устройство! … или просто не го поставяйте на стъклена врата. ¯ / _ (ツ) _/¯

Препоръчано: