Мазмуну:
- 1 -кадам: Берилиштер
- 2 -кадам: Кабелдөө
- 3 -кадам: нерселерди орнотуу
- 4 -кадам: Код жана иштетүү
- 5 -кадам: Тестирлөө
- 6 -кадам: Монтаж
Video: Raspberry Pi Door Notifier: 6 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Адамдар эшиктерге качан же качан кирээрин ойлонуп көрдүңүз беле? Эшиктин кыймылын көзөмөлдөөнүн акылдуу, арзан жана тез жолун каалайсызбы … жана, балким, кичинекей долбоор? Башка караба! Бул жөнөкөйлөтүлгөн түзмөк эшиктин кыймылынан чыккан термелүүлөрдү көзөмөлдөйт жана колдонуучуга көрсөтүлгөн электрондук почта дарегине электрондук кат менен отчет берет.
Бул долбоор сизге 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ди түзмөккө киргизип, мурунку кадамда айтылгандай программаларды иштетип, зыянкечтерди күтүшүңүз керек!
Кошумча упайлар үчүн зымдарды/түзмөктү жашырууга аракет кылыңыз, ошондо кирүүчүлөр сиздин акылдуу түзмөгүңүздөн шек санабайт!… Же жөн эле айнек эшикке койбоңуз. ¯ / _ (ツ) _/¯
Сунушталууда:
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Bluetooth Call Notifier: 5 кадам (Сүрөттөр менен)
Bluetooth Call Notifier: Киришүү Мен бир нече күн мурун инструкцияланган жаңылыктар баракчасын карап чыккам, мен бул долбоорго туш келдим. Бирок мен эмне үчүн аны татаал wifi нерселердин ордуна Bluetooth менен курбайм деп ойлодум. Бул Bluetooth Call Notifierдин спецификациясы
YouTube Desktop Notifier: 11 кадам (сүрөттөр менен)
YouTube Desktop Notifier: YouTube абоненттериңизди жоготуу коркунучтуу түш көрөсүзбү? Андай кылсаңыз, сиз жалгыз эмессиз. Бактыга жараша мен муну " YouTube Desktop Notifier " Мени каналдарымдын Жазылуучусу жана Көрүү Эсептери менен кабардар кылып туруу үчүн. Бул абдан жөнөкөй DIY проектиси
Raspberry Pi менен убакыттын өтүшү менен видеолорду жасаңыз (коддун 11 линиясы): 12 кадам (сүрөттөр менен)
Raspberry Pi (11 Линдин коду) менен Time Lapse Videos жасаңыз: Мен жакында эле столумдун казанына биринчи жолу уруктарды отургуздум. Мен алардын өсүшүн көрүп абдан кубандым, бирок баарыбыз билебиз, бул жай процесс. Өсүштү көрө албаганым мени чындап капалантты, бирок капыстан ичиндеги электроника хоббичи сени ойготту
Blup: Bubble Notifier: 11 Кадам (Сүрөттөр менен)
Blüp: Bubble Notifier: Мен дирилдөөгө, үнгө же жарыкка негизделген эскертүүдөн караганда жумшак, азыраак кескин кабарлоо системасын издеп жүрдүм. Мен бул критерийлерге ылайыктуу эч нерсе таба албадым, ошондуктан мен өзүмдүкүн жасоону чечтим. Мындан тышкары, мен өзүмдүн жеке чечимимди камтышы керек болчу