Kazalo:

Seroma: Upravitelj strežniške sobe: 20 korakov
Seroma: Upravitelj strežniške sobe: 20 korakov

Video: Seroma: Upravitelj strežniške sobe: 20 korakov

Video: Seroma: Upravitelj strežniške sobe: 20 korakov
Video: Петух еще живой, погнали в DLC ► 16 Прохождение Dark Souls 3 2024, November
Anonim
Seroma: Upravitelj strežniške sobe
Seroma: Upravitelj strežniške sobe

Seroma je vse-v-enem upravitelj strežniške sobe, ki uporabnikom omogoča preverjanje stanja strežnikov (temperature in vlažnosti), dnevnikov dostopa do strežniške sobe ter spremljanje same strežniške sobe glede morebitnih kršitev varnosti.

1. korak: Prijavite se v svoj račun AWS

Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
Prijavite se v svoj račun AWS
  1. Za naše smo se prijavili prek prehoda za izobraževanje študentov AWS, saj imamo račun za študentski aws.
  2. Pojdite na zavihek »Račun AWS« v navigacijskem meniju v zgornjem desnem kotu.
  3. Kliknite »Pojdi na svoj račun AWS Educate Starter«
  4. Odprite konzolo za dostop do upravljalne konzole AWS.

2. korak: Začnite z "stvarmi" AWS IOT

Uvod v AWS IOT
Uvod v AWS IOT
Kako začeti z AWS IOT
Kako začeti z AWS IOT
  1. V iskalni vrstici storitev AWS poiščite »AWS IoT«.
  2. Kliknite »Začni«, da nadaljujete na nadzorno ploščo AWS IoT Console, kjer si lahko ogledate vse naprave IoT, registrirane v vašem računu AWS.

3. korak: Registracija "stvari" AWS IOT

Registracija AWS IOT
Registracija AWS IOT
Registracija AWS IOT
Registracija AWS IOT
Registracija AWS IOT
Registracija AWS IOT
  1. V navigacijski vrstici se pomaknite, da upravljate svoje stvari v storitvi IoT.
  2. Kliknite »Registriraj stvar«, če je še nimate. (Če že imate kaj, kliknite gumb »Ustvari« v zgornjem desnem kotu zaslona poleg zavihka za iskanje.)
  3. Kliknite prvi gumb z imenom »Ustvari eno stvar«.
  4. Vnesite "RaspberryPi" kot ime stvari. Za ta korak ni potreben vnos, razen "Ime". Ko to storite, kliknite Naprej.

4. korak: Aktiviranje potrdila

Aktiviranje potrdila
Aktiviranje potrdila
Aktiviranje potrdila
Aktiviranje potrdila
  1. V naslednjem koraku kliknite gumb »ustvari potrdilo«.
  2. Prenesite in shranite 4 povezave za prenos na naslednji strani v delovni imenik ali mapo. Če želite shraniti korensko datoteko CA, z desno tipko miške kliknite in shranite kot.
  3. Kliknite »Aktiviraj« in prikazalo bi se sporočilo o uspehu.
  4. Uporabite prijazna imena datotek, tako da odstranite številke pred imenom vsake datoteke in preimenujete korensko datoteko CA v "rootca.pem".
  5. Za nadaljevanje kliknite »Priloži pravilnik«.

5. korak: Dodajanje pravilnika v vaše potrdilo

Dodajanje pravilnika v vaše potrdilo
Dodajanje pravilnika v vaše potrdilo
Dodajanje pravilnika v vaše potrdilo
Dodajanje pravilnika v vaše potrdilo
Dodajanje pravilnika v vaše potrdilo
Dodajanje pravilnika v vaše potrdilo
  1. Na naslednji strani, če nimate pravilnika, vas bodo pozvali, da ga naredite na gumbu »Ustvari pravilnik«.
  2. Če že imate obstoječ pravilnik, kliknite spodnji gumb »Ustvari nov pravilnik«.
  3. V obrazec za ustvarjanje pravilnika vstavite naslednje podatke.

    Ime: RaspberryPiSecurityPolicy

    Dejanje: iot:*

    Vir ARN: *

    Učinek: Dovoli

  4. Vaša politika bi se morala nato prikazati na zavihku »Pravilnik« pod »Varnost«.
  5. Nato pojdite na zavihek »Potrdila«, ki je prav tako v razdelku »Varnost«, in svojo politiko priložite certifikatu, ki ste ga ustvarili prej.
  6. Na naslednji strani kliknite svojo politiko in nato kliknite »Priloži«.
  7. Na strani Podrobnosti stvari, ki ste jo ustvarili, na zavihku »Interakcija« je končna točka API -ja REST, ki jo je treba kopirati in shraniti.
  8. AWS bi moral zdaj imeti stvar, ki je priložena pravilniku in ima certifikat.

6. korak: Začetna nastavitev za temo AWS SNS

Začetna nastavitev za temo AWS SNS
Začetna nastavitev za temo AWS SNS
Začetna nastavitev za temo AWS SNS
Začetna nastavitev za temo AWS SNS

SSH v Raspberry Pi in namestite AWS CLI z naslednjim ukazom pip:

sudo pip namestite awscli

AWS CLI vključuje funkcijo dokončanja ukazov, vendar privzeto ni nameščena. Za namestitev funkcije dokončanja ukazov na vmesnik CLI Raspberry Pi uporabite naslednji ukaz:

dokončajte -C aws_completer aws

Konfigurirajte CLI AWS z ID -jem ključa za dostop, tajnim ključem za dostop, imenom regije AWS in izhodno obliko ukaza z naslednjim ukazom:

aws konfigurirati

Konzola vas bo nato pozvala, da vnesete naslednje podatke:

pi@raspberrypi: ~ $ aws configure

ID ključa za dostop do AWS [Brez]: "Tukaj vnesite ID ključa za dostop uporabnika" Tajni ključ dostopa AWS [Ni]: "Tukaj vnesite ključ tajnega dostopa svojega uporabnika" Privzeto ime regije [Ni]: eu-central-1 Privzeta izhodna oblika [Nič]: json pi@raspberrypi: ~ $

7. korak: Ustvarjanje datoteke Iot-role.trust.json

Ustvarjanje datoteke Iot-role.trust.json
Ustvarjanje datoteke Iot-role.trust.json
Ustvarjanje datoteke Iot-role.trust.json
Ustvarjanje datoteke Iot-role.trust.json
  1. Ustvarite datoteko JSON z zgornjim pravilnikom IAM z imenom datoteke iot-role.trust.json.
  2. Ustvarite vlogo z vmesnikom AWS CLI z naslednjim ukazom

aws iam create-role-ime-vloge my-iot-role --asume-role-policy-dokument-datoteka: //iot-role-trust.json

8. korak: Ustvarjanje datoteke Iot-policy.json

Ustvarjanje datoteke Iot-policy.json
Ustvarjanje datoteke Iot-policy.json
Ustvarjanje datoteke Iot-policy.json
Ustvarjanje datoteke Iot-policy.json
  1. Ustvarite datoteko JSON z zgornjim pravilnikom z imenom datoteke iot-policy.json.
  2. Ustvarite politiko vlog z vmesnikom AWS CLI z naslednjim ukazom:

aws iam put-role-policy-ime-vloge IoTRole-ime-politike iot-policy-datoteka datoteke -policy: //iot-policy.json

9. korak: Ustvarite temo AWS SNS (1. del)

Ustvarite temo AWS SNS (1. del)
Ustvarite temo AWS SNS (1. del)
Ustvarite temo AWS SNS (1. del)
Ustvarite temo AWS SNS (1. del)
Ustvarite temo AWS SNS (1. del)
Ustvarite temo AWS SNS (1. del)
  1. V iskalni vrstici storitev AWS poiščite storitev »SNS« ali pojdite na
  2. Ker zdaj nimate tem, kliknite »Ustvari novo temo«, da ustvarite temo.
  3. Vnesite ime teme in prikazno ime ter kliknite »Ustvari temo« in ko bodo vsi koraki uspešni, se bo prikazala nova tema.
  4. Kliknite spustni gumb »Dejanja« in »Uredi pravilnik teme«.

10. korak: Ustvarite temo AWS SNS (2. del)

Ustvarite temo AWS SNS (2. del)
Ustvarite temo AWS SNS (2. del)
Ustvarite temo AWS SNS (2. del)
Ustvarite temo AWS SNS (2. del)
Ustvarite temo AWS SNS (2. del)
Ustvarite temo AWS SNS (2. del)
  1. Politiko nastavite tako, da vsem dovoljuje objavo in naročanje, saj je to omejitev računa AWSEducate.
  2. Naročite se na to temo, če želite prejemati posodobitve, objavljene na to temo.
  3. Spremenite protokol v »E -pošta« in na koncu vnesite svoj e -poštni naslov.

  4. Pojdite na svoj e -poštni naslov, kamor ste vnesli svojo končno točko, kliknite povezavo za potrditev, da potrdite naročnino na e -pošto in se naročite na temo.
  5. Pomaknite se do storitev »AWS IoT«, v navigacijskem meniju na levi kliknite »Ukrepi«. Na tej strani so prikazana vaša pravila in na voljo za ogled in urejanje. Trenutno za vašo stvar interneta stvari ni pravil, kliknite »Ustvari pravilo«.

11. korak: Ustvarite temo AWS SNS (3. del)

Ustvarite temo AWS SNS (3. del)
Ustvarite temo AWS SNS (3. del)
Ustvarite temo AWS SNS (3. del)
Ustvarite temo AWS SNS (3. del)
Ustvarite temo AWS SNS (3. del)
Ustvarite temo AWS SNS (3. del)
  1. V polje Ime za pravilo vnesite ime. V polje Opis vnesite opis svojega pravila. Če nadaljujemo do razdelka Vir sporočila, bi v razdelku »Uporaba različice SQL« izbrali najnovejšo različico SQL. Vnesite * v atribut, da izberete celotno sporočilo MQTT iz teme, v našem primeru je naša tema »TempHumid«.
  2. Nato za svoje pravilo dodajte dejanje obvestila »SNS«. Nato kliknite »Konfiguriraj dejanje«.
  3. Na strani »Konfiguriraj dejanje« izberite temo SNS, ki ste jo pravkar ustvarili, in obliko sporočila kot RAW. Nato izberite vlogo, ki ste jo pravkar ustvarili z AWS CLI, in kliknite »Dodaj dejanje«.
  4. Vaše dejanje bo konfigurirano in vrnjeno v »Ustvari pravilo«.
  5. Če želite urediti pravilo, kliknite Uredi.

12. korak: Ustvarite vedro na Amazon S3

Ustvarite vedro na Amazon S3
Ustvarite vedro na Amazon S3
Ustvarite vedro na Amazon S3
Ustvarite vedro na Amazon S3
Ustvarite vedro na Amazon S3
Ustvarite vedro na Amazon S3
  1. Poiščite S3 v iskalni vrstici AWS.
  2. Na strani Amazon S3 za začetek kliknite gumb »Ustvari vedro«.
  3. Izpolnite pojavni obrazec, ki se prikaže, z naslednjimi informacijami:

    • Ime vedra: seroma-bucket (to mora biti edinstveno v vseh obstoječih vedrih Amazon S3)
    • Regija: Zahod ZDA (Oregon)
    • Kopiraj nastavitve: (prezri)
  4. Pri korakih od 2 do 3 ga preprosto preskočite s klikom na gumb »Naprej«, saj ni treba ničesar spreminjati. V 4. koraku kliknite »Ustvari vedro«.
  5. Po ustvarjanju bi morali svoje vedro videti na domači strani.

13. korak: Ustvarite politiko AWS (1. del)

Ustvarite politiko AWS (1. del)
Ustvarite politiko AWS (1. del)
Ustvarite politiko AWS (1. del)
Ustvarite politiko AWS (1. del)
Ustvarite politiko AWS (1. del)
Ustvarite politiko AWS (1. del)
  1. Kliknite na vedro, ki ste ga ustvarili, da vstopite na zgornjo stran, nato pojdite na »Politika vedra« na zavihku »Dovoljenja«.
  2. Nato kliknite povezavo »Generator politik« na dnu strani, da ustvarite svojo politiko AWS.
  3. V obrazec vnesite naslednje vrednosti:

    • Vrsta pravilnika: Politika vedra S3
    • Učinek: Dovoli
    • Ravnatelj: *
    • Storitev AWS: Amazon S3
    • Dejanja: GetObject
    • Ime vira Amazon (ARN): arn: aws: s3::: seroma-bucket
  4. Ko vnesete podatke, kliknite Dodaj izjavo.
  5. Kliknite gumb »Ustvari pravilnik«.

14. korak: Ustvarite politiko AWS (2. del)

Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
Ustvarite politiko AWS (2. del)
  1. Kopirajte ustvarjene kode in kliknite Zapri.
  2. Vrnite se v urejevalnik pravilnika Amazon S3 Bucket Policy in prilepite prej kopirane kode.
  3. V kode takoj za kodami vira dodajte »/*«, kot na zgornji sliki, nato kliknite shrani.
  4. Po tem bo vaše vedro uspešno nastavljeno in pripravljeno za uporabo.

Korak 15: Ustvarjanje tabel za DynamoDB

Ustvarjanje tabel za DynamoDB
Ustvarjanje tabel za DynamoDB
Ustvarjanje tabel za DynamoDB
Ustvarjanje tabel za DynamoDB
  1. Poiščite DynamoDB v iskalni vrstici storitev AWS
  2. Kliknite na "Ustvari tabelo" in ustvarite 3 tabele s spodnjimi informacijami: (spremenjena sta samo "ime tabele" in "primarni ključ")

    • accesslog, pk datetimevalue
    • sobni status, pk datetimevalue
    • osebni podatki, uporabniško ime za pk

16. korak: Roomstatus.py

Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py

Ta razdelek vsebuje kodo za roomstatus.py, ki vsako minuto zapiše vse podatke o sami strežniški sobi. To vključuje temperaturo, vlažnost, gibanje (slike in video posnetke, če so resnični) in dnevnike dostopa. Prav tako zapisuje podatke v Googlovo preglednico, podatke v DynamoDB, slike in videoposnetke (če obstajajo) v S3, prikazuje informacije na LCD zaslonu, pošilja SMS in e -pošto, kadar obstaja sum na kršitev ali ko je temperatura ali vlažnost neenakomerna.

Če želite zagnati datoteke python, spremenite imenik, kjer se nahaja datoteka, in vnesite konzolo: "sudo python"

Slika 2: Deklarirane funkcije, ki dovoljujejo opozorila SMS in e -pošto ter nalaganje na S3

Slika 3: Spremenljivke, deklarirane za delovanje funkcij in RPi

Slika 4: Začetek zanke, ki dobi vrednosti temperature in vlažnosti iz RPi. Podatke zapiše tudi v Googlovo preglednico

Slika 5: Varnostni del zanke. Aktiviral se bo le od 19.00 do 7.00 (prosti čas). V eni minuti bo preveril gibanje. Če zazna gibanje, bo posnel sliko in video, jih naložil v S3, hkrati pa podatke zapisal v DynamoDB za poznejšo uporabo. Nato bo poslal SMS in e -pošto, če je kaj nepravilnega.

Slika 6: Konec zanke. Prav tako zapisuje podatke v DynamoDB in v skladu s tem pošilja opozorila. Zadnja vrstica zanke bo skript spal do naslednje minute.

17. korak: Rfid.py

Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py

Ta razdelek vsebuje kodo za rfid.py, ki dodaja funkcionalnost za sledenje, ko uslužbenec dostopa do strežniške sobe. To je tudi del varnostnega vidika Serome, kjer uslužbenec ne sme dostopati do strežniške sobe po uradnih urah, da prepreči kršitev podatkov. Če sumite na kršitev, pošlje tudi e -pošto in SMS vse osebje.

Slika 2: Začetek logike čitalnika RFID. Kadar koli kartico optično preberete v bralniku, se vzame edinstven ID (uid) kartice. Nato poskušamo poiskati vrednost uid kartice v tabeli s podatki o osebju, da vidimo, ali kartica pripada kateremu koli osebju. izven delovnega časa. Če je, bo preostale zaposlene opozoril prek SMS -a in e -pošte na naročene e -poštne naslove. Če je še vedno med uradnimi urami, bo v tabelo dnevnika dostopa v zbirko podatkov zapisala vrstico z ustreznimi podatki. Na LCD zaslonu bo prikazano tudi sporočilo dobrodošlice.

18. korak: Server.py

Server.py
Server.py
Server.py
Server.py
Server.py
Server.py

To je datoteka server.py. Za spletni portal bomo uporabili okvir Flask. Priložene so tudi datoteke HTML /predloge.

Slika 1: Določena je prva pot za Flask. Uporabnika bo preusmeril na stran za prijavo, če ni prijavljen, in na stran nadzorne plošče, če je. Določa tudi funkcijo, ki se uporablja v funkciji pretočnega predvajanja v živo

Slika 2, 3, 4: Poti za steklenico. Pridobi podatke iz tabele DynamoDB in jih nato vrne v datoteke HTML, da jih lahko tam uporabite.

Slika 5: Zadnji 2 poti za Flask. Upravlja funkcijo odjave in funkcijo pretočnega predvajanja v živo. Določa tudi vrata, na katerih bo spletno mesto delovalo.

19. korak: Telegram.py

Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py

Ta razdelek vključuje kodo za Seromovega telegramskega bota. Knjižnico telepot uporablja za dotik Telegramovega API -ja Bot. Deluje tako, da sprejme poizvedbe, ki jih dobi, in uporabniku prikaže ustrezne podatke. Uporabnik lahko vnese "help" za celoten seznam ukazov.

Slika 1, 2: Če želite nastaviti telegramskega bota, morate uporabiti BotFather. Samo poiščite navodila, da dobite API HTTP, ki ga potrebujemo v naši kodi.

Slika 4: Primer funkcije, ki na podlagi zahteve uporabnika vzame določeno število vrstic podatkov iz baze podatkov

Slika 5: Kako jemljemo uporabnikove vnose in se odločimo, kaj bomo izvajali.

20. korak: Prenos v živo (camera_pi.py)

Prenos v živo (camera_pi.py)
Prenos v živo (camera_pi.py)
Prenos v živo (camera_pi.py)
Prenos v živo (camera_pi.py)
Prenos v živo (camera_pi.py)
Prenos v živo (camera_pi.py)

Za naš sistem za nadzor strežniške sobe smo uvedli novo funkcijo, v živo prenos dogajanja v strežniški sobi, do katerega lahko dostopate kadar koli in kjer koli. Kako deluje ta prenos v živo: To je funkcija, ki se izvaja v Flasku skupaj s kamero Pi. Video okvirji se nalagajo, kot se to dogaja v resničnem življenju, zato lahko dejansko vidite, da je pri prenosu in sestavljanju video okvirjev prišlo do rahle zamude (1-2 sekundi). Tega ni bilo mogoče narediti brez navojev, saj nit v ozadju bere okvirje iz fotoaparata in shranjuje trenutni okvir. Če bi vse te okvirje sestavili, bi se nato predvajal prenos v živo.

Slika 2: To je ločena datoteka, v kateri so shranjeni vsi video okvirji, in kot vidite, za dostop do naše maline pi kamere uporabljamo modul pikamera, kar nam je najbolj znano. Imamo razredno kamero, tako da lahko uvozimo funkcijo, kot da je prenos v živo in ne več slik, ki bi jih sestavili skupaj, zato bi jo v glavni datoteki aplikacije vzeli kot prenos v živo, ne da bi morali skrbeti, kaj se dogaja v zakulisju.

Slika 3: To je del naše datoteke server.py, kjer je kodiran del pretočnega predvajanja v živo. Glavni razred, ki smo ga uvozili za to, je kamera iz datoteke camera_pi.py na vrhu datoteke server.py. Funkcijo smo opredelili v korenskem imeniku gen, vendar se začne uporabljati šele, ko se odpravimo na /video_feed, kjer je naš tok v živo, kjer se bo vrtel skozi to funkcijo in vrnil tok v živo na spletni strani.

Priporočena: