Բովանդակություն:

IOT CA2 Secure Smart Home/սենյակ. 8 քայլ
IOT CA2 Secure Smart Home/սենյակ. 8 քայլ

Video: IOT CA2 Secure Smart Home/սենյակ. 8 քայլ

Video: IOT CA2 Secure Smart Home/սենյակ. 8 քայլ
Video: Աստղային գալակտիկաների խելացի WiFi պրոյեկտոր լազերային և լուսային երաժշտությամբ TUYA SMART 2024, Հուլիսի
Anonim
IOT CA2 Secure Smart Home/սենյակ
IOT CA2 Secure Smart Home/սենյակ
IOT CA2 անվտանգ խելացի տուն/սենյակ
IOT CA2 անվտանգ խելացի տուն/սենյակ

Բովանդակություն

1 Smart Secure Home- ի ակնարկ

2 Սարքավորման պահանջներ + Կարգավորում

3 Softwareրագրային ապահովման պահանջներ + Կարգավորում

4 Գրանցեք ազնվամորիին որպես իր

5 Ստեղծեք S3 դույլ

6 DynamoDB կարգավորում + Կանոններ

7 Ակնկալվող արդյունքը

8 կոդ (Pastebin- ից)

9 հղումներ

Ակնարկ

Բարի գալուստ: Այս Raspberry Pi նախագիծը «խելացի տուն» կառավարման համակարգ է ՝ անվտանգության որոշակի հնարավորություններով: Նախագիծը կարող է չափել տարբեր արժեքներ, ինչպիսիք են ջերմաստիճանը և լույսը: Անվտանգության բաժինը բաղկացած է Buzzer- ից, քարտերի սկաների համակարգից (թույլատրում է քարտը), ներքին և արտաքին տեսախցիկից, ինչպես նաև SMS ահազանգման համակարգից: Հետևյալ հրահանգները կներառեն ամբողջ նախագծի կառուցվածքը:

Հիմնականում մենք ունենք լուսադիոդային դիմադրություն և DHT11 տվիչ ՝ ջերմաստիճանը և լուսային արժեքները ստանալու համար: Այնուհետև արժեքները կհրապարակվեն «խելացի սենյակ/սենսորներ/արժեքներ» բաժնում, և կլինի բաժանորդագրություն թեմային ՝ ստուգելու համար, թե արդյոք արժեքները հրապարակվում են: Երբ արժեքները հրապարակվեն, արժեքները նույնպես կուղարկվեն մեր DynamoDB աղյուսակին: DynamoDB- ի ներսում պահվող արժեքները կարող են հանվել և գծագրվել գրաֆիկի մեջ, որը ցույց է տալիս իրական ժամանակի արժեքները մեր վեբ ինտերֆեյսում: (Լույսի գրաֆիկ) Վերլուծության նպատակով մեր գրաֆիկը գծելու համար սենսորներ օգտագործելուց բացի, մեր dht11 սենսորը օգտագործվում է նաև որպես պոտենցիալ «կրակի» դետեկտոր: Երբ այն հարվածի որոշակի ջերմաստիճանի, որը կարող է կրակ լինել, մենք ունենք scriptHehat.py անունով սցենար, որը կհրապարակի ջերմաստիճանը «խելացի սենյակ/սենսոր/կրակ» թեմայի վրա, այնուհետև բաժանորդագրվելու է դրան բնակարանի արտաքին հատվածը խորհրդանշող տախտակը: թեմա և LED լուսարձակում նշեք, որ հնարավոր է հրդեհ լինի: Theարթուցիչը նույնպես կանչի, ինչպես նաև SMS ՝ տան սեփականատիրոջը զգուշացնելու համար, երբ հնարավոր է հրդեհ լինի:

Տուն/սենյակ մուտք գործելու համար օգտվողը պետք է հպի իր քարտին RFID սկաների վրա: Եթե գաղտնալսված քարտը սխալ է, ահազանգը կհնչի այնքան ժամանակ, քանի դեռ չեն դիպչել համապատասխան հավատարմագրերով քարտին: Բացի այդ, երբ սխալ քարտը գաղտնալսվում է, դրսից տեղադրված տեսախցիկը լուսանկարելու է այն օգտվողին, ով թակել է քարտը և նկարը վերբեռնել S3 դույլի մեջ: Տան սեփականատերը կստանա նաև SMS հաղորդագրություն այն մասին, որ ինչ -որ մեկը փորձել է մտնել իր տուն: Սենյակում կա նաև LED ցուցիչ ՝ դրոշմելու դեպքում, եթե դուռը կողպված է/կողպված: Երբ դուռը կողպված է, դեղին LED լուսավորված է: Ապակողպված վիճակում կանաչ լուսադիոդը կվառվի: Երբ թույլտվության քարտը թակել են, դուռը կբացվի 15 վայրկյան, և կանաչ լուսավորված LED- ով վառված, այնուհետև կվերադառնա ապակողպված ռեժիմ `դեղին LED լուսավորված:

Օգտագործողները կարող են դիտել Node-Red- ի վահանակի միջոցով հավաքված տվյալները, որոնք ցույց են տալիս ընթացիկ չափման արժեքները, բացի չափիչի և պատմական գրաֆիկի գրաֆիկական ներկայացումից: Գործիքային վահանակը ներառում է նաև լրացուցիչ հնարավորություններ, ինչպիսիք են ժամացույցը, որը ցուցադրում է ընթացիկ տվյալներն ու ժամանակը և միանում է տարբեր էլեկտրական սարքերի հեռակա կառավարման համար, որոնք ներկայացված են որպես LED և ազդանշան:

Վերջապես, մենք ունենք նաև հեռագրի բոտի գործառույթ: Հեռագրի բոտը կարող է հեռակա կարգով լուսանկարել այն ամենը, ինչ տեղի է ունենում սենյակի ներսում և պահել այն S3 դույլի մեջ: Այս նկարները կպիտակավորվեն «Homed/User» անունով թղթապանակի ներսում: Հեռագրի բոտը կկարողանա հեռակա կարգով վերահսկել նաև LED լուսավորությունը սենյակում:

Քայլ 1: Սարքավորման պահանջներ + կարգավորում

Սարքավորման պահանջներ + կարգավորում
Սարքավորման պահանջներ + կարգավորում
Սարքավորման պահանջներ + կարգավորում
Սարքավորման պահանջներ + կարգավորում

Հետևեք հետևյալ բաղադրիչներին ձեր 2 ազնվամորու պիսով, ինչպես ցույց է տրված վերևում ցրտաշունչ դիագրամներում:

2 x Ազնվամորի Պի

3 x Breadboard

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 կոճակ

1 x Buzzer

34 x Արականից արական մալուխներ

11 x Արականից իգական մալուխներ

Քայլ 2: Softwareրագրային ապահովման պահանջներ + կարգավորում

Softwareրագրային ապահովման պահանջներ + կարգավորում
Softwareրագրային ապահովման պահանջներ + կարգավորում
Softwareրագրային ապահովման պահանջներ + կարգավորում
Softwareրագրային ապահովման պահանջներ + կարգավորում
Softwareրագրային ապահովման պահանջներ + կարգավորում
Softwareրագրային ապահովման պահանջներ + կարգավորում

Մուտքագրեք հետևյալ հրամանները ձեր ազնվամորի pi տերմինալի մեջ `ապահովելու համար, որ դրանք տեղադրված են:

Եթե ստորև նշված ծրագրերից որևէ մեկն արդեն ներբեռնված է ձեր pi- ում, sudo pip install (nameրագրակազմի անվանումը) -upgrade- ը կկատարի այն թարմացնելու հնարքը:

- sudo pip install gevent

- sudo pip տեղադրման շիշ

- sudo pip տեղադրել nexmo

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

-sudo pip- ի տեղադրում AWSIoTPythonSDK-արդիականացում-disable-pip-version-check

-sudo pip տեղադրում -upgrade pip

-sudo apt-get տեղադրել python-dev

- sudo pip տեղադրել boto3

- sudo pip տեղադրել botocore

- sudo pip install numpy

- cd

git կլոն

cd ~/SPI-Py

sudo python setup.py տեղադրել »

- cd

git կլոն

cd ~/MFRC522-python

sudo python setup.py տեղադրել »

- sudo nano /boot/config.txt, ստուգեք, արդյոք տողերը device_tree_param = spi = on

dtoverlay = spi-bcm2835 ներսում են, այլապես ավելացրեք:

Քայլ 3: Իրերի գրանցում

Բանի գրանցում
Բանի գրանցում
Բանի գրանցում
Բանի գրանցում
Բանի գրանցում
Բանի գրանցում
Բանի գրանցում
Բանի գրանցում

ա) Նախ, նավարկեք դեպի IoT Core AWS կայքէջում ՝ կտտացնելով ծառայություններին, այնուհետև IoT Core- ին:

բ) Կառավարման տակ գտնվող նավարկության բարում ընտրեք իրեր և ընտրեք գրանցել իրը:

գ) Ընտրեք Ստեղծել մեկ բան:

դ) Մուտքագրեք ձեր բանի անունը, օրինակ ՝ MyRaspberryPi2: Մնացած դաշտերը թողեք իրենց կանխադրված արժեքներով: Կտտացրեք հաջորդը ՝ էջի ներքևում:

ե) Կտտացրեք ստեղծել վկայագիր: Ներբեռնեք բոլոր չորս ֆայլերը: Արմատական CA ֆայլի համար ներբեռնեք Amazon Root CA 1 և պահեք այն նոթատետրում:

զ) Ավարտելուց հետո չորս ֆայլերը տեղափոխեք ազնվամորի pi- ի գրացուցակում:

է) Կտտացրեք ակտիվացնել:

ը) Կցել քաղաքականության վրա սեղմելուց հետո ձեզ կբերեն հետևյալ էջ: Կտտացրեք գրանցել բանին, քաղաքականությունը կստեղծվի ավելի ուշ:

i) iot վահանակի վրա անցեք ապահով բաժնի ներքո գտնվող քաղաքականություններին: Կտտացրեք ստեղծել քաղաքականություն:

ժ) Մուտքագրեք ձեր քաղաքականության անվանումը, այս օրինակի համար այն լինելու է MyRaspberryPiSecurityPolicy և բանալին ՝ ներքևում ՝ Ավելացնել հայտարարություններ: Այնուհետև կտտացրեք Ստեղծել.

ժա) iot վահանակի վրա անցեք դեպի հավաստագրեր ապահով բաժնի ներքո: Ընտրեք նախկինում ստեղծված սերտիֆիկատը և գործողությունների բացվող պատուհանից կտտացրեք կցել քաղաքականությանը: Կցեք նախկինում ստեղծված քաղաքականությունը:

ժբ) Կրկին ընտրեք նախկինում ստեղծված վկայագիրը և կտտացրեք կցել իրը: Կցեք նախկինում ստեղծված քաղաքականությունը: Կցեք նախկինում ստեղծված իրը:

Քայլ 4: S3 շերեփ ստեղծելը

S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը
S3 դույլ ստեղծելը

ա) Մենք կսկսենք օգտագործել AWS կառավարման վահանակում որոնման գործառույթը և որոնել «s3»:

բ) Կտտացրեք Ստեղծեք դույլ:

գ) Մուտքագրեք դույլի անունը: Այս օրինակի համար մենք կօգտագործենք «sp-p1703263» անունը: Մենք կընտրենք «US EAST (N. VIRGINIA)» տարածաշրջանը, որը us-east-1 է: Դա անելուց հետո կտտացրեք Ստեղծել.

դ) Ստեղծված նոր դույլը կհայտնվի վահանակում:

Քայլ 5: Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ

Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ
Ստեղծեք DynamoDB աղյուսակ և սահմանեք կանոններ

ա) Նախ, նավարկեք դեպի AWS ծառայություններ ՝ կտտացնելով դրա վրա

ծառայություններ, այնուհետև DynamoDB: Կտտացրեք Ստեղծեք աղյուսակ:

բ) Մուտքագրեք «iotdata» աղյուսակի անունը և առաջնային բանալին «deviceid» ՝ տեսակավորման ստեղնով ՝ «datetimeid», այնուհետև էջի ներքևում կտտացրեք «Ստեղծել»:

գ) Դրանից հետո վերադառնալ դեպի IoT հիմնական էջ: Կտտացրեք Գործել, այնուհետև կտտացրեք ստեղծել նոր կանոն:

դ) Ստեղծեք «MyDynamoDBRule» անունով կանոն: Կանոնի հարցման հայտարարության թեմայի ներքո մուտքագրեք «տվիչներ/լույս»:

ե) Սահմանել մեկ կամ մի քանի գործողություններ բաժնում, կտտացրեք ավելացնել գործողություն, կտտացրեք «հաղորդագրությունը բաժանել տվյալների բազայի աղյուսակի բազմաթիվ սյուների»: Կտտացրեք կազմաձևել գործողությունը: Աղյուսակի անվան տակ ընտրեք iotdata- ն: IAM դերի անվան ներքո ընտրեք ձեր ստեղծած դերը, որը «dynamodb_role» է: Կտտացրեք ավելացնել գործողություն, այնուհետև ստեղծեք կանոն:

զ) Կտտացրեք ստեղծել կանոն.

Քայլ 6: Ակնկալվող արդյունք

Ակնկալվող արդյունք
Ակնկալվող արդյունք
Ակնկալվող արդյունք
Ակնկալվող արդյունք

Բացօթյա

սենյակի արտաքին տեսքը ներկայացնող pi- ի համար գործարկվելու են heatdetector.py և AccessDoor.py սցենարները: Եթե սխալ քարտը հպվի RFID սկաների վրա, ահազանգը կանչի, և դեղին LED լույսը դեռ վառվի: SMS- ը կուղարկվի տան տիրոջ հեռախոսին `հնարավոր ներխուժման մասին տեղեկացնելու համար: Ահազանգը նույնպես կհնչի: Նկարը նույնպես կարվի և անմիջապես կբեռնվի S3 Bucket- ում: Եթե հպված քարտը լիազորված է, կանաչ LED լուսավորվում է, և օգտվողը կարող է մտնել: 15 վայրկյան անց դուռը նորից կողպված կլինի (Կանաչ LED- ն կանջատվի, և դեղին LED լուսավորվի): Եթե սենյակի/տան ներսում ջերմաստիճանը չափազանց բարձր է դառնում (այն ջերմաստիճանի դեպքում, որը մենք համարում ենք, որ տունը/սենյակը հնարավոր է այրվի), մենք SMS հաղորդագրություն կուղարկենք տան տիրոջը: Alaարթուցիչը նույնպես կհնչի ՝ կարմիր լուսադիոդային լուսավորությամբ:

Ներքին

սենյակի ներսը ներկայացնող pi- ի համար սցենարները կգործարկվեն publishedHeat.py, server.py, pubsub.py, telegrambot.py: Pubsub.py- ն իրական ժամանակի արժեքները կպահի DynamoDB- ում: server.py- ն գործարկելիս մուտքագրեք rpi- ի IP հասցեն ՝ 5000 զննարկիչում, ձեզ կուղղորդեն դեպի մեր վեբ ինտերֆեյսը: Մենք ունենք գրաֆիկ, որը ցուցադրում է մեր սենսորներից ստացված իրական ժամանակի լուսային արժեքները pubsub.py- ում DynamoDB- ում: Բացի այդ, պատմական լուսային արժեքները կցուցադրվեն նաև մեր վեբ ինտերֆեյսում: publishedHeat.py- ն կհրապարակի բացօթյա տախտակի ջերմաստիճանի արժեքները հրդեհային սենսորի նպատակներով: telegrambot.py- ն հնարավորություն կտա օգտվողին հեռակա կարգով վերահսկել սենյակում/տանը LED լույսի միացումը/անջատումը, ինչպես նաև լուսանկարել այն, ինչ կատարվում է ներսում և նկարը վերբեռնել S3 դույլի մեջ:

Ավելի լավ պատկերացնելու համար, թե ինչպիսին է լինելու ակնկալվող արդյունքը ՝

Քայլ 7: Աղբյուրի կոդեր (Pastebin)

Աղբյուրի կոդեր (Pastebin)
Աղբյուրի կոդեր (Pastebin)

Կտտացրեք հղմանը: Բաղկացած է բոլոր անհրաժեշտ աղբյուրների կոդերից ՝

Քայլ 8: Հղումներ

Հղումներ
Հղումներ

Iotguider: (2019): SMS ուղարկեք Raspberry Pi- ից Python- ի միջոցով: [առցանց] Հասանելի է ՝ https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [հասանելի է 21.08.2019 թ.]:

Խորհուրդ ենք տալիս: