Talaan ng mga Nilalaman:

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

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

Video: IOT CA2 Secure Smart Home / Room: 8 Hakbang
Video: Counter-Strike 2... 2024, Hulyo
Anonim
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room

Talaan ng nilalaman

1 Pangkalahatang-ideya ng Smart Secure Home

2 Mga kinakailangan sa hardware + Pag-setup

3 Mga kinakailangan sa software + Pag-setup

4 Magrehistro ng raspberrypi bilang isang bagay

5 Lumikha ng isang S3 Bucket

6 DynamoDB setup + Panuntunan

7 Inaasahang kalalabasan

8 Mga Code (Mula sa Pastebin)

9 Mga Sanggunian

Pangkalahatang-ideya

Maligayang pagdating! Ang proyektong Raspberry Pi na ito ay isang "matalinong bahay" na sistema ng pamamahala, na may ilang mga tampok sa seguridad. Nasusukat ng proyekto ang iba`t ibang mga halagang tulad ng temperatura at ilaw. Ang seksyon ng seguridad ay binubuo ng isang Buzzer, isang card scanner system (Pinapahintulutan ang card), isang panloob at panlabas na camera pati na rin ang isang SMS alert system. Saklaw ng mga sumusunod na tagubilin ang pag-set up ng buong proyekto.

Talaga, mayroon kaming isang light diode risistor at isang sensor ng DHT11 upang makuha ang temperatura pati na rin ang mga halaga ng ilaw. Ang mga halaga ay mai-publish sa 'smartroom / sensor / halaga' at magkakaroon ng isang subscription sa paksa upang suriin kung nai-publish ang mga halaga. Kapag na-publish ang mga halaga, ipapadala din ang mga halaga sa aming talahanayan ng DynamoDB. Ang mga halagang nakaimbak sa loob ng DynamoDB ay maaaring makuha at mai-plot sa isang grap na nagpapakita ng mga halaga ng real time sa aming web interface. (Banayad na grap) Bukod sa paggamit ng mga sensor para sa pagkuha ng mga halaga upang magplano ng aming grap para sa mga layunin sa pagtatasa, ang aming sensor ng dht11 ay ginagamit din bilang isang potensyal na detektor na "sunog". Kapag tumama ito sa isang tiyak na temperatura na maaaring sunog, mayroon kaming iskrip na pinangalanang publishHeat.py na maglalathala ng temperatura sa paksang 'smartroom / sensor / fire', ang breadboard na sumasagisag sa labas ng apartment ay mag-subscribe doon. paksa at magkaroon ng isang ilaw na LED upang ipahiwatig na maaaring may potensyal na sunog. Ang alarm ay papatay pati na rin ang isang SMS upang alertuhan ang may-ari ng bahay kapag maaaring may potensyal na sunog.

Upang ipasok ang bahay / silid, kailangang i-tap ng gumagamit ang kanilang card sa RFID scanner. Kung ang tapped card ay hindi tama, ang alarma ay tunog hanggang sa ang isang card na may tamang mga kredensyal ay na-tap. Bilang karagdagan, kapag ang isang maling card ay na-tap, ang surveillance camera sa labas ay kukuha ng larawan ng gumagamit na nag-tap sa card at i-upload ang larawan sa S3 bucket. Ang may-ari ng bahay ay makakatanggap din ng isang SMS na nagsasaad na may nagtangkang pumasok sa kanyang bahay. Ang silid ay mayroon ding LED tagapagpahiwatig sa labas upang lagyan ng label kung ang pinto ay naka-unlock / naka-lock. Kapag naka-lock ang pinto, ang dilaw na LED ay naiilawan. Kapag naka-unlock, ang berdeng LED ay naiilawan. Kapag na-tap ang isang awtorisadong card, ang pintuan ay ma-unlock sa loob ng 15 segundo at may berdeng LED na naiilawan pagkatapos ay bumalik sa naka-unlock na mode na may dilaw na LED na ilaw.

Maaaring tingnan ng mga gumagamit ang data na nakolekta sa pamamagitan ng isang Dashboard sa Node-Red na nagpapakita ng kasalukuyang mga halaga ng pagsukat bilang karagdagan sa isang grapikong representasyon ng isang gauge at isang makasaysayang grap. Nagsasama rin ang Dashboard ng mga karagdagang tampok tulad ng isang orasan na nagpapakita ng kasalukuyang data at oras at mga switch upang malayuang makontrol ang iba't ibang mga de-koryenteng kasangkapan, na kinakatawan bilang mga LED at isang buzzer.

Panghuli, mayroon din kaming tampok na telegram bot. Ang bot ng telegram ay magagawang malayuan kumuha ng mga larawan ng anumang nangyayari sa loob ng silid at maiimbak ito sa S3 bucket. Ang mga larawang ito ay mamamarkahan sa loob ng isang folder na pinangalanang Homed / User Ang telegram bot ay makokontrol sa malayuan din ang ilaw na LED sa silid.

Hakbang 1: Mga Kinakailangan sa Hardware + Pag-setup

Mga Kinakailangan sa Hardware + Pag-setup
Mga Kinakailangan sa Hardware + Pag-setup
Mga Kinakailangan sa Hardware + Pag-setup
Mga Kinakailangan sa Hardware + Pag-setup

Ikonekta ang mga sumusunod na sangkap sa iyong 2 raspberry pis tulad ng ipinakita sa mga fritzing diagram sa itaas.

2 x Raspberry Pi

3 x Breadboard

1 x MCP3008 ADC

1 x DhT 11 sensor

1 x LDR

1 x RFID / NFC MFRC522 Card Reader

4 x LED

1 x LCD Screen

3 x 10k Resistor

4 x 220/330 Resistor

1 x Button

1 x Buzzer

34 x Lalake hanggang lalaking mga kable

11 x Lalaki hanggang sa mga kable ng babae

Hakbang 2: Mga Kinakailangan sa Software + Pag-setup

Mga Kinakailangan sa Software + Pag-setup
Mga Kinakailangan sa Software + Pag-setup
Mga Kinakailangan sa Software + Pag-setup
Mga Kinakailangan sa Software + Pag-setup
Mga Kinakailangan sa Software + Pag-setup
Mga Kinakailangan sa Software + Pag-setup

I-type ang mga sumusunod na utos sa iyong terminal ng raspberry pi upang matiyak na naka-install ang mga ito.

Kung ang alinman sa mga sumusunod na software ay na-download na sa iyong pi, sudo pip install (Pangalan ng software) - ang pag-upgrade ay gagawa ng trick ng pag-update nito.

- sudo pip install gevent

- sudo pip install flask

- sudo pip install nexmo

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

- sudo pip install AWSIoTPythonSDK --i-upgrade - huwag paganahin-pip-bersyon-tseke

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip install ng botocore

- sudo pip install numpy

- cd ~

git clone

cd ~ / SPI-Py

sudo python setup.py install"

- cd ~

git clone

cd ~ / MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, suriin kung ang mga linya ng aparato_tree_param = spi = on

dtoverlay = spi-bcm2835 ay nasa loob, kung hindi man ay magdagdag.

Hakbang 3: Pagrehistro ng isang Bagay

Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay
Pagrehistro ng isang Bagay

a) Una, mag-navigate sa IoT Core sa loob ng website ng AWS sa pamamagitan ng pag-click sa mga serbisyo, pagkatapos ang IoT Core.

b) Sa navigation bar sa ilalim ng pamamahala, pumili ng mga bagay at piliin ang magparehistro ng isang bagay.

c) Piliin ang Lumikha ng isang solong bagay.

d) Magpasok ng isang pangalan para sa iyong bagay, halimbawa, MyRaspberryPi2. Iwanan ang natitirang mga patlang sa pamamagitan ng kanilang mga default na halaga. Mag-click sa susunod sa ilalim ng pahina.

e) I-click ang lumikha ng sertipiko. I-download ang lahat ng apat na mga file. Para sa root CA file, i-download ang Amazon Root CA 1 at i-save ito sa isang notepad.

f) Kapag tapos na, ilipat ang apat na mga file sa isang direktoryo sa raspberry pi.

g) I-click ang buhayin.

h) Pagkatapos ng pag-click sa patakaran sa pag-attach, dadalhin ka sa sumusunod na pahina. Mag-click sa magparehistro ng bagay, malilikha ang patakaran sa paglaon.

i) Sa dashboard ng iot, mag-navigate sa mga patakaran sa ilalim ng ligtas na seksyon. Mag-click sa lumikha ng isang patakaran.

j) Magpasok ng isang pangalan para sa iyong patakaran, para sa halimbawang ito ay magiging MyRaspberryPiSecurityPolicy at susi sa sumusunod sa ilalim ng Magdagdag ng mga pahayag. Pagkatapos mag-click sa Lumikha.

k) Sa dashboard ng iot, mag-navigate sa mga sertipiko sa ilalim ng ligtas na seksyon. Piliin ang sertipiko na nilikha mo dati, at i-click ang patakaran ng ilakip mula sa dropdown ng mga pagkilos. Ikabit ang patakarang nilikha mo dati.

l) Piliin muli ang sertipiko na nilikha mo dati, at i-click ang kalakip na bagay. Ikabit ang patakarang dati mong nilikha. Ikabit ang bagay na nilikha mo dati.

Hakbang 4: Lumilikha ng isang S3 Bucket

Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket
Lumilikha ng isang S3 Bucket

a) Magsisimula kami sa paggamit ng pag-andar sa paghahanap sa AWS management console at maghanap para sa "s3".

b) Mag-click sa lumikha ng bucket.

c) Mag-type sa isang pangalan para sa timba. Para sa halimbawang ito, gagamitin namin ang pangalang "sp-p1703263". Pipiliin namin ang rehiyon na "US EAST (N. VIRGINIA)" na sa amin-silangan-1. Pagkatapos na magawa, mag-click sa Lumikha.

d) Ang bagong nilikha na bucket ay lilitaw sa dashboard.

Hakbang 5: Lumilikha ng Mga Panuntunan sa DynamoDB at Itakda ang Mga Panuntunan

Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda
Lumilikha ng Mga Panuntunan sa Talaan ng DynamoDB at Itakda

a) Una, mag-navigate sa mga serbisyo ng AWS sa pamamagitan ng pag-click sa

mga serbisyo, pagkatapos ay DynamoDB. I-click ang lumikha ng talahanayan.

b) Ipasok ang pangalan ng talahanayan na "iotdata" at ang pangunahing key na "deviceid" na may isang uri ng key na "datimeid", pagkatapos ay i-click ang lumikha sa ilalim ng pahina.

c) Pagkatapos nito, mag-navigate pabalik sa pahina ng IoT Core. Mag-click sa Batas, pagkatapos ay mag-click sa lumikha ng isang bagong panuntunan.

d) Lumikha ng isang patakaran na may pangalang "MyDynamoDBRule". Sa ilalim ng paksa ng pahayag sa query query, ipasok ang "mga sensor / ilaw".

e) Sa ilalim ng Itakda ang isa o maraming seksyon ng mga pagkilos, mag-click sa magdagdag ng pagkilos, mag-click sa "split message sa maraming mga haligi ng isang talahanayan sa database". Mag-click sa i-configure ang pagkilos. Sa ilalim ng pangalan ng talahanayan, piliin ang iotdata. Sa ilalim ng pangalan ng tungkulin ng IAM, piliin ang papel na nilikha mo dati na "dynamodb_role". I-click ang magdagdag ng pagkilos, pagkatapos ay lumikha ng panuntunan.

f) Mag-click sa panuntunan sa paglikha.

Hakbang 6: Inaasahang Kinalabasan

Inaasahang Kinalabasan
Inaasahang Kinalabasan
Inaasahang Kinalabasan
Inaasahang Kinalabasan

Panlabas

para sa pi na kumakatawan sa panlabas na silid, ang mga script heatdetector.py at AccessDoor.py ay tatakbo. Kung ang isang maling kard ay nag-tap sa scanner ng RFID, papatay ang alarma, na may ilaw na ilaw ng dilaw na LED. Ipapadala ang isang SMS sa telepono ng may-ari ng bahay upang abisuhan ang isang posibleng panghihimasok. Magiging tunog din ang alarm. Kukuha rin ng larawan at agad na mai-upload sa S3 Bucket. Kung ang card na na-tap ay pinahintulutan, ang berdeng LED ay sindihan at ang gumagamit ay maaaring pumasok. Ang pintuan ay mai-lock muli pagkatapos ng 15 segundo (ang Green LED ay patayin at dilaw na LED ay naiilawan muli). Kung ang temperatura sa loob ng silid / bahay ay masyadong mataas (Sa isang temperatura na itinuturing naming bahay / silid na posibleng sunog), magpapadala kami ng isang alerto sa SMS sa may-ari ng bahay. Magiging tunog din ang alarm sa pulang LED sa labas na naiilawan.

Panloob

para sa pi na kumakatawan sa panloob na silid, ang mga script publishHeat.py, server.py, pubsub.py, telegrambot.py ay tatakbo. Itatago ng Pubsub.py ang mga halaga ng real time sa DynamoDB. kapag ang server.py ay naandar, i-type ang ip address ng rpi: 5000 sa browser, ididirekta ka sa aming web interface. Mayroon kaming isang graph na nagpapakita ng mga real time na halaga ng ilaw na nakuha mula sa aming mga sensor sa pubsub.py sa DynamoDB. Bilang karagdagan, ang mga halaga ng makasaysayang ilaw ay ipapakita din sa aming web interface. lathala ng publishHeat.py ang mga halagang temperatura sa panlabas na breadboard para sa mga layunin ng sensor ng sunog. Ang telegrambot.py ay magbibigay-daan sa gumagamit upang malayuang makontrol ang pag-on / off ng ilaw ng LED sa silid / bahay pati na rin mag-snap ng larawan kung ano ang nangyayari sa loob at mai-upload ang larawan sa S3 bucket.

Para sa mas mahusay na visualization ng kung paano ang inaasahang kinalabasan ay dapat magmukhang:

Hakbang 7: Mga Source Code (Pastebin)

Mga Source Code (Pastebin)
Mga Source Code (Pastebin)

Pindutin ang link. Binubuo ng lahat ng kinakailangang mga code ng mapagkukunan:

Hakbang 8: Mga Sanggunian

Mga Sanggunian
Mga Sanggunian

Iotguider. (2019). Magpadala ng SMS mula sa Raspberry Pi gamit ang Python. [online] Magagamit sa: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Na-access noong 21 Ago 2019].

Inirerekumendang: