Innholdsfortegnelse:

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

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

Video: IOT CA2 Secure Smart Home/Room: 8 trinn
Video: 8 Cool Smart Home Gadgets That "WORKS WITH ALEXA" 2024, Juli
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

Innholdsfortegnelse

1 Oversikt over Smart Secure Home

2 Maskinvarekrav + Oppsett

3 Programvarekrav + Oppsett

4 Registrer raspberrypi som en ting

5 Lag en S3 -bøtte

6 DynamoDB -oppsett + regler

7 Forventet utfall

8 koder (fra Pastebin)

9 Referanser

Oversikt

Velkommen! Dette Raspberry Pi -prosjektet er et "smart home" -styringssystem, med visse sikkerhetsfunksjoner. Prosjektet er i stand til å måle forskjellige verdier som temperatur og lys. Sikkerhetsdelen består av en summer, et kortskannersystem (autoriserer kort), et innendørs og utendørs kamera samt et SMS -varslingssystem. Følgende instruksjoner vil dekke oppsettet av hele prosjektet.

I utgangspunktet har vi en lysdiodemotstand og en DHT11 -sensor for å få både temperatur og lysverdier. Verdiene vil deretter bli publisert til ‘smartroom/sensorer/verdier’, og det vil være et abonnement på emnet for å sjekke om verdiene blir publisert. Når verdier er publisert, blir verdiene også sendt til DynamoDB -tabellen. Verdiene som er lagret inne i DynamoDB kan trekkes ut og plottes inn i en graf som viser sanntidsverdier i vårt webgrensesnitt. (Lysgraf) I tillegg til å bruke sensorene for å få verdier til å plotte grafen vår for analyseformål, brukes vår dht11 -sensor også som en potensiell "brann" -detektor. Når den treffer en viss temperatur som kan være brann, har vi et skript med navnet publishHeat.py som vil publisere temperaturen til emnet 'smartrom/sensor/brann', brødbrettet som symboliserer utsiden av leiligheten vil deretter abonnere på det emnet og ha et LED -lys opp for å indikere at det kan være en potensiell brann. Alarmen går også, samt en SMS for å varsle huseieren når det kan være en potensiell brann.

For å komme inn i hjemmet/rommet må brukeren trykke på kortet sitt på RFID -skanneren. Hvis det tappede kortet er feil, vil alarmen lyde til et kort med riktig legitimasjon er tappet. I tillegg, når et feil kort tappes, vil overvåkningskameraet utenfor ta et bilde av brukeren som tappet på kortet og laste opp bildet til S3 -bøtte. Huseieren vil også motta en SMS om at noen forsøkte å komme inn i hjemmet hans. Rommet har også en LED -indikator utenfor for å merke om døren er ulåst/låst. Når døren er låst, lyser den gule lysdioden. Når den er låst opp, lyser den grønne lysdioden. Når du trykker på et autorisert kort, blir døren låst opp i 15 sekunder, og med den grønne LED -lampen tent så går den tilbake til ulåst modus med den gule LED -lampen tent.

Brukere kan se dataene som er samlet inn via et dashbord i Node-Red som viser gjeldende måleverdier i tillegg til en grafisk fremstilling av en måler og en historisk graf. Dashbordet inneholder også tilleggsfunksjoner, for eksempel en klokke som viser gjeldende data og tid og bytter for å fjernstyre forskjellige elektriske apparater, som er representert som lysdioder og en summer.

Til slutt har vi også en telegram bot -funksjon. Telegramboten kan eksternt ta bilder av det som skjer inne i rommet og lagre det i S3 -bøtta. Disse bildene vil være merket med inne i en mappe med navnet “Hjem/bruker Telegramboten vil også kunne fjernstyre LED -lyset i rommet.

Trinn 1: Maskinvarekrav + Oppsett

Maskinvarekrav + Oppsett
Maskinvarekrav + Oppsett
Maskinvarekrav + Oppsett
Maskinvarekrav + Oppsett

Koble følgende komponenter med de 2 bringebærpisene dine som vist i fritzediagrammene ovenfor.

2 x bringebær Pi

3 x brødbrett

1 x MCP3008 ADC

1 x DhT 11 sensor

1 x LDR

1 x RFID/NFC MFRC522 kortleser

4 x LED

1 x LCD -skjerm

3 x 10k motstand

4 x 220/330 motstand

1 x knapp

1 x summer

34 x Mann til mann kabler

11 x Mann til hun kabler

Trinn 2: Programvarekrav + Oppsett

Programvarekrav + Oppsett
Programvarekrav + Oppsett
Programvarekrav + Oppsett
Programvarekrav + Oppsett
Programvarekrav + Oppsett
Programvarekrav + Oppsett

Skriv inn følgende kommandoer i din bringebær pi -terminal for å sikre at de er installert.

Hvis noen av følgende programvare allerede er lastet ned til din pi, vil sudo pip install (programvarenavn) -oppgradering gjøre kunsten å oppdatere den.

- sudo pip install gevent

- sudo pip installere kolbe

- sudo pip install nexmo

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

-sudo pip installere AWSIoTPythonSDK-oppgradere --disable-pip-versjonskontroll

-sudo pip install -oppgrader pip

-sudo apt-get install python-dev

- sudo pip installer boto3

- sudo pip installer botocore

- sudo pip install numpy

- cd ~

git-klon

cd ~/SPI-Py

sudo python setup.py installere"

- cd ~

git-klon

cd ~/MFRC522-python

sudo python setup.py installere"

- sudo nano /boot/config.txt, sjekk om linjer device_tree_param = spi = på

dtoverlay = spi-bcm2835 er inne, ellers legg til.

Trinn 3: Registrere en ting

Registrering av en ting
Registrering av en ting
Registrere en ting
Registrere en ting
Registrering av en ting
Registrering av en ting
Registrere en ting
Registrere en ting

a) Naviger først til IoT Core på AWS -nettstedet ved å klikke på tjenester, deretter IoT Core.

b) På navigasjonslinjen under administrer, velg ting og velg registrer en ting.

c) Velg Opprett en enkelt ting.

d) Skriv inn et navn på tingen din, for eksempel MyRaspberryPi2. La resten av feltene være standardverdier. Klikk på neste nederst på siden.

e) Klikk på opprett sertifikat. Last ned alle fire filene. For root CA -filen, last ned Amazon Root CA 1 og lagre den i en notisblokk.

f) Når du er ferdig, flytter du de fire filene til en katalog i bringebær pi.

g) Klikk på aktiver.

h) Etter å ha klikket på vedleggspolicy, vil du bli brakt til neste side. Klikk på registrer ting, politikken blir opprettet senere.

i) Naviger til retningslinjene under den sikre delen på iot -dashbordet. Klikk på opprett en policy.

j) Skriv inn et navn på retningslinjene dine. For dette eksempelet vil det være MyRaspberryPiSecurityPolicy og legge til følgende under Legg til uttalelser. Klikk deretter på Opprett.

k) Naviger til sertifikater under sikker seksjon på iot -dashbordet. Velg sertifikatet du opprettet tidligere, og klikk på vedlegg retningslinjer fra handlingsmenyen. Legg ved policyen du opprettet tidligere.

l) Velg sertifikatet du opprettet tidligere igjen, og klikk på legg til ting. Legg ved policyen du tidligere har opprettet. Fest det du opprettet tidligere.

Trinn 4: Opprette en S3 -bøtte

Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket
Opprette en S3 Bucket

a) Vi begynner med å bruke søkefunksjonen i AWS -administrasjonskonsollen og søke etter “s3”.

b) Klikk på opprett bøtte.

c) Skriv inn et navn på bøtta. I dette eksemplet bruker vi navnet "sp-p1703263". Vi vil velge regionen "US EAST (N. VIRGINIA)" som er us-east-1. Etter at det er gjort, klikker du på Opprett.

d) Den nye opprettede skuffen vil vises på oversikten.

Trinn 5: Lag DynamoDB -tabell og sett regler

Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler
Opprette DynamoDB -tabell og angi regler

a) Naviger først til AWS -tjenestene ved å klikke på

tjenester, deretter DynamoDB. Klikk på opprett tabell.

b) Skriv inn tabellnavnet "iotdata" og hovednøkkelen "deviceid" med en sorteringsnøkkel "datetimeid", og klikk deretter på opprett nederst på siden.

c) Etter det, naviger tilbake til IoT Core -siden. Klikk på Lov, og klikk deretter på Opprett en ny regel.

d) Lag en regel med navnet “MyDynamoDBRule”. Skriv inn “sensorer/lys” under temaet regelforespørsel.

e) Under Angi en eller flere handlinger klikker du på Legg til handling, klikker på "del melding i flere kolonner i en databasetabell". Klikk på konfigurer handling. Velg iotdata under tabellnavn. Under rollenavnet IAM, velg rollen du opprettet tidligere, som er “dynamodb_role”. Klikk på legg til handling, og opprett deretter en regel.

f) Klikk på opprett regel.

Trinn 6: Forventet utfall

Forventet resultat
Forventet resultat
Forventet resultat
Forventet resultat

Utendørs

for pi som representerer utsiden av rommet, blir scriptene heatdetector.py og AccessDoor.py kjørt. Hvis et feil kort trykker på RFID -skanneren, går alarmen, mens den gule LED -lampen fortsatt lyser. En SMS vil bli sendt til huseierens telefon for å varsle om mulig inntrengning. Alarmen vil også lyde. Et bilde vil også bli tatt og lastet opp umiddelbart til S3 Bucket. Hvis kortet som tappes er autorisert, lyser den grønne LED -en og brukeren kan gå inn. Døren låses igjen etter 15 sekunder (grønn LED slukkes og gul LED lyser igjen). Hvis temperaturen inne i rommet/hjemmet blir for høy (Til en temperatur vi anser som hjem/rom som potensielt brenner), sender vi et SMS -varsel til huseier. Alarmen vil også lyde når den røde LED -lampen lyser utenfor.

Innendørs

for pi som representerer innendørs i rommet, blir skriptene publishHeat.py, server.py, pubsub.py, telegrambot.py kjørt. Pubsub.py lagrer sanntidsverdiene i DynamoDB. Når server.py er kjørt, skriver du inn rpi's ip -adresse: 5000 i nettleseren, vil du bli ledet til vårt webgrensesnitt. Vi har en graf som viser sanntids lysverdier hentet fra sensorene våre i pubsub.py til DynamoDB. I tillegg vil historiske lysverdier også vises i vårt webgrensesnitt. publishHeat.py vil publisere temperaturverdier til det utendørs brødbrettet for brannsensorformål. telegrambot.py vil gjøre det mulig for brukeren å fjernstyre på/av LED -lyset i rommet/hjemmet, samt ta et bilde av hva som skjer inne og laste opp bildet til S3 -bøtte.

For bedre visualisering av hvordan det forventede resultatet skal se ut:

Trinn 7: Kildekoder (Pastebin)

Kildekoder (Pastebin)
Kildekoder (Pastebin)

Klikk på lenken. Består av alle nødvendige kildekoder:

Trinn 8: Referanser

Referanser
Referanser

Iotguider. (2019). Send SMS fra Raspberry Pi ved hjelp av Python. [online] Tilgjengelig på: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Tilgang 21. august 2019].

Anbefalt: