Mundarija:

IOT CA2 Secure Smart Home/Room: 8 qadam
IOT CA2 Secure Smart Home/Room: 8 qadam

Video: IOT CA2 Secure Smart Home/Room: 8 qadam

Video: IOT CA2 Secure Smart Home/Room: 8 qadam
Video: 10 Coolest Smart Home Gadgets That Will Take Your Home to The Future 2024, Iyun
Anonim
IOT CA2 xavfsiz uy/xona
IOT CA2 xavfsiz uy/xona
IOT CA2 xavfsiz uy/xona
IOT CA2 xavfsiz uy/xona

Mundarija

1 Smart Secure Home haqida umumiy ma'lumot

2 Uskuna talablari + O'rnatish

3 Dasturiy ta'minot talablari + O'rnatish

4 Raspberrypi -ni narsa sifatida ro'yxatdan o'tkazing

5 S3 chelak yarating

6 DynamoDB sozlash + Qoidalar

7 Kutilgan natija

8 ta kod (Pastebindan)

9 Adabiyotlar

Sharh

Xush kelibsiz! Bu Raspberry Pi loyihasi "aqlli uy" boshqaruv tizimi bo'lib, ma'lum xavfsizlik xususiyatlariga ega. Loyiha harorat va yorug'lik kabi turli xil qiymatlarni o'lchashga qodir. Xavfsizlik bo'limi Buzzer, kartani skanerlash tizimi (avtorizatsiya kartasi), ichki va tashqi kameralar hamda SMS -ogohlantirish tizimidan iborat. Quyidagi ko'rsatmalar butun loyihaning tuzilishini qamrab oladi.

Asosan, bizda yorug'lik diodli qarshilik va haroratni, shuningdek yorug'lik qiymatlarini olish uchun DHT11 sensori mavjud. Keyin qiymatlar "aqlli xonalar/sensorlar/qadriyatlar" da e'lon qilinadi va qiymatlar e'lon qilinayotganligini tekshirish uchun mavzuga obuna bo'ladi. Qiymatlar e'lon qilinganidan so'ng, qiymatlar DynamoDB jadvalimizga ham yuboriladi. DynamoDB ichida saqlangan qiymatlarni chiqarib olish va ularni veb -interfeysimizda real vaqt qiymatlarini ko'rsatadigan grafikka chizish mumkin. (Yorug'lik grafigi) Datchiklarni tahlil qilish uchun grafikni chizish uchun qiymatlarni olishdan tashqari, bizning dht11 sensori ham potentsial "yong'in" detektori sifatida ishlatiladi. Yong'in bo'lishi mumkin bo'lgan ma'lum bir haroratga etib kelganida, bizda "aqlli xonalar/sensorlar/olov" mavzusidagi haroratni nashr etadigan, nashrning "Heat.py" nomli skriptimiz bor. mavzu bo'lishi mumkin va yong'in sodir bo'lishi mumkinligini ko'rsatish uchun LED yoritgichi yonadi. Budilnik ham o'chadi va yong'in sodir bo'lishi mumkinligi haqida uy egasini ogohlantiruvchi SMS keladi.

Uyga/xonaga kirish uchun foydalanuvchi RFID skanerida o'z kartasini bosishi kerak bo'ladi. Agar tegilgan karta noto'g'ri bo'lsa, signal to'g'ri ma'lumotlarga ega kartaga tegmaguncha eshitiladi. Qolaversa, karta notog'ri bosilganda, tashqaridagi kuzatuv kamerasi kartani bosgan foydalanuvchining rasmini oladi va rasmni S3 chelakka yuklaydi. Shuningdek, uy egasiga kimdir uyiga kirmoqchi bo'lganligi to'g'risida SMS -xabar keladi. Eshik qulflanmagan yoki qulflanmagan bo'lsa, xonaning tashqarisida LED belgisi mavjud. Eshik qulflanganda sariq LED yonadi. Qulfni ochganda, yashil LED yonadi. Ruxsat etilgan karta bosilganda, eshik 15 soniya davomida qulfdan chiqariladi va yashil LED yonadi, keyin sariq LED yonib, qulfdan chiqarilgan holatga qaytariladi.

Foydalanuvchilar o'lchov va tarixiy grafikning grafik tasviriga qo'shimcha ravishda joriy o'lchov qiymatlarini ko'rsatadigan tugun-qizil rangdagi boshqaruv paneli orqali to'plangan ma'lumotlarni ko'rishlari mumkin. Boshqaruv paneli, shuningdek, joriy ma'lumotlar va vaqtni ko'rsatadigan soat kabi qo'shimcha funktsiyalarni o'z ichiga oladi, ular LED va signal sifatida tasvirlangan turli xil elektr asboblarini masofadan boshqarishga o'tadi.

Va nihoyat, bizda telegram bot funksiyasi ham bor. Telegram boti xona ichida sodir bo'layotgan hamma narsani masofadan suratga olish va S3 chelakchasida saqlash imkoniyatiga ega. Bu rasmlar "Homed/User" nomli papkada etiketlanadi, telegram boti xonadagi LED chiroqni masofadan boshqarishi mumkin bo'ladi.

1 -qadam: Uskuna talablari + O'rnatish

Uskuna talablari + sozlash
Uskuna talablari + sozlash
Uskuna talablari + sozlash
Uskuna talablari + sozlash

Quyidagi tarkibiy qismlarni 2 ta malina pis bilan bog'lang, yuqoridagi chizish sxemalarida ko'rsatilgan.

2 x Raspberry Pi

3 x non paneli

1 x MCP3008 ADC

1 x DhT 11 sensori

1 x LDR

1 x RFID/NFC MFRC522 kartani o'quvchi

4 x LED

1 x LCD displey

3 x 10k rezistor

4 x 220/330 qarshilik

1 x tugma

1 x Buzzer

34 x Erkak -erkak kabellari

11 x Erkak -ayol kabellari

2 -qadam: dasturiy ta'minot talablari + sozlash

Dastur talablari + sozlash
Dastur talablari + sozlash
Dastur talablari + sozlash
Dastur talablari + sozlash
Dastur talablari + sozlash
Dastur talablari + sozlash

O'rnatilganligiga ishonch hosil qilish uchun malinali pi terminalingizga quyidagi buyruqlarni kiriting.

Agar quyidagi dasturlardan biri sizning pi -ga yuklangan bo'lsa, sudo pip install (Software name) -upgrade uni yangilashning hiylasini qiladi.

- sudo pip install gevent

- sudo pip o'rnatish kolbasi

- sudo pip install nexmo

-sudo pip install-yuksaltirish-pipni majburan qayta o'rnatish == 9.0.3

-sudo pip o'rnatish AWSIoTPythonSDK-upgrade --disable-pip-version-check

-sudo pip install -pipni yangilang

-sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip botocore -ni o'rnatadi

- sudo pip install numpy

- CD ~

git klon

cd ~/SPI-Py

sudo python setup.py o'rnatish"

- CD ~

git klon

cd ~/MFRC522-python

sudo python setup.py o'rnatish"

- sudo nano /boot/config.txt, device_tree_param = spi = on satrlarini tekshiring

dtoverlay = spi-bcm2835 ichida, boshqasini qo'shing.

3 -qadam: biror narsani ro'yxatdan o'tkazish

Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish
Bir narsani ro'yxatdan o'tkazish

a) Birinchidan, AWS veb -saytidagi IoT Core -ga o'ting, keyin xizmatlarni bosing, keyin IoT Core.

b) Boshqarish ostidagi navigatsiya panelida narsalarni tanlang va ro'yxatga olishni tanlang.

c) Bitta narsani yaratish -ni tanlang.

d) narsangizga ism kiriting, masalan, MyRaspberryPi2. Qolgan maydonlarni standart qiymatlari bo'yicha qoldiring. Sahifaning pastki qismidagi keyingi tugmani bosing.

e) Sertifikat yaratish -ni bosing. To'rtta faylni ham yuklab oling. Ildiz CA fayli uchun Amazon Root CA 1 -ni yuklab oling va uni bloknotda saqlang.

f) Ish tugagandan so'ng, to'rtta faylni malina pi katalogiga o'tkazing.

g) faollashtirish tugmasini bosing.

h) Qo'shish siyosatini bosgandan so'ng, siz keyingi sahifaga o'tasiz. "Ro'yxatdan o'tish" tugmachasini bosing, keyinroq siyosat tuziladi.

i) Ioto boshqaruv panelida xavfsiz bo'lim ostidagi siyosatga o'ting. Siyosat yaratish -ni bosing.

j) O'z siyosatingiz uchun nom kiriting, masalan, bu MyRaspberryPiSecurityPolicy bo'ladi va "Qo'shish bayonotlari" bo'limida quyidagini kiriting. Keyin Yaratish -ni bosing.

k) Ioto boshqaruv panelida xavfsiz bo'lim ostidagi sertifikatlar bo'limiga o'ting. Oldindan yaratilgan sertifikatni tanlang va amallar ochiladigan menyusidan siyosatni qo'shish -ni bosing. Siz ilgari yaratgan siyosatni qo'shing.

l) Siz ilgari yaratgan sertifikatni qayta tanlang va qo'shish -ni bosing. Oldindan tuzilgan siyosatni qo'shing. Oldin yaratgan narsangizni biriktiring.

4 -qadam: S3 chelak yaratish

S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish
S3 chelak yaratish

a) Biz AWS boshqaruv konsolidagi qidiruv funktsiyasidan foydalanishni boshlaymiz va "s3" ni qidiramiz.

b) Paqir yaratish tugmasini bosing.

c) chelak uchun nom kiriting. Bu misol uchun biz "sp-p1703263" nomidan foydalanamiz. Biz "US EAST (N. VIRGINIA)" mintaqasini tanlaymiz-bu sharq-1. Bu bajarilgandan so'ng, Yaratish -ni bosing.

d) asboblar panelida yangi yaratilgan chelak paydo bo'ladi.

5 -qadam: DynamoDB jadvalini yaratish va qoidalarini o'rnatish

DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish
DynamoDB jadvalini yaratish va qoidalarini o'rnatish

a) Birinchidan, ustiga bosish orqali AWS xizmatlariga o'ting

xizmatlar, keyin DynamoDB. Jadval yaratish -ni bosing.

b) "iotdata" jadval nomini va "deviceid" asosiy kalitini "datetimeid" saralash kaliti bilan kiriting, so'ng sahifaning pastki qismidagi yaratish tugmasini bosing.

c) Shundan so'ng, IoT Core sahifasiga qayting. Amalni bosing, so'ngra yangi qoida yaratish -ni bosing.

d) "MyDynamoDBRule" nomi bilan qoida yarating. Qoidalar so'rovi bayoni mavzusi ostida "sensorlar/yorug'lik" ni kiriting.

e) Bir yoki bir nechta harakatlarni o'rnatish bo'limida "Qo'shish" tugmachasini bosing va "Xabarni ma'lumotlar bazasi jadvalining bir nechta ustunlariga bo'lish" ni bosing. Amalni sozlash -ni bosing. Jadval nomi ostida iotdata -ni tanlang. IAM roli nomi ostida siz ilgari yaratgan rolni tanlang "dynamodb_role". Harakat qo'shish -ni bosing, keyin qoida yarating.

f) Qoidalar yaratish -ni bosing.

6 -qadam: kutilgan natija

Kutilgan natija
Kutilgan natija
Kutilgan natija
Kutilgan natija

Ochiq havoda

pi uchun xonaning tashqarisini ifodalaydi, heatdetector.py va AccessDoor.py skriptlari ishlaydi. Agar noto'g'ri karta RFID skaneriga tegsa, signal o'chadi, sariq LED chiroq yonadi. Mumkin bo'lgan hujum haqida uy egasining telefoniga SMS yuboriladi. Signal ham ovozli bo'ladi. Rasm ham olinadi va darhol S3 chelakka yuklanadi. Agar kartani bosishga ruxsat berilgan bo'lsa, yashil LED yonadi va foydalanuvchi kirishi mumkin. 15 soniyadan keyin eshik yana qulflanadi (yashil LED o'chadi va sariq LED yonadi). Agar xona/uy ichidagi harorat haddan tashqari ko'tarilsa (biz uy/xona yonishi mumkin deb hisoblasak), biz uy egasiga SMS -xabar yuboramiz. Signal tashqarida qizil LED bilan yonadi.

Yopiq

xonaning ichki qismini ifodalovchi pi uchun, Heat.py, server.py, pubsub.py, telegrambot.py skriptlari ishga tushadi. Pubsub.py real vaqt qiymatlarini DynamoDB -da saqlaydi. server.py ishga tushganda, brauzerda rpi IP manzilini kiriting: 5000, siz bizning veb -interfeysimizga yo'naltirilasiz. Bizda pubsub.py datchiklaridan olingan real vaqtda yorug'lik qiymatlari DynamoDB -da ko'rsatiladigan grafik mavjud. Bundan tashqari, tarixiy yorug'lik qiymatlari ham bizning veb -interfeysimizda ko'rsatiladi. publishHeat.py yong'in sensori maqsadlari uchun haroratni tashqi taxtada e'lon qiladi. telegrambot.py foydalanuvchiga xonada/uyda LED chiroqni masofadan turib yoqish/o'chirishni boshqarishga, shuningdek, ichkarida nima bo'layotganini suratga olishga va rasmni S3 chelakka yuklashga imkon beradi.

Kutilayotgan natija qanday bo'lishini yaxshiroq tasavvur qilish uchun:

7 -qadam: Manba kodlari (Pastebin)

Manba kodlari (Pastebin)
Manba kodlari (Pastebin)

Havolani bosing. Barcha kerakli manba kodlaridan iborat:

8 -qadam: Adabiyotlar

Manbalar
Manbalar

Iotguider. (2019). Python yordamida Raspberry Pi -dan SMS yuboring. [onlayn] Bu erda mavjud: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Kirish 21 avgust, 2019].

Tavsiya: