Mundarija:

Raspberry Pi eshik xabari: 6 qadam (rasmlar bilan)
Raspberry Pi eshik xabari: 6 qadam (rasmlar bilan)

Video: Raspberry Pi eshik xabari: 6 qadam (rasmlar bilan)

Video: Raspberry Pi eshik xabari: 6 qadam (rasmlar bilan)
Video: Платы расширения для Raspberry Pi 3 2024, Sentyabr
Anonim
Raspberry Pi eshik haqida xabar beruvchi
Raspberry Pi eshik haqida xabar beruvchi

Odamlar eshiklarga qachon yoki qachon kirishadi deb hech o'ylab ko'rganmisiz? Eshiklar harakatini nazorat qilishning aqlli, arzon va tezkor usulini xohlaysizmi … va ehtimol kichik loyiha? Boshqa qaramang! Bu oddiy qurilma harakatlanuvchi eshiklardan tebranishlarni kuzatadi va foydalanuvchiga ko'rsatilgan elektron pochta manziliga elektron pochta orqali xabar beradi.

Ushbu loyiha sizga Flask, Raspberry Pis, GPIO datchiklari va Mandrill API bilan amaliy mashg'ulotlar beradi! Qurilish nafaqat qiziqarli, balki juda ko'p foydali narsalarga ega. Bosqinchilar ehtiyot bo'ling …

1 -qadam: materiallar

Ta'minotlar
Ta'minotlar

Hali ham bu ziddiyatni qurishni rejalashtiryapsizmi? Mana sizga kerak bo'lgan narsa:

  • Raspberry Pi 3
  • Micro SD karta
  • Ayoldan ayolga 3 ta sim
  • 1 tebranish sensori
  • Quvvat banki
  • Buyruqlar chiziqlari

Agar siz ushbu loyihani bir nechta eshiklar uchun qurishni rejalashtirmoqchi bo'lsangiz, har bir ta'minotni sizga kerak bo'ladigan qurilmalarga ko'paytiring.

Agar siz ushbu qurilmani yaratish/sinovdan o'tkazayotgan bo'lsangiz, quyidagilar bo'lishi shart emas … lekin, albatta, bu juda foydali bo'ladi.

  • Kompyuter monitor
  • USB klaviatura
  • Micro USB zaryadlash to'plami

2 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish

Raspberry Pi - bu turli xil sensorlar va periferiya qurilmalari bilan jihozlangan chiroyli qurilma bo'lsa -da, biz kerakli o'lchovlarni amalga oshirish uchun asosiy simni Pi simlariga ulashimiz kerak. Ushbu loyihada ishlatiladigan asosiy sensorni yuqoridagi rasmda ko'rish mumkin - bu yuqori sezuvchanlikka ega tebranish sensori. Biz bu datchikni qo'yish va simlarimizni o'tkazish uchun non taxtasi yoki boshqa o'rnatish moslamasidan foydalanishimiz mumkin bo'lsa-da, biz uni faqat urg'ochi-ayol simlari orqali to'g'ridan-to'g'ri Raspberry Pi qurilmasidagi pimlarga uladik.

Ulanish sxemasini yuqorida topish mumkin (https://www.piddlerintheroot.com/vibration-sensor/ saytidan olingan). Barcha simlarni ushbu rasmda ko'rsatilgandek ulang va tebranish sensori yaxshi ishlaydi. Shuni ham yodda tutingki, sizga oxir -oqibat ushbu loyiha uchun batareya to'plami kerak bo'ladi, lekin agar siz sinovdan o'tkazayotgan bo'lsangiz, qurilmani devorga ulashingiz foydali bo'lishi mumkin.

3 -qadam: narsalarni yig'ish

Tabriklaymiz! Siz shu paytgacha erishdingiz. Davom etamiz!

Endi biz to'g'ridan -to'g'ri Pi bilan ishlashni boshlaymiz. Quyidagilarning barchasi qurilmada klaviatura va monitor yordamida amalga oshirilishi mumkin (yoki sizga qulay bo'lsa, SSH orqali).

Pi va Flask bilan ishlaydigan har qanday GPIO sensorini olish uchun juda ko'p oldindan sozlangan. Sabr - bu fazilat. Python kutubxonalari juda ko'p, siz avval ularni o'rnatishingiz kerak bo'ladi. Buni Python uchun kutubxona/paketlar menejeri Pip yordamida amalga oshirish mumkin. Foydalanish uchun "pip install" ni kiriting, ba'zi kutubxonalarni nomlash uchun sizga kerak bo'ladi:

  • so'rovlar
  • RPi. GPIO
  • kolba
  • shohruh_sodiqova
  • flask_wtf
  • wtforms
  • elektron pochta
  • mandril

Siz ularni o'rnatishni kutib turib, qahva ichishni xohlashingiz mumkin - bu biroz vaqt talab qilishi mumkin.

Sizning barcha kutubxonalaringiz o'rnatilgandan so'ng, siz Flask loyihasini boshlashga tayyormiz. Flask - bu ishlayotgan qurilmadan sahifalarga xizmat ko'rsatadigan engil ramka. Bunday holda, Raspberry Pi serverga aylanadi. Juda zo'r, ha? Siz bu erda juda oddiy Flask ilovasini sozlashni o'rganishingiz mumkin. Iltimos, har qanday ko'rsatmalarni ishlatishdan oldin buni qiling.

4 -qadam: Kod va ishga tushirish

Buni tugatgandan so'ng, siz loyiha fayllarini yaratishni boshlashga tayyormiz. Men sizga kerak bo'lgan barcha fayllarni quyida joylashtirdim - siz, ehtimol, kodni qayta yozishingiz kerak, faqat fayllarni nusxa ko'chirmang (KO'PROQ BILAN BILAN!).

Mana, katalog tashkilotlari qanday bo'lishi kerak:

+- iotapp | +- appFolder | +- andozalar | +- indeks.html | +- _init_.py | +- shakllar.py | +- mcemail.py | +- marshrutlar.py | +- iotapp.py | +- vibes.py

Bu fayllarning barchasini to'g'ri tartibda joylashtiring va siz o'z loyihangizni qisqa vaqt ichida ishga tushirishingiz kerak. Flask serverini ishga tushirish uchun siz ildiz katalogiga o'tishingiz kerak. Keyin yozishingiz kerak:

$ export FLASK_APP = iotapp.py

$ python -m flask run --host 0.0.0.0

Buning yordamida siz serveringiz ishlayotganligini ko'rsatadigan xabarni olishingiz kerak va siz sahifani qurilmadan tarmoqdagi boshqa qurilmaga xizmat ko'rsatishingiz kerak.

Endi sizning fayllaringizni ko'rib chiqish va kod nima qilayotganini bilishga harakat qilish uchun yaxshi vaqt bo'ladi. Albatta, kodlarning hech biri toshga qo'yilmagan … hammasini loyihaning o'ziga xos ehtiyojlariga mos ravishda yangilash/o'zgartirish mumkin. Masalan, hozircha, qurilma tebranish sensori orqali kirishni qabul qilgandan so'ng, kirish qachon sodir bo'lganligini ko'rsatadi. Biroq, server bu ma'lumotlarni saqlamaydi. Agar foydalanuvchi tarixiy ma'lumotlarni saqlashni afzal ko'rsa va uni biror joyda ko'rsatishni xohlasa, buni qilish mumkin edi.

Siz sezishingiz mumkin bo'lgan narsa shundaki, KOD TUGMAS. Ushbu loyiha tebranish paytida (eshikni ochish) elektron pochta xabarlarini yuborish uchun tashqi API -dan foydalanadi. Buni o'rnatish uchun sizga Mandrill hisobini yaratish va API kalitini yaratish kerak bo'ladi.

O'zingizning yuborish domeningizni tasdiqlaganingizdan va API kalitiga ega bo'lgandan so'ng, siz kalitni mcemail.py fayliga qo'yishingiz mumkin (u erda mavjud) va yuborish ma'lumotlarini sozlashingiz mumkin (yoki o'sha faylda standart parametrni o'zgartirish yoki o'tish orqali). "route.py" faylidagi boshqa elektron pochta xabarida. Agar siz Mandrill va undan qanday foydalanish haqida ko'proq ma'lumotga ega bo'lishni istasangiz, uni bu erda topishingiz mumkin.

5 -qadam: Sinov

Sinov
Sinov

Qurilmani doimiy joyiga o'rnatishdan oldin, u qilayotgan hamma narsani sinab ko'rish yaxshidir. Mana, bu ishni qanday bajarish kerak.

Qurilma aslida ikkita dastur bilan ishlaydi: `vibes.py` va Flask serveri. Birinchisi avval fonda ishga tushirilishi kerak, keyin Flask serverini ishga tushirish mumkin. "vibes.py" shunchaki serverga POST yuborish va server POST so'rovini sharhlaydi.

$ python vibes.py va

$ python -m flask run --host 0.0.0.0

Keyin siz to'g'ri URI/IP -ga o'tishingiz va barcha xabarnomalaringizni yubormoqchi bo'lgan elektron pochta manzilini o'rnatishingiz kerak. Bir nechta elektron pochta xabarlarini yuborish va loyiha ishlayotganiga ishonch hosil qilish uchun siz tebranish sensoriga teging.

Hammasi yaxshi ko'rinadi? Yaxshi, biz biznesga tayyormiz!

6 -qadam: o'rnatish

O'rnatish
O'rnatish

Qurilmani o'rnatish juda tushunarli. Asosan, siz qurilmaning batareya paketiga ulanganligiga ishonch hosil qilishingiz va qurilmani eshikka yopishtirish uchun buyruq chiziqlaridan foydalanishingiz kerak.

E'tibor bering: eshik harakatini ushlab turishi uchun qurilma eshikka perpendikulyar bo'lgan tebranish sensori bilan joylashtirilishi kerak

Bu bajarilgandan so'ng, siz SSH -ni qurilmaga kiritishingiz va oldingi bosqichda aytib o'tilganidek dasturlarni ishga tushirishingiz va buzg'unchilarni kutishingiz kerak!

Qo'shimcha ball olish uchun, kirgizuvchilar sizning aqlli qurilmangizdan shubhalanmasligi uchun simlarni/qurilmani yashirishga harakat qiling!… Yoki uni shisha eshikka qo'ymang. ¯ / _ (ツ) _/¯

Tavsiya: