Isi kandungan:

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

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

Video: IOT CA2 Secure Smart Home / Room: 8 Langkah
Video: How To Wire A Smart Home - Wiring For Home Security 2024, November
Anonim
Rumah / Bilik IOT CA2 Secure Smart
Rumah / Bilik IOT CA2 Secure Smart
Rumah / Bilik IOT CA2 Secure Smart
Rumah / Bilik IOT CA2 Secure Smart

Isi kandungan

1 Gambaran Keseluruhan Rumah Selamat Selamat

2 Keperluan perkakasan + Persediaan

3 Keperluan perisian + Persediaan

4 Daftar raspberrypi sebagai satu perkara

5 Buat Baldi S3

6 Peraturan + Peraturan DynamoDB

7 Hasil yang diharapkan

8 Kod (Dari Pastebin)

9 Rujukan

Gambaran keseluruhan

Selamat datang! Projek Raspberry Pi ini adalah sistem pengurusan "rumah pintar", dengan ciri keselamatan tertentu. Projek ini dapat mengukur pelbagai nilai seperti suhu dan cahaya. Bahagian keselamatan terdiri daripada Buzzer, sistem pengimbas kad (kad otorisasi), kamera dalaman dan luaran serta sistem amaran SMS. Arahan berikut akan merangkumi penyusunan keseluruhan projek.

Pada asasnya, kami mempunyai perintang diod cahaya dan sensor DHT11 untuk mendapatkan suhu serta nilai cahaya. Nilai kemudian akan diterbitkan ke 'bilik pintar / sensor / nilai' dan akan ada langganan topik untuk memeriksa apakah nilainya diterbitkan. Setelah nilai diterbitkan, nilainya juga akan dihantar ke jadual DynamoDB kami. Nilai-nilai yang tersimpan di dalam DynamoDB dapat diekstrak dan dipetakan ke dalam grafik yang memaparkan nilai masa nyata di antara muka web kami. (Grafik cahaya) Selain menggunakan sensor untuk mendapatkan nilai untuk memetakan grafik kami untuk tujuan analisis, sensor dht11 kami juga digunakan sebagai pengesan "api" yang berpotensi. Apabila mencapai suhu tertentu yang mungkin menjadi api, kami mempunyai skrip bernama publishHeat.py yang akan menerbitkan suhu ke topik 'bilik pintar / sensor / api', papan roti yang melambangkan bahagian luar apartmen kemudian akan melanggannya topik dan nyalakan lampu LED untuk menunjukkan bahawa kemungkinan ada kebakaran. Penggera akan berbunyi juga SMS untuk memberi tahu pemilik kediaman apabila ada kemungkinan ada kebakaran.

Untuk memasuki rumah / bilik, pengguna perlu mengetuk kad mereka di pengimbas RFID. Sekiranya kad yang diketuk tidak betul, penggera akan berbunyi sehingga kad dengan kelayakan yang betul diketuk. Di samping itu, apabila kad yang salah diketuk, kamera pengawasan di luar akan mengambil gambar pengguna yang mengetuk kad dan memuat naik gambar ke dalam baldi S3. Pemilik rumah juga akan menerima SMS yang menyatakan bahawa seseorang cuba memasuki rumahnya. Bilik ini juga mempunyai penunjuk LED di luar untuk memberi label sekiranya pintu tidak dikunci / dikunci. Apabila pintu dikunci, LED kuning menyala. Apabila tidak dikunci, LED hijau akan menyala. Apabila kad yang diberi kuasa diketuk, pintu akan dibuka kuncinya selama 15 saat dan dengan LED hijau menyala kemudian kembali ke mod tidak terkunci dengan LED kuning menyala.

Pengguna dapat melihat data yang dikumpulkan melalui Papan Pemuka di Node-Red yang menunjukkan nilai pengukuran semasa di samping representasi grafik tolok dan grafik sejarah. Papan Pemuka juga menyertakan ciri tambahan seperti jam yang memaparkan data dan masa semasa dan beralih untuk mengawal pelbagai peralatan elektrik dari jauh, yang diwakili sebagai LED dan buzzer.

Terakhir, kami juga mempunyai ciri bot telegram. Bot telegram dapat mengambil gambar dari jauh apa sahaja yang berlaku di dalam bilik dan menyimpannya ke dalam baldi S3. Gambar-gambar ini akan dilabel di dalam folder bernama Homed / User Bot telegram akan dapat mengendalikan lampu LED dari jarak jauh juga.

Langkah 1: Keperluan Perkakasan + Persediaan

Keperluan Perkakasan + Persediaan
Keperluan Perkakasan + Persediaan
Keperluan Perkakasan + Persediaan
Keperluan Perkakasan + Persediaan

Sambungkan komponen berikut dengan pisang raspberry 2 anda seperti yang ditunjukkan dalam gambar fritzing di atas.

2 x Raspberry Pi

3 x Papan Roti

1 x MCP3008 ADC

Sensor 1 x DhT 11

1 x LDR

1 x Pembaca Kad RFID / NFC MFRC522

4 x LED

1 x Skrin LCD

Perintang 3 x 10k

4 x 220/330 Perintang

1 x Butang

1 x Buzzer

34 x Kabel lelaki hingga lelaki

11 x Kabel lelaki hingga wanita

Langkah 2: Keperluan Perisian + Persediaan

Keperluan Perisian + Persediaan
Keperluan Perisian + Persediaan
Keperluan Perisian + Persediaan
Keperluan Perisian + Persediaan
Keperluan Perisian + Persediaan
Keperluan Perisian + Persediaan

Taipkan arahan berikut ke terminal raspberry pi anda untuk memastikannya terpasang.

Sekiranya mana-mana perisian berikut telah dimuat ke dalam pi anda, pasang sudo pip (nama Perisian) - peningkatan akan melakukan helah untuk memperbaruinya.

- sudo pip pasang gevent

- sudo pip pasang kelalang

- sudo pip pasang nexmo

- sudo pip install --upgrade --force-reinstall pip == 9.0.3

- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip install - upgrade pip

- sudo apt-get install python-dev

- sudo pip pasang boto3

- sudo pip pasang botocore

- sudo pip install numpy

- cd ~

klon git

cd ~ / SPI-Py

sudo python setup.py pasang"

- cd ~

git klon

cd ~ / MFRC522-python

sudo python setup.py pasang"

- sudo nano /boot/config.txt, periksa sama ada garisan device_tree_param = spi = on

dtoverlay = spi-bcm2835 ada di dalamnya, jika tidak tambah.

Langkah 3: Mendaftar Perkara

Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara
Mendaftar Perkara

a) Pertama, arahkan ke IoT Core dalam laman web AWS dengan mengklik perkhidmatan, kemudian IoT Core.

b) Pada bar navigasi di bawah urus, pilih perkara dan pilih mendaftarkan sesuatu.

c) Pilih Buat satu perkara.

d) Masukkan nama untuk barang anda, contohnya, MyRaspberryPi2. Biarkan medan selebihnya dengan nilai lalai mereka. Klik seterusnya di bahagian bawah halaman.

e) Klik buat sijil. Muat turun keempat-empat fail. Untuk fail CA root, muat turun Amazon Root CA 1 dan simpan di notepad.

f) Setelah selesai, pindahkan keempat fail ke dalam direktori di raspberry pi.

g) Klik aktifkan.

h) Setelah mengklik pada kebijakan lampiran, anda akan dibawa ke halaman berikut. Klik daftar perkara, polisi akan dibuat kemudian.

i) Pada papan pemuka iot, arahkan ke dasar di bawah bahagian selamat. Klik buat dasar.

j) Masukkan nama untuk polisi anda, untuk contoh ini adalah MyRaspberryPiSecurityPolicy dan masukkan perkara berikut di bawah Tambah pernyataan. Kemudian klik Buat.

k) Pada papan pemuka iot, arahkan ke sijil di bahagian selamat. Pilih sijil yang anda buat sebelumnya, dan klik lampirkan dasar dari dropdown tindakan. Lampirkan dasar yang anda buat sebelumnya.

l) Pilih sijil yang anda buat sebelumnya sekali lagi, dan klik lampirkan. Lampirkan dasar yang anda buat sebelumnya. Lampirkan perkara yang anda buat sebelumnya.

Langkah 4: Membuat Baldi S3

Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3
Membuat Baldi S3

a) Kami akan bermula dengan menggunakan fungsi carian di konsol pengurusan AWS dan mencari "s3".

b) Klik buat baldi.

c) Taipkan nama untuk baldi. Untuk contoh ini, kita akan menggunakan nama "sp-p1703263". Kami akan memilih wilayah "AS TIMUR (N. VIRGINIA)" yang kami-timur-1. Setelah selesai, klik Buat.

d) Baldi yang baru dibuat akan muncul di papan pemuka.

Langkah 5: Membuat Jadual DynamoDB dan Tetapkan Peraturan

Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB
Membuat Jadual dan Tetapan Peraturan DynamoDB

a) Pertama, arahkan ke perkhidmatan AWS dengan mengklik

perkhidmatan, kemudian DynamoDB. Klik buat jadual.

b) Masukkan nama jadual "iotdata" dan kunci utama "deviceid" dengan kunci semacam "datetimeid", kemudian klik buat di bahagian bawah halaman.

c) Selepas itu, navigasi kembali ke halaman Teras IoT. Klik Bertindak, kemudian klik buat peraturan baru.

d) Buat peraturan dengan nama "MyDynamoDBRule". Di bawah topik pernyataan pertanyaan peraturan, masukkan "sensor / cahaya".

e) Di bawah Set satu atau lebih tindakan tindakan, klik pada tindakan tambah, klik pada "perpecahan mesej ke beberapa lajur jadual pangkalan data". Klik pada tindakan konfigurasi. Di bawah nama jadual, pilih iotdata. Di bawah nama peranan IAM, pilih peranan yang anda buat sebelumnya iaitu "dynamodb_role". Klik tambah tindakan, kemudian buat peraturan.

f) Klik peraturan buat.

Langkah 6: Hasil yang Dijangkakan

Hasil yang dijangkakan
Hasil yang dijangkakan
Hasil yang dijangkakan
Hasil yang dijangkakan

Luar

untuk pi yang mewakili kawasan luar ruangan, skrip heatdetector.py dan AccessDoor.py akan dijalankan. Sekiranya kad yang salah mengetuk pengimbas RFID, penggera akan padam, dengan lampu LED kuning masih menyala. SMS akan dihantar ke telefon pemilik rumah untuk memberitahu kemungkinan pencerobohan. Penggera juga akan berbunyi. Gambar juga akan diambil dan dimuat naik serta-merta ke S3 Bucket. Sekiranya kad yang diketuk dibenarkan, LED hijau akan menyala dan pengguna boleh masuk. Pintu akan dikunci lagi setelah 15 saat (LED Hijau akan mati dan LED kuning menyala kembali). Sekiranya suhu di dalam bilik / rumah terlalu tinggi (Pada suhu yang kami anggap sebagai rumah / bilik berpotensi terbakar), kami akan mengirimkan peringatan SMS kepada pemilik rumah. Penggera juga akan berbunyi dengan lampu LED merah di luar.

Dalaman

untuk pi yang mewakili bahagian dalam ruangan, skrip publishHeat.py, server.py, pubsub.py, telegrambot.py akan dijalankan. Pubsub.py akan menyimpan nilai masa nyata ke dalam DynamoDB. semasa server.py dijalankan, ketik alamat ip rpi: 5000 di penyemak imbas, anda akan diarahkan ke antara muka web kami. Kami mempunyai grafik yang memaparkan nilai cahaya masa nyata yang diperoleh dari sensor kami di pubsub.py ke DynamoDB. Di samping itu, nilai cahaya sejarah juga akan dipaparkan di antara muka web kami. publishHeat.py akan menerbitkan nilai suhu ke papan roti luar untuk tujuan sensor api. telegrambot.py akan membolehkan pengguna mengawal / mematikan lampu LED dari bilik / rumah dari jauh serta mengambil gambar apa yang berlaku di dalam dan memuat naik gambar ke dalam baldi S3.

Untuk visualisasi yang lebih baik mengenai bagaimana hasil yang diharapkan kelihatan seperti:

Langkah 7: Kod Sumber (Pastebin)

Kod Sumber (Pastebin)
Kod Sumber (Pastebin)

Klik pada pautan. Terdiri daripada semua kod sumber yang diperlukan:

Langkah 8: Rujukan

Rujukan
Rujukan

Iotguider. (2019). Hantarkan SMS dari Raspberry Pi menggunakan Python. [dalam talian] Terdapat di: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Diakses pada 21 Ogos 2019].

Disyorkan: