Съдържание:
- Стъпка 1: Консумативи
- Стъпка 2: Окабеляване
- Стъпка 3: Настройване на нещата
- Стъпка 4: Код и изпълнение
- Стъпка 5: Тестване
- Стъпка 6: Монтаж
Видео: Raspberry Pi Notifier: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Замисляли ли сте се дали или кога хората имат достъп до вратите? Искате ли дискретен, евтин и бърз начин за наблюдение на движението на вратата … и може би малък проект? Не търсете повече! Това опростено устройство ще проследява вибрациите, излъчвани от движещите се врати, и ще докладва на потребителя с имейл на посочен имейл адрес.
Този проект ще ви даде малко практика с 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 в устройството и да стартирате програмите, както е споменато в предишната стъпка и да изчакате натрапници!
За допълнителни точки, опитайте се да скриете проводниците/устройството, така че натрапниците да не подозират вашето умно устройство! … или просто не го поставяйте на стъклена врата. ¯ / _ (ツ) _/¯
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
IoT Notifier Използване на ESP-12E: 7 стъпки (със снимки)
IoT Notifier Използване на ESP-12E: Останал у дома далеч от любимия човек? През този труден момент този забавен малък проект определено ще се опита да предизвика усмивка на лицата ви. В тази инструкция ще ви покажа как да показвате известия от мобилния си телефон под формата на
Blüp: The Bubble Notifier: 11 стъпки (със снимки)
Blüp: Bubble Notifier: Търсих по -мека, по -малко рязка система за уведомяване, отколкото известие на базата на вибрации, звук или светлина. Не можах да намеря нищо, което да отговаря на тези критерии, затова реших да си го направя. Освен това исках моето решение да включва моите лични
Arduino Christmas Notifier: 5 стъпки (със снимки)
Arduino Christmas Notifier: Коледа е точно зад ъгъла и аз стигнах до извода, че няма да го пусна, просто като си имам моите коледни светлини Arduino. Какъв би бил идеалният проект, включващ коледна мелодия? Да, вярно! Дайте на хората да знаят, че е Коледа
Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)
Персонализиран часовник със стрелки за снимки: Някои хора наблюдават часовника. Сега всеки може да бъде часовник. Други проекти персонализират лицето на часовника. Този персонализира стрелките на часовника. Изглежда скъп, но е по -малко от 5 долара и около 30 минути на часовник. Перфектен за Chr