Სარჩევი:

IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი: 8 ნაბიჯი
IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი: 8 ნაბიჯი

ვიდეო: IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი: 8 ნაბიჯი

ვიდეო: IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი: 8 ნაბიჯი
ვიდეო: ვარსკვლავური გალაქტიკების ჭკვიანი WiFi პროექტორი ლაზერით და მსუბუქი მუსიკით TUYA SMART 2024, ივლისი
Anonim
IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი
IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი
IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი
IOT CA2 უსაფრთხო ჭკვიანი სახლი/ოთახი

Სარჩევი

1 Smart Secure Home– ის მიმოხილვა

2 ტექნიკის მოთხოვნები + დაყენება

3 პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება

4 დაარეგისტრირეთ ჟოლო როგორც ნივთი

5 შექმენით S3 Bucket

6 DynamoDB დაყენება + წესები

7 მოსალოდნელი შედეგი

8 კოდი (პასტინიდან)

9 მითითება

მიმოხილვა

მოგესალმებით! ეს Raspberry Pi პროექტი არის "ჭკვიანი სახლის" მართვის სისტემა, უსაფრთხოების გარკვეული მახასიათებლებით. პროექტს შეუძლია გაზომოს სხვადასხვა მნიშვნელობა, როგორიცაა ტემპერატურა და სინათლე. უსაფრთხოების განყოფილება შედგება ბუზერისგან, ბარათების სკანერის სისტემისგან (ავტორიზირებს ბარათს), შიდა და გარე კამერისგან, ასევე SMS შეტყობინებების სისტემისგან. ქვემოთ მოცემული ინსტრუქციები მოიცავს მთელი პროექტის სტრუქტურას.

ძირითადად, ჩვენ გვაქვს სინათლის დიოდური რეზისტორი და DHT11 სენსორი ტემპერატურის და სინათლის მნიშვნელობების მისაღებად. ღირებულებები შემდეგ გამოქვეყნდება "ჭკვიანი ოთახის/სენსორების/ღირებულებებისათვის" და იქნება გამოწერა თემაზე, რათა შეამოწმოს გამოქვეყნდება თუ არა ღირებულებები. ღირებულებების გამოქვეყნების შემდეგ, ღირებულებები ასევე გაიგზავნება ჩვენს DynamoDB ცხრილში. DynamoDB- ში შენახული ღირებულებები შეიძლება ამოღებულ იქნეს გრაფიკულად, რომელიც აჩვენებს რეალურ დროში ღირებულებებს ჩვენს ვებ ინტერფეისში. (მსუბუქი გრაფიკი) გარდა იმისა, რომ სენსორები ვიყენებთ მნიშვნელობებს ჩვენი გრაფიკის ანალიზის მიზნით, ჩვენი dht11 სენსორი ასევე გამოიყენება როგორც პოტენციური "ცეცხლის" დეტექტორი. როდესაც ის შეაღწევს გარკვეულ ტემპერატურას, რომელიც შეიძლება ხანძარი იყოს, ჩვენ გვაქვს სკრიპტი, სახელწოდებით "PublishHeat.py", რომელიც გამოაქვეყნებს ტემპერატურას თემაზე "ჭკვიანი ოთახი/სენსორი/ცეცხლი". თემა და აანთეთ LED ნათურა იმის მითითებით, რომ შესაძლოა იყოს ხანძარი. მაღვიძარა ასევე დაიძვრება, ასევე SMS, რომ გააფრთხილოს სახლის მეპატრონე, როდესაც შესაძლოა იყოს ხანძარი.

სახლში/ოთახში შესასვლელად მომხმარებელს მოუწევს თავისი ბარათის შეხება RFID სკანერთან. თუ დაჭერილი ბარათი არასწორია, განგაში იქნება მანამ, სანამ არ შეირჩევა შესაბამისი რწმუნებათა სიგელის მქონე ბარათი. გარდა ამისა, როდესაც არასწორი ბარათი იჭრება, გარე სათვალთვალო კამერა გადაიღებს იმ მომხმარებელს, რომელმაც დააჭირა ბარათი და ატვირთავს სურათს S3 ვედროში. სახლის მეპატრონე ასევე მიიღებს SMS- ს, რომელშიც ნათქვამია, რომ ვიღაცამ სცადა მის სახლში შესვლა. ოთახს ასევე აქვს LED ინდიკატორი გარედან წარწერისთვის, თუ კარი გახსნილია/დაკეტილია. როდესაც კარი დაკეტილია, ყვითელი LED ნათდება. როდესაც განბლოკილია, მწვანე LED ანათებს. როდესაც უფლებამოსილი ბარათი ირეკლება, კარი გაიხსნება 15 წამის განმავლობაში და მწვანე LED- ით განათებული კვლავ დაბრუნდება განბლოკილ რეჟიმში ყვითელი LED განათებით.

მომხმარებლებს შეუძლიათ დაათვალიერონ მონაცემთა შეგროვება Dashboard-Red– ის საშუალებით, რომელიც აჩვენებს მიმდინარე გაზომვის მნიშვნელობებს, აგრეთვე ლიანდაგისა და ისტორიული გრაფიკის გრაფიკული წარმოდგენის გარდა. საინფორმაციო დაფა ასევე მოიცავს დამატებით ფუნქციებს, როგორიცაა საათი, რომელიც აჩვენებს მიმდინარე მონაცემებს და დროს და გადადის დისტანციური მართვის სხვადასხვა ელექტრო მოწყობილობებზე, რომლებიც წარმოდგენილია როგორც LED- ები და ზუზუნი.

და ბოლოს, ჩვენ ასევე გვაქვს ტელეგრამის ბოტის ფუნქცია. დეპეშის ბოტს შეუძლია დისტანციურად გადაიღოს ყველაფერი რაც ხდება ოთახში და შეინახოს იგი S3 ვედროში. ამ სურათებს ეტიკეტირებული ექნება საქაღალდე „ჰომედი/მომხმარებელი“ტელეგრამის ბოტს შეეძლება დისტანციურად გააკონტროლოს LED შუქი ოთახშიც.

ნაბიჯი 1: აპარატურის მოთხოვნები + დაყენება

აპარატურის მოთხოვნები + დაყენება
აპარატურის მოთხოვნები + დაყენება
აპარატურის მოთხოვნები + დაყენება
აპარატურის მოთხოვნები + დაყენება

შეაერთეთ შემდეგი კომპონენტები თქვენს 2 ჟოლოს პისთან, როგორც ეს ნაჩვენებია ზემოთ მოციმციმე დიაგრამებში.

2 x ჟოლო პი

3 x პურის დაფა

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: პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება

პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება
პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება
პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება
პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება
პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება
პროგრამული უზრუნველყოფის მოთხოვნები + დაყენება

ჩაწერეთ შემდეგი ბრძანებები თქვენს ჟოლოს პი ტერმინალში, რათა დარწმუნდეთ რომ ისინი დაინსტალირებულია.

თუ რომელიმე ქვემოთ ჩამოთვლილი პროგრამული უზრუნველყოფა უკვე გადმოწერილია თქვენს პიში, sudo pip install (პროგრამული უზრუნველყოფის სახელი) -განახლება ხელს შეუწყობს მის განახლებას.

- sudo pip install gevent

- sudo pip ინსტალაციის კოლბა

- sudo pip install nexmo

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

-sudo pip დააინსტალირეთ AWSIoTPythonSDK-განახლება-გამორთვა-პიპი-ვერსიის შემოწმება

-sudo pip install -განაახლეთ 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 install"

- cd

git კლონი

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, შეამოწმეთ ხაზები device_tree_param = spi = ჩართულია

dtoverlay = spi-bcm2835 არის შიგნით, სხვა დაამატეთ.

ნაბიჯი 3: საგნის რეგისტრაცია

ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია
ნივთის რეგისტრაცია

ა) ჯერ გადადით IoT Core– ში AWS ვებსაიტზე, სერვისებზე დაწკაპუნებით, შემდეგ IoT Core.

ბ) ნავიგაციის ზოლში მართვის ქვეშ შეარჩიეთ საგნები და შეარჩიეთ ნივთის რეგისტრაცია.

გ) აირჩიეთ შექმნა ერთი რამ.

დ) შეიყვანეთ სახელი თქვენი ნივთისთვის, მაგალითად, MyRaspberryPi2. დანარჩენი ველები დატოვეთ ნაგულისხმევი მნიშვნელობებით. დააწკაპუნეთ შემდეგზე გვერდის ბოლოში.

ე) დააწკაპუნეთ სერტიფიკატის შექმნაზე. ჩამოტვირთეთ ოთხივე ფაილი. ძირეული CA ფაილისთვის გადმოწერეთ Amazon Root CA 1 და შეინახეთ ნოუთბუქში.

ვ) დასრულების შემდეგ, გადაიტანეთ ოთხი ფაილი ჟოლოს პი დირექტორიაში.

ზ) დააწკაპუნეთ გააქტიურებაზე.

თ) მიმაგრების პოლიტიკაზე დაწკაპუნების შემდეგ მიგიყვანთ შემდეგ გვერდზე. დააწკაპუნეთ რეგისტრაციაზე, პოლიტიკა შეიქმნება მოგვიანებით.

ი) iot საინფორმაციო დაფაზე, გადადით პოლიტიკაში უსაფრთხო ნაწილის ქვეშ. დააწკაპუნეთ პოლიტიკის შექმნაზე.

კ) შეიყვანეთ სახელი თქვენი პოლიტიკისათვის, ამ მაგალითისთვის ეს იქნება MyRaspberryPiSecurityPolicy და გასაღები შემდეგში განცხადებების დამატება. შემდეგ დააჭირეთ შექმნას.

ლ) iot დაფაზე, გადადით სერტიფიკატებზე უსაფრთხო განყოფილების ქვეშ. შეარჩიეთ ადრე შექმნილი სერთიფიკატი და დააწკაპუნეთ მიმაგრებული პოლიტიკა ქმედებების ჩამოსაშლელ სიაში. მიამაგრეთ ადრე შექმნილი პოლიტიკა.

მ) კვლავ შეარჩიეთ სერთიფიკატი, რომელიც ადრე შექმენით და დააწკაპუნეთ ნივთზე მიმაგრებაზე. მიამაგრეთ თქვენ მიერ ადრე შექმნილი პოლიტიკა. მიამაგრეთ ის, რაც ადრე შექმენით.

ნაბიჯი 4: S3 Bucket– ის შექმნა

S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა
S3 თაიგულის შექმნა

ა) ჩვენ დავიწყებთ AWS მართვის კონსოლში საძიებო ფუნქციის გამოყენებით და "s3" - ის ძიებას.

ბ) დააწკაპუნეთ ღილაკის შექმნაზე.

გ) ჩაწერეთ სახელი ვედროზე. ამ მაგალითისთვის ჩვენ ვიყენებთ სახელს "sp-p1703263". ჩვენ ვირჩევთ რეგიონს "აშშ აღმოსავლეთი (N. VIRGINIA)", რომელიც არის us-east-1. ამის დასრულების შემდეგ დააჭირეთ ღილაკს შექმნა.

დ) ახალი შექმნილი ვედრო გამოჩნდება საინფორმაციო დაფაზე.

ნაბიჯი 5: შექმენით DynamoDB მაგიდა და დაადგინეთ წესები

DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა
DynamoDB ცხრილის შექმნა და წესების დადგენა

ა) პირველი, გადადით AWS სერვისებზე დაჭერით

მომსახურება, შემდეგ DynamoDB. დააწკაპუნეთ ცხრილის შექმნაზე.

ბ) შეიყვანეთ ცხრილის სახელი „iotdata“და ძირითადი გასაღები „deviceid“დახარისხების ღილაკით „datetimeid“, შემდეგ დააჭირეთ გვერდის ბოლოში შექმნას.

გ) ამის შემდეგ გადადით IoT Core გვერდზე. დააწკაპუნეთ აქტი, შემდეგ დააწკაპუნეთ ახალი წესის შექმნაზე.

დ) შექმენით წესი სახელწოდებით "MyDynamoDBRule". წესების შეკითხვის განცხადების თემის ქვეშ შეიყვანეთ "სენსორები/სინათლე".

ე) ერთი ან მეტი მოქმედების განყოფილების დაყენების შემთხვევაში, დააწკაპუნეთ მოქმედების დამატებაზე, დააწკაპუნეთ „გაგზავნეთ შეტყობინება მონაცემთა ბაზის ცხრილის მრავალ სვეტად“. დააწკაპუნეთ მოქმედების კონფიგურაციაზე. ცხრილის სახელის ქვეშ შეარჩიეთ iotdata. IAM როლის სახელის ქვეშ შეარჩიეთ თქვენ მიერ შექმნილი როლი, რომელიც არის "dynamodb_role". დააწკაპუნეთ მოქმედების დამატებაზე, შემდეგ შექმენით წესი.

ვ) დააწკაპუნეთ შექმნის წესზე.

ნაბიჯი 6: მოსალოდნელი შედეგი

Მოსალოდნელი შედეგი
Მოსალოდნელი შედეგი
Მოსალოდნელი შედეგი
Მოსალოდნელი შედეგი

გარე

pi- სთვის, რომელიც წარმოადგენს გარე ოთახს, გაშვებული იქნება სკრიპტები heatdetector.py და AccessDoor.py. თუ არასწორი ბარათი შეეჯახება RFID სკანერს, მაღვიძარა ითიშება, ყვითელი LED შუქი კვლავ ანათებს. სახლის მფლობელის ტელეფონზე გაგზავნილი იქნება SMS შეტყობინება შესაძლო შეჭრის შესახებ. მაღვიძარაც იქნება. სურათი ასევე გადაღებული იქნება და მყისიერად აიტვირთება S3 Bucket– ში. თუ ბარათზე შეხება არის ავტორიზებული, მწვანე LED ანათებს და მომხმარებელს შეუძლია შევიდეს. კარი კვლავ ჩაკეტილი იქნება 15 წამის შემდეგ (მწვანე LED გამორთულია და ყვითელი LED კვლავ ანათებს). თუ ოთახში/სახლში ტემპერატურა ძალიან მაღალია (იმ ტემპერატურაზე, რომელსაც ჩვენ ვთვლით, რომ სახლი/ოთახი პოტენციურად იწვის), ჩვენ გავაგზავნით SMS შეტყობინებას სახლის მფლობელს. სიგნალიზაცია ასევე იქნება წითელი LED გარე განათებით.

შიდა

pi- სთვის, რომელიც წარმოადგენს ოთახის ოთახს, სკრიპტები გაშვებული იქნება: Pubsub.py შეინახავს რეალურ დროში არსებულ მნიშვნელობებს DynamoDB- ში. როდესაც server.py გაშვებულია, ჩაწერეთ rpi– ს IP მისამართი: 5000 ბრაუზერში, თქვენ მიმართული იქნებით ჩვენს ვებ ინტერფეისზე. ჩვენ გვაქვს გრაფიკი, რომელიც აჩვენებს რეალურ დროში სინათლის მნიშვნელობებს ჩვენი სენსორებისგან pubsub.py– ში DynamoDB– ში. გარდა ამისა, ისტორიული სინათლის მნიშვნელობები ასევე გამოჩნდება ჩვენს ვებ ინტერფეისში. publishedHeat.py გამოაქვეყნებს ტემპერატურის მნიშვნელობებს გარე დაფაზე ცეცხლის სენსორის მიზნებისათვის. telegrambot.py საშუალებას მისცემს მომხმარებელს დისტანციურად გააკონტროლოს LED შუქის ჩართვა/გამორთვა ოთახში/სახლში, ასევე გადაიღოს სურათი რა ხდება შიგნით და ატვირთოს სურათი S3 ვედროში.

უკეთესი ვიზუალიზაციისთვის, თუ როგორ უნდა გამოიყურებოდეს მოსალოდნელი შედეგი:

ნაბიჯი 7: წყაროს კოდები (ჩასმა)

წყაროს კოდები (Pastebin)
წყაროს კოდები (Pastebin)

დააწკაპუნეთ ბმულზე. შედგება ყველა საჭირო კოდისგან:

ნაბიჯი 8: მითითებები

ცნობები
ცნობები

იოტგაიდერი. (2019). გაგზავნეთ SMS Raspberry Pi– დან პითონის გამოყენებით. [ონლაინ] ხელმისაწვდომია: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [შემოწმებულია 21 აგვისტო 2019].

გირჩევთ: