Мазмуну:

Raspberry Pi Door Notifier: 6 кадам (сүрөттөр менен)
Raspberry Pi Door Notifier: 6 кадам (сүрөттөр менен)

Video: Raspberry Pi Door Notifier: 6 кадам (сүрөттөр менен)

Video: Raspberry Pi Door Notifier: 6 кадам (сүрөттөр менен)
Video: ЭМНЕ ҮЧҮН МЕН L4D3тү күтүп жатам 2024, Сентябрь
Anonim
Raspberry Pi Door Notifier
Raspberry Pi Door Notifier

Адамдар эшиктерге качан же качан кирээрин ойлонуп көрдүңүз беле? Эшиктин кыймылын көзөмөлдөөнүн акылдуу, арзан жана тез жолун каалайсызбы … жана, балким, кичинекей долбоор? Башка караба! Бул жөнөкөйлөтүлгөн түзмөк эшиктин кыймылынан чыккан термелүүлөрдү көзөмөлдөйт жана колдонуучуга көрсөтүлгөн электрондук почта дарегине электрондук кат менен отчет берет.

Бул долбоор сизге Flask, Raspberry Pis, GPIO сенсорлору жана Mandrill API менен бир аз практика берет! Куруу кызыктуу гана эмес, пайдалуу жактары да көп. Кирүүчүлөр сак болгула…

1 -кадам: Берилиштер

Жабдуулар
Жабдуулар

Дагы эле бул карама -каршылыкты курууну пландап жатасызбы? Бул жерде сизге эмне керек:

  • Raspberry Pi 3
  • Micro SD карта
  • 3 аялдан-аялга зым
  • 1 титирөө сенсору
  • Күч банкы
  • Командалык тилкелер

Эгерде сиз бул долбоорду бир нече эшик үчүн курууну пландап жатсаңыз, анда жабдуулардын ар бирин сизге керектүү канча түзмөккө көбөйтүңүз.

Эгерде сиз бул түзмөктү куруу/сыноо процессинде болсоңуз, анда төмөнкүлөрдүн болушу шарт эмес … бирок, албетте, абдан пайдалуу болмок.

  • Компьютердин монитору
  • USB клавиатурасы
  • Micro USB кубаттоочу комплект

2 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Raspberry Pi - бул ар кандай сенсорлор жана перифериялык түзүлүштөр менен коштолгон тыкан түзмөктөр, бирок биз керектүү өлчөөлөрдү жасай алышы үчүн, Пи зымдарына негизги сенсорду кошушубуз керек. Бул долбоордо колдонулган негизги сенсор жогорудагы сүрөттө көрүнүп турат - бул жогорку сезгичтиги бар дирилдөө сенсору. Биз бул сенсорду коюп, зымдарыбызды иштетүү үчүн нан тактасын же башка орнотуучу аппаратты колдонсок да, биз аны жөн эле Raspberry Pi түзмөгүндөгү казыктарга ургаачыдан аялга зым аркылуу туташтырдык.

Зымдардын схемасын жогоруда тапса болот (https://www.piddlerintheroot.com/vibration-sensor/ сайтынан алынган). Жөн гана бул сүрөттө көрсөтүлгөндөй зымдардын бардыгын туташтырыңыз жана дирилдөө сенсоруңуз жакшы болушу керек. Ошондой эле, акыры бул долбоор үчүн сизге батарейка керек болорун эске алыңыз, бирок эгер сиз тестирлеп жатсаңыз, бул аппаратты дубал розеткасына туташтыруу пайдалуу болушу мүмкүн.

3 -кадам: нерселерди орнотуу

Куттуктайм! Сиз буга чейин жеттиңиз. Уланта берели!

Биз азыр Пи менен түз иштей баштайбыз. Төмөнкүлөрдүн бардыгы түзмөктө клавиатура жана монитор менен жасалышы мүмкүн (же ыңгайлуу болсоңуз SSH аркылуу).

Pi жана Flask менен иштеген GPIO сенсорлорун алуу үчүн көптөгөн алдын ала орнотуулар бар. Сабырдуулук - бул сапат. Адегенде орнотушуңуз керек болгон бир нече Python китепканалары бар. Бул Python үчүн китепкана/пакет менеджери Pip менен жасалышы мүмкүн. Колдонуу үчүн, "pip install" териңиз, сизге керек болгон кээ бир китепканаларды атоо үчүн:

  • өтүнүчтөр
  • RPi. GPIO
  • колба
  • flask_restful
  • flask_wtf
  • wtforms
  • электрондук почта
  • мандрил

Сиз кофе алгыңыз келиши мүмкүн, бул орнотулганга чейин - бир аз убакыт талап кылынышы мүмкүн.

Эми бардык китепканаларыңыз орнотулганда, сиз Flask долбоорун баштоого даярсыз. Flask - бул иштеп жаткан түзмөктөн барактарды тейлеген жеңил алкак. Бул учурда, Raspberry Pi серверге айланат. Аябай сонун, э? Сиз бул жерде абдан жөнөкөй Flask тиркемесин кантип орнотууну үйрөнө аласыз. Сураныч, муну кийин көрсөтмөлөрдүн бирин жасоодон мурун жасаңыз.

4 -кадам: Код жана иштетүү

Муну аяктагандан кийин, сиз долбоордун файлдарын түзүүнү баштоого даярсыз. Мен сизге керектүү бардык файлдарды коштум --– балким, файлдарды көчүрүп эле койбостон, кодду кайра жазышыңыз керек (КӨБҮРӨӨК БИЛИҢИЗ!).

Бул жерде каталог уюмдары кандай болушу керек:

+- iotapp | +- appFolder | +- шаблондор | +- index.html | +- _init_.py | +- form.py | +- mcemail.py | +- route.py | +- iotapp.py | +- vibes.py

Бул файлдардын бардыгын ушул туура тартипте жайгаштырыңыз жана сиз долбооруңузду кыска убакыттын ичинде ишке киргизе алышыңыз керек. Flask серверин иштетүү үчүн, сиз түп каталогго өтүшүңүз керек. Сиз андан кийин теришиңиз керек:

$ экспорт FLASK_APP = iotapp.py

$ python -m колбасы иштетүү -хост 0.0.0.0

Муну менен, сиз сервердин иштеп жатканын көрсөткөн билдирүү алышыңыз керек жана баракты түзмөктөн тармактын башка түзмөгүнө чейин тейлей алышыңыз керек.

Эми файлдарыңызды карап чыгууга жана коддун эмне кылып жатканын түшүнүүгө аракет кылуу үчүн жакшы убакыт болмок. Албетте, эч бир код ташта коюлган эмес … мунун баары долбоордун өзгөчөлүктөрүнө ылайык жаңыртылышы/өзгөртүлүшү мүмкүн. Мисалы, азырынча түзмөк дирилдөө сенсорунан киришти алгандан кийин POST киргизгенде, ал качан киргенин көрсөтөт. Бирок, сервер бул маалыматты сактабайт. Бул колдонуучу тарыхый маалыматты сактоону туура көрүп, аны бир жерге көрсөтүүнү кааласа жасалышы мүмкүн.

Сиз байкаган бир нерсе - КОД ТОЛУК эмес. Бул долбоор дирилдөө (эшикти ачуу) учурунда кабарлоочу электрондук каттарды жөнөтүү үчүн тышкы APIди колдонот. Муну орнотуу үчүн, Mandrill эсебин түзүп, API ачкычын түзүшүңүз керек болот.

Жөнөтүүчү домениңизди текшерип, API ачкычына ээ болгондон кийин, ачкычыңызды mcemail.py` файлына (бул жерде) жайгаштырып, жөнөтүү маалыматын тууралоого болот (же ошол эле файлдагы демейки параметрди өзгөртүү аркылуу же өтүү менен) башка бир электрондук почтадагы 'route.py` файлында. Эгер сиз Mandrill жана аны кантип колдонуу боюнча көбүрөөк документтерди кааласаңыз, бул жерден таба аласыз.

5 -кадам: Тестирлөө

Тестирлөө
Тестирлөө

Түзмөктү туруктуу ордуна орнотуудан мурун, анын кылып жаткан нерселеринин бардыгын сынап көрүү жакшы болмок. Мына бул нерселерди кантип иштетесиз.

Түзмөк чындыгында эки программаны иштетет: `vibes.py` жана Flask server. Биринчиси фондо иштеши керек, андан кийин Flask серверин иштетсе болот. `vibes.py` бул жөн эле серверге POSTing жана сервер POST өтүнүчүн чечмелейт.

$ python vibes.py &

$ python -m колбасы иштетүү -хост 0.0.0.0

Андан кийин туура URI/IPге өтүп, бардык билдирмелериңизди жөнөткүңүз келген электрондук почта дарегин жөндөшүңүз керек. Сиз сыноо каттарын жөнөтүп, долбоордун иштеп жатканына ынануу үчүн дирилдөө сенсорун таптап коюңуз.

Баары жакшы көрүнөт? Макул, биз бизнеске даярбыз!

6 -кадам: Монтаж

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

Аппаратты орнотуу өзүн-өзү түшүндүрүүчү нерсе. Негизинен, сиз жөн эле түзмөктүн батарея топтомуна туташып турганын текшерип, түзмөктү эшикке бекитүү үчүн буйрук тилкелерин колдонушуңуз керек.

Эскертүү: сенсор эшиктин кыймылын кармашы үчүн түзмөк эшикке перпендикуляр вибрация сенсору менен жайгашышы керек

Бул аяктагандан кийин, сиз SSHди түзмөккө киргизип, мурунку кадамда айтылгандай программаларды иштетип, зыянкечтерди күтүшүңүз керек!

Кошумча упайлар үчүн зымдарды/түзмөктү жашырууга аракет кылыңыз, ошондо кирүүчүлөр сиздин акылдуу түзмөгүңүздөн шек санабайт!… Же жөн эле айнек эшикке койбоңуз. ¯ / _ (ツ) _/¯

Сунушталууда: