INHOUDSOPGAWE:

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

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

Video: IOT CA2 Secure Smart Home/Room: 8 stappe
Video: Top 10 Cheap Smart Home Device 2024, November
Anonim
IOT CA2 Veilige slimhuis/kamer
IOT CA2 Veilige slimhuis/kamer
IOT CA2 Veilige slimhuis/kamer
IOT CA2 Veilige slimhuis/kamer

INHOUDSOPGAWE

1 Oorsig van Smart Secure Home

2 Hardewarevereistes + Opstelling

3 Sagtewarevereistes + Opstelling

4 Registreer raspberrypi as 'n ding

5 Skep 'n S3 -emmer

6 DynamoDB -opstelling + reëls

7 Verwagte uitkoms

8 kodes (uit Pastebin)

9 Verwysings

Oorsig

Welkom! Hierdie Raspberry Pi -projek is 'n 'smart home' bestuurstelsel met sekere beveiligingsfunksies. Die projek kan verskillende waardes soos temperatuur en lig meet. Die sekuriteitsafdeling bestaan uit 'n gonser, 'n kaartskandeerstelsel (magtigingskaart), 'n binne- en buitekamera, sowel as 'n SMS -waarskuwingstelsel. Die volgende instruksies dek die opstel van die hele projek.

Eintlik het ons 'n ligdiodeweerstand en 'n DHT11 -sensor om die temperatuur sowel as ligwaardes te kry. Die waardes sal dan gepubliseer word in 'smartroom/sensors/values' en daar sal 'n intekening op die onderwerp wees om te kyk of die waardes gepubliseer word. Sodra waardes gepubliseer is, word die waardes ook na ons DynamoDB -tabel gestuur. Die waardes wat in DynamoDB gestoor is, kan onttrek word en in 'n grafiek uitgebeeld word wat reële tydwaardes in ons webkoppelvlak vertoon. (Ligte grafiek) Behalwe dat ons die sensors gebruik om waardes te gebruik om ons grafiek vir ontledingsdoeleindes te teken, word ons dht11 -sensor ook gebruik as 'n moontlike 'brand' -detektor. As dit 'n sekere temperatuur bereik, wat 'n brand kan wees, het ons 'n draaiboek met die naam publishHeat.py wat die temperatuur publiseer in 'n onderwerp 'smartroom/sensor/fire', waarop die broodbord wat die buitekant van die woonstel simboliseer, daarop inskryf onderwerp en laat 'n LED -lampie brand om aan te dui dat daar moontlik 'n brand kan wees. Die alarm gaan ook af, sowel as 'n SMS om die huiseienaar te waarsku as daar 'n moontlike brand kan wees.

Om die huis/kamer binne te gaan, moet die gebruiker op die kaart by die RFID -skandeerder tik. As die getikte kaart verkeerd is, sal die alarm lui totdat 'n kaart met die regte geloofsbriewe getik word. As u ook op 'n verkeerde kaart tik, neem die buitekamera buite 'n foto van die gebruiker wat op die kaart getik het en laai die prentjie op na die S3 -emmer. Die huiseienaar sal ook 'n SMS ontvang wat sê dat iemand probeer het om by sy/haar huis in te kom. Die kamer het ook 'n LED -aanwyser buite om te merk of die deur oopgesluit/gesluit is. As die deur gesluit is, brand die geel LED. As dit oopgemaak word, brand die groen LED. As u op 'n gemagtigde kaart tik, word die deur vir 15 sekondes oopgesluit en met die groen LED aan, dan weer in die ontsluitmodus met die geel LED aan.

Gebruikers kan die data wat ingesamel is, besigtig via 'n Dashboard in Node-Red wat die huidige meetwaardes toon, benewens 'n grafiese voorstelling van 'n meter en 'n historiese grafiek. Die dashboard bevat ook bykomende funksies, soos 'n horlosie wat die huidige data en tyd wys en skakel om verskillende elektriese toestelle op afstand te beheer, wat verteenwoordig word as LED's en 'n zoemer.

Laastens het ons ook 'n telegram bot -funksie. Die telegrambot kan op afstand foto's neem van alles wat in die kamer gebeur en dit in die S3 -emmer berg. Hierdie foto's sal in 'n gids met die naam 'Homed/User' gemerk wees. Die telegrambot kan ook die LED -lig in die kamer op afstand beheer.

Stap 1: Hardewarevereistes + Opstelling

Hardewarevereistes + opstelling
Hardewarevereistes + opstelling
Hardewarevereistes + opstelling
Hardewarevereistes + opstelling

Verbind die volgende komponente met u 2 framboospis soos in die fritzdiagramme hierbo getoon.

2 x Framboos Pi

3 x broodbord

1 x MCP3008 ADC

1 x DhT 11 -sensor

1 x LDR

1 x RFID/NFC MFRC522 kaartleser

4x LED

1 x LCD -skerm

3 x 10k weerstand

4 x 220/330 Weerstand

1 x knoppie

1 x gonser

34 x Kabels van man tot man

11 x Man -tot -vroulike kabels

Stap 2: Sagtewarevereistes + Opstelling

Sagtewarevereistes + opstelling
Sagtewarevereistes + opstelling
Sagtewarevereistes + opstelling
Sagtewarevereistes + opstelling
Sagtewarevereistes + opstelling
Sagtewarevereistes + opstelling

Tik die volgende opdragte in u framboos -pi -terminale om te verseker dat dit geïnstalleer is.

As een van die volgende sagteware reeds in u pi afgelaai is, sal sudo pip install (sagteware naam) -upgrade die opdatering doen.

- sudo pip installeer gevent

- sudo pip installeringskolf

- sudo pip installeer nexmo

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

-sudo pip installeer AWSIoTPythonSDK-opgradeer-disable-pip-version-check

-sudo pip install -upgrade pip

-sudo apt-get install python-dev

- sudo pip installeer boto3

- sudo pip installeer botocore

- sudo pip installeer numpy

- cd ~

git-kloon

cd ~/SPI-Py

sudo python setup.py installeer"

- cd ~

git-kloon

cd ~/MFRC522-luislang

sudo python setup.py installeer"

- sudo nano /boot/config.txt, kyk of lyne device_tree_param = spi = aan

dtoverlay = spi-bcm2835 is binne, voeg anders by.

Stap 3: Registreer 'n saak

'N Ding registreer
'N Ding registreer
'N Ding registreer
'N Ding registreer
'N Ding registreer
'N Ding registreer
'N Ding registreer
'N Ding registreer

a) Gaan eers na IoT Core op die AWS -webwerf deur op dienste te klik en dan op IoT Core.

b) Kies dinge in die navigasiebalk onder bestuur en kies 'n ding registreer.

c) Kies Skep 'n enkele ding.

d) Voer 'n naam vir u ding in, byvoorbeeld MyRaspberryPi2. Laat die res van die velde volgens hul standaardwaardes. Klik volgende onderaan die bladsy.

e) Klik op skep sertifikaat. Laai al vier lêers af. Laai die Amazon Root CA 1 vir die root CA -lêer af en stoor dit in 'n notaboek.

f) Skuif die vier lêers na 'n gids in raspberry pi.

g) Klik op aktiveer.

h) Nadat u op die aanhegbeleid geklik het, word u na die volgende bladsy gebring. Klik op registreer, beleid sal later geskep word.

i) Navigeer na die beleide onder die veilige afdeling op die iot -dashboard. Klik op skep 'n beleid.

j) Voer 'n naam vir u polis in; vir hierdie voorbeeld is dit MyRaspberryPiSecurityPolicy en voer die volgende in onder Voeg state in. Klik dan op Skep.

k) Navigeer op die iot -dashboard na die sertifikate onder 'n veilige afdeling. Kies die sertifikaat wat u voorheen geskep het, en klik op Heg beleid in die aftrekkieslys. Heg die beleid aan wat u voorheen geskep het.

l) Kies weer die sertifikaat wat u voorheen geskep het, en klik op die item heg. Heg die beleid aan wat u voorheen geskep het. Heg die ding wat u voorheen geskep het, aan.

Stap 4: Skep 'n S3 -emmer

Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer
Skep 'n S3 -emmer

a) Ons begin met die gebruik van die soekfunksie in die AWS -bestuurskonsole en soek na "s3".

b) Klik op die skepemmer.

c) Tik 'n naam vir die emmer in. Vir hierdie voorbeeld gebruik ons die naam "sp-p1703263". Ons kies die streek "VS-OOSTE (N. VIRGINIA)", wat ons-oos-1 is. Nadat dit gedoen is, klik op Skep.

d) Die nuwe emmer sal in die paneelbord verskyn.

Stap 5: Skep DynamoDB -tabel en stel reëls op

Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op
Skep DynamoDB -tabel en stel reëls op

a) Gaan eers na die AWS -bedienings deur op te klik

dienste, dan DynamoDB. Klik op die skep tabel.

b) Voer die tabelnaam "iotdata" en die primêre sleutel "deviceid" in met 'n sorteersleutel "datetimeid", en klik dan op skep onderaan die bladsy.

c) Gaan daarna terug na die IoT Core -bladsy. Klik op Wet en klik dan op die skep van 'n nuwe reël.

d) Skep 'n reël met die naam "MyDynamoDBRule". Voer 'sensors/lig' onder die onderwerp van die reëlnavraagverklaring in.

e) Klik in die afdeling Stel een of meer aksies op Voeg aksie by, klik op 'Verdeel boodskap in verskeie kolomme van 'n databasistabel'. Klik op konfigureer aksie. Kies die iotdata onder die tabelnaam. Kies onder IAM -rolnaam die rol wat u voorheen geskep het, "dynamodb_role". Klik op Voeg aksie by en skep dan reël.

f) Klik op die skepreël.

Stap 6: Verwagte uitkoms

Verwagte uitkoms
Verwagte uitkoms
Verwagte uitkoms
Verwagte uitkoms

Buitelug

vir die pi wat die buitekant van die kamer verteenwoordig, word die scripts heatdetector.py en AccessDoor.py uitgevoer. As 'n verkeerde kaart op die RFID -skandeerder tik, sal die alarm afgaan, terwyl die geel LED -lig steeds brand. 'N SMS sal na die huiseienaar se telefoon gestuur word om in kennis te stel van 'n moontlike inbraak. Daar sal ook 'n alarm wees. 'N Foto sal ook geneem word en onmiddellik in die S3 Bucket gelaai word. As die kaart wat getik word gemagtig is, sal die groen LED brand en kan die gebruiker ingaan. Die deur sal na 15 sekondes weer gesluit word (groen LED gaan af en geel LED brand weer). As die temperatuur in die kamer/huis te hoog word (na 'n temperatuur wat ons as 'n huis/kamer beskou wat moontlik brand), stuur ons 'n SMS -waarskuwing aan die huiseienaar. Daar sal ook 'n alarm wees as die rooi LED buite brand.

Binne

vir die pi wat die binnekant van die kamer verteenwoordig, word die skrifte publishHeat.py, server.py, pubsub.py, telegrambot.py uitgevoer. Pubsub.py sal die reële tydwaardes in DynamoDB stoor. As server.py uitgevoer word, tik die rpi se ip -adres: 5000 in die blaaier, word u na ons webkoppelvlak gestuur. Ons het 'n grafiek wat ligtyds in real -time uit ons sensors in pubsub.py na DynamoDB verkry. Daarbenewens sal historiese ligwaardes ook in ons webkoppelvlak vertoon word. publishHeat.py sal temperatuurwaardes aan die buitebroodplank publiseer vir doeleindes van vuursensors. telegrambot.py sal die gebruiker in staat stel om die aan/af van die LED -lig in die kamer/huis op afstand te beheer, asook om 'n foto te maak van wat binne gebeur en die prent in die S3 -emmer op te laai.

Vir 'n beter visualisering van hoe die verwagte uitkoms moet lyk:

Stap 7: Bronkodes (Pastebin)

Bronkodes (Pastebin)
Bronkodes (Pastebin)

Klik op die skakel. Bestaan uit alle nodige bronkodes:

Stap 8: Verwysings

Verwysings
Verwysings

Iotguider. (2019). Stuur SMS van Raspberry Pi met Python. [aanlyn] Beskikbaar by: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Besoek 21 Aug. 2019].

Aanbeveel: