Мазмуну:

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

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

Video: IOT CA2 Secure Smart Home/Room: 8 Steps
Video: How To Make a SMART HOME | Part 2 2024, Июль
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

Мазмуну

1 Smart Secure Home'го сереп

2 Аппараттык талаптар + Орнотуу

3 Программалык камсыздоого талаптар + Орнотуу

4 Raspberrypiди бир нерсе катары каттаңыз

5 S3 чакасын түзүү

6 DynamoDB орнотуу + Эрежелер

7 Күтүлгөн жыйынтык

8 коддор (Пастебинден)

9 Шилтемелер

Обзор

Кош келдиңиз! Бул Raspberry Pi долбоору - бул "акылдуу үй" башкаруу системасы, белгилүү бир коопсуздук функциялары бар. Долбоор температура жана жарык сыяктуу ар кандай баалуулуктарды өлчөй алат. Коопсуздук бөлүмү Buzzer, карта сканер системасы (Authorizes card), ички жана тышкы камера, ошондой эле SMS эскертүү системасынан турат. Төмөнкү көрсөтмөлөр бүт долбоордун орнотулушун камтыйт.

Негизинен, бизде жарык диодунун резистору жана DHT11 сенсору бар, температураны, ошондой эле жарык баалуулуктарын алуу үчүн. Андан кийин баалуулуктар "акылдуу бөлмөгө/сенсорлорго/баалуулуктарга" жарыяланат жана баалуулуктардын жарыялангандыгын текшерүү үчүн темага жазылуу болот. Маанилер жарыялангандан кийин, баалуулуктар биздин DynamoDB столуна жөнөтүлөт. DynamoDB ичинде сакталган баалуулуктарды чыгарып, биздин веб -интерфейсибизде реалдуу убакыт маанилерин көрсөтүүчү графка түшүрүүгө болот. (Жарык диаграмма) Анализдөө үчүн графигибизди түзүү үчүн баалуулуктарды алуу үчүн сенсорлорду колдонуудан тышкары, биздин dht11 сенсорубуз потенциалдуу "өрт" детектору катары дагы колдонулат. Өрт болушу мүмкүн болгон белгилүү бир температурага жеткенде, бизде PubLherHeat.py деген скрипт бар, ал температураны "акылдуу бөлмө/сенсор/от" темасына жарыялайт, батирдин сыртын символдоштурган такта ошого жазылат. тема жана потенциалдуу өрт болушу мүмкүн экенин көрсөтүү үчүн LED жарыгы бар. Ойготкуч дагы өчүп калат жана мүмкүн болгон өрт болгондо үйдүн ээсине SMS жөнөтүлөт.

Үйгө/бөлмөгө кирүү үчүн, колдонуучу RFID сканеринде картасын тапташ керек болот. Эгерде тапталган карта туура эмес болсо, анда сигнал ишеним каттары туура келген карта тапталганга чейин угулат. Мындан тышкары, туура эмес карта басылганда, сырттагы көзөмөл камерасы картты таптаган колдонуучунун сүрөтүн тартып, S3 чакасына сүрөттү жүктөйт. Ошондой эле үй ээсине кимдир бирөө анын үйүнө кирүүгө аракет кылгандыгы тууралуу SMS келет. Бөлмөнүн сыртында LED индикатору бар, эгер эшик кулпуланбаса/кулпуланса. Эшик кулпуланган кезде сары LED күйөт. Кулпуну ачканда жашыл LED күйөт. Уруксат берилген карта тапталганда, эшиктин кулпусу 15 секундага ачылат жана жашыл LED күйгүзүлүп, кайра сары LED күйүп күйгүзүлгөн режимге кайтарылат.

Колдонуучулар өлчөгүчтүн жана тарыхый графиктин графикалык өкүлчүлүгүнөн тышкары учурдагы өлчөө баалуулуктарын көрсөтүүчү Node-Red панелинде чогултулган маалыматтарды көрө алышат. Куралдар тактасы ошондой эле учурдагы маалыматтарды жана убакытты чагылдырган саат сыяктуу кошумча мүмкүнчүлүктөрдү камтыйт жана ар кандай электр приборлорун алыстан башкарууга өтөт.

Акырында, бизде телеграмма бот өзгөчөлүгү да бар. Телеграмма боту бөлмө ичинде эмне болуп жатканын алыстан сүрөткө тартып, S3 чакасына сактай алат. Бул сүрөттөр "Үйдө/Колдонуучу" аттуу папканын ичинде жазылат, телеграмма боту бөлмөдөгү LED жарыгын алыстан башкара алат.

1 -кадам: Аппараттык талаптар + Орнотуу

Аппараттык талаптар + Орнотуу
Аппараттык талаптар + Орнотуу
Аппараттык талаптар + Орнотуу
Аппараттык талаптар + Орнотуу

Жогорудагы фризинг диаграммаларында көрсөтүлгөндөй, төмөнкү компоненттерди 2 малина бадыңыз менен туташтырыңыз.

2 x Raspberry Pi

3 х нан тактасы

1 x MCP3008 ADC

1 x DhT 11 сенсор

1 x LDR

1 x RFID/NFC MFRC522 карта окугучу

4 x LED

1 x LCD экраны

3 x 10k резистор

4 x 220/330 каршылыгы

1 x Button

1 x Buzzer

34 x Эркектен эркек кабели

11 x Эркек -аял кабелдери

2 -кадам: Программалык камсыздоого талаптар + Орнотуу

Программалык камсыздоого талаптар + Орнотуу
Программалык камсыздоого талаптар + Орнотуу
Программалык камсыздоого талаптар + Орнотуу
Программалык камсыздоого талаптар + Орнотуу
Программалык камсыздоого талаптар + Орнотуу
Программалык камсыздоого талаптар + Орнотуу

Орнотулганын текшерүү үчүн төмөнкү командаларды малина pi терминалына териңиз.

Эгерде төмөнкү программалык камсыздоолордун бири сиздин пиңизге мурунтан эле жүктөлүп алынган болсо, sudo pip install (Программанын аталышы) -upgrade аны жаңыртуунун амалын кылат.

- sudo pip орнотуу gevent

- sudo пип орнотуу колбасы

- sudo pip nexmo орнотуу

-sudo пип орнотуу-жаңыртуу-күчтү кайра орнотуу == 9.0.3

-sudo pip орнотуу AWSIoTPythonSDK-upgrade --disable-pip-version-check

-sudo pip орнотуу -пипти жаңыртуу

-sudo apt-get python-dev орнотуу

- sudo pip орнотуу boto3

- sudo пипи botocore орнотуу

- sudo pip орнотуу numpy

- cd ~

git клону

cd ~/SPI-Py

sudo python setup.py орнотуу"

- cd ~

git clone

cd ~/MFRC522-python

sudo python setup.py орнотуу"

- sudo nano /boot/config.txt, сызыктар device_tree_param = spi = күйүп турганын текшериңиз

dtoverlay = spi-bcm2835 ичинде, башкага кошуңуз.

3 -кадам: бир нерсени каттоо

Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо
Бир нерсени каттоо

а) Биринчиден, AWS веб -сайтынын ичинде IoT Coreго өтүңүз, андан кийин IoT Core кызматтарына чыкылдатыңыз.

б) Башкаруу астындагы навигация тилкесинде нерселерди тандап, нерсени каттоону тандаңыз.

в) Бир нерсени жаратууну тандаңыз.

г) Затыңыздын атын киргизиңиз, мисалы, MyRaspberryPi2. Калган талааларды демейки мааниси боюнча калтырыңыз. Барактын ылдый жагындагы кийинки баскычты басыңыз.

e) Тастыктама түзүү дегенди басыңыз. Бардык төрт файлды жүктөп алыңыз. Түп CA файлы үчүн Amazon Root CA 1ди жүктөп алып, блокнотко сактаңыз.

е) Бүткөндөн кийин, төрт файлды raspberry pi каталогуна жылдырыңыз.

ж) Активацияны чыкылдатыңыз.

h) Тиркөө саясатын баскандан кийин, сиз кийинки бетке өтөсүз. "Катталуу" баскычын чыкылдатыңыз, саясат кийинчерээк түзүлөт.

i) Iiot тактасында, коопсуз бөлүмдүн астындагы саясатка өтүңүз. Саясат түзүү чыкылдатыңыз.

j) Саясатыңыздын атын киргизиңиз, бул мисал үчүн бул MyRaspberryPiSecurityPolicy болот жана Кошумча билдирүүлөрүнүн астындагы ачкыч. Андан кийин Түзүү дегенди басыңыз.

k) Iiot тактасында, коопсуз бөлүмдүн астындагы сертификаттарга өтүңүз. Мурда түзгөн тастыктамаңызды тандап, ачылуучу тизмеден саясатты тиркөөнү чыкылдатыңыз. Мурда түзгөн саясатыңызды тиркеңиз.

l) Мурда түзгөн тастыктамаңызды кайра тандап, нерсени тиркеп коюңуз. Мурда түзүлгөн саясатты тиркеңиз. Мурда жараткан нерсеңизди тиркеңиз.

4 -кадам: S3 чакасын түзүү

S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү
S3 чакасын түзүү

а) Биз AWS башкаруу консолундагы издөө функциясын колдонуу менен баштайбыз жана "s3" издейбиз.

б) Чакты түзүү баскычын чыкылдатыңыз.

в) Челектин атын жазыңыз. Бул мисал үчүн биз "sp-p1703263" атын колдонобуз. Биз "US EAST (N. VIRGINIA)" регионун тандап алабыз, бул биздин чыгыш-1. Бул бүткөндөн кийин, Түзүүнү чыкылдатыңыз.

г) Жаңы түзүлгөн чака тактасында көрүнөт.

5 -кадам: DynamoDB столун түзүү жана эрежелерди коюу

DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү
DynamoDB столун түзүү жана эрежелерин түзүү

а) Биринчиден, чыкылдатуу менен AWS кызматтарына өтүңүз

кызматтар, андан кийин DynamoDB. Таблица түзүүнү басыңыз.

б) "iotdata" таблицасынын атын жана "deviceid" негизги ачкычын "datetimeid" сорттоочу ачкычы менен киргизиңиз, андан кийин барактын ылдый жагында түзүү баскычын басыңыз.

с) Андан кийин, IoT Core барагына кайтыңыз. "Акт" чыкылдатыңыз, андан кийин жаңы эреже түзүүнү басыңыз.

г) "MyDynamoDBRule" аталышындагы эрежени түзүңүз. Эреже суроо билдирүүсүнүн темасына "сенсорлор/жарыкты" киргизиңиз.

д) Бир же бир нече иш -аракеттерди коюу бөлүмүнүн астына "Аракетти кошуу" баскычын чыкылдатыңыз, "билдирүүнү маалымат базасынын үстөлүнүн бир нече тилкесине бөлүү" дегенди басыңыз. Конфигурациялоо аракетин басыңыз. Таблицанын атында iotdata тандаңыз. IAM ролунун аталышында, мурда түзүлгөн "dynamodb_role" ролун тандаңыз. Аракет кошууну чыкылдатыңыз, андан кийин эреже түзүңүз.

е) Эреже түзүүнү чыкылдатыңыз.

6 -кадам: Күтүлгөн жыйынтык

Күтүлгөн жыйынтык
Күтүлгөн жыйынтык
Күтүлгөн жыйынтык
Күтүлгөн жыйынтык

Сыртта

Бөлмөнүн сыртында турган пи үчүн, heatdetector.py жана AccessDoor.py сценарийлери иштетилет. Эгерде туура эмес карта RFID сканерине тийсе, сигнал өчөт, сары LED жарык дагы эле күйүп турат. Мүмкүн болгон кийлигишүү тууралуу үй ээсинин телефонуна SMS жөнөтүлөт. Ойготкуч да катуу болот. Сүрөт да тартылып, заматта S3 чакасына жүктөлөт. Эгерде картага уруксат берилген болсо, жашыл LED күйөт жана колдонуучу кире алат. 15 секунддан кийин эшик кайрадан кулпуланат (Жашыл LED өчөт жана сары LED кайра күйөт). Эгерде бөлмөдө/үйдүн ичиндеги температура өтө жогору болуп кетсе (биз үй/бөлмө өрттөнүп кетиши мүмкүн деп эсептейбиз), биз үй ээсине SMS -билдирүү жөнөтөбүз. Сигнал сырттагы кызыл LED менен жарык болот.

Ичинде

бөлмөнүн ичиндеги өкүлчүлүк үчүн piHeat.py, server.py, pubsub.py, telegrambot.py сценарийлери иштетилет. Pubsub.py чыныгы убакыт баалуулуктарын DynamoDBге сактайт. server.py иштетилгенде, браузерде rpi IP дарегин териңиз: 5000, сиз биздин веб -интерфейске багытталасыз. ДинамоDBге pubsub.pyдеги сенсорлорубуздан алынган реалдуу убакытта жарык маанилерин көрсөтүүчү графигибиз бар. Мындан тышкары, тарыхый жарык баалуулуктары биздин веб -интерфейсибизде да көрсөтүлөт. publishHeat.py өрт сенсорунун максаттары үчүн сырткы нанга температура баалуулуктарын жарыялайт. telegrambot.py колдонуучуга бөлмөдө/үйдө светодиоддун жарыгын алыстан башкарууга, ошондой эле ичинде болуп жаткан нерселердин сүрөтүн тартууга жана сүрөттү S3 чакасына жүктөөгө мүмкүнчүлүк берет.

Күтүлгөн жыйынтык кандай болорун жакшыраак элестетүү үчүн:

7 -кадам: Булак коддору (Пастебин)

Булак коддору (Пастебин)
Булак коддору (Пастебин)

Шилтемени басыңыз. Бардык керектүү баштапкы коддордон турат:

8 -кадам: Шилтемелер

Шилтемелер
Шилтемелер

Iotguider. (2019). Python аркылуу Raspberry Piден SMS жөнөтүңүз. [Онлайн] Жеткиликтүү: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [окулган 21 Август 2019].

Сунушталууда: