Obsah:
- Krok 1: Prihláste sa do svojho účtu AWS
- Krok 2: Začíname s „vecami“AWS IOT
- Krok 3: Registrácia „veci“AWS IOT
- Krok 4: Aktivácia certifikátu
- Krok 5: Pridanie politiky k vášmu certifikátu
- Krok 6: Počiatočné nastavenie pre tému AWS SNS
- Krok 7: Vytvorenie súboru Iot-role.trust.json
- Krok 8: Vytvorenie súboru Iot-policy.json
- Krok 9: Vytvorte tému AWS SNS (časť 1)
- Krok 10: Vytvorte tému AWS SNS (časť 2)
- Krok 11: Vytvorte tému AWS SNS (časť 3)
- Krok 12: Vytvorte vedro na Amazone S3
- Krok 13: Vytvorte zásadu AWS (časť 1)
- Krok 14: Vytvorte zásadu AWS (časť 2)
- Krok 15: Vytvorenie tabuliek pre DynamoDB
- Krok 16: Roomstatus.py
- Krok 17: Rfid.py
- Krok 18: Server.py
- Krok 19: Telegram.py
- Krok 20: Priamy prenos (camera_pi.py)
Video: Seroma: Server Room Manager: 20 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Seroma je správca serverovej miestnosti typu všetko v jednom, ktorý umožňuje užívateľom kontrolovať stav serverov (teplotu a vlhkosť), denníky prístupu do serverovej miestnosti a monitorovať prípadné narušenia bezpečnosti v samotnej serverovej miestnosti.
Krok 1: Prihláste sa do svojho účtu AWS
- Pokiaľ ide o nás, prihlásili sme sa prostredníctvom študentskej brány AWS, pretože máme študentský účet AWS.
- V navigačnej ponuke vpravo hore prejdite na kartu „Účet AWS“.
- Kliknite na „Prejsť na svoj štartovací účet AWS Educate“
- Otvorte konzolu, aby ste získali prístup k svojej konzole na správu AWS.
Krok 2: Začíname s „vecami“AWS IOT
- Na paneli vyhľadávania služieb AWS vyhľadajte „AWS IoT“.
- Kliknutím na „Začíname“prejdete na hlavný panel AWS IoT Console, kde si môžete prezrieť všetky zariadenia IoT zaregistrované vo vašom účte AWS.
Krok 3: Registrácia „veci“AWS IOT
- Na navigačnom paneli navigujte a spravujte svoje „veci“IoT.
- Ak vec ešte nemáte, kliknite na „Zaregistrovať vec“. (Ak už niečo máte, kliknite na tlačidlo „Vytvoriť“v pravom hornom rohu obrazovky vedľa karty vyhľadávania.)
- Kliknite na prvé tlačidlo s názvom „Vytvoriť jednu vec“.
- Ako názov veci zadajte „RaspberryPi“. Pre tento krok nie je potrebný žiadny iný vstup ako „Názov“. Potom kliknite na tlačidlo Ďalej.
Krok 4: Aktivácia certifikátu
- V ďalšom kroku kliknite na tlačidlo „Vytvoriť certifikát“.
- Stiahnite a uložte 4 odkazy na stiahnutie na nasledujúcej stránke do pracovného adresára alebo priečinka. Ak chcete uložiť koreňový súbor CA, kliknite pravým tlačidlom myši a uložte ako.
- Kliknite na „Aktivovať“a mala by sa zobraziť správa o úspechu.
- Používajte pre súbory priateľské názvy tak, že odstránite čísla pred každým názvom súboru a premenujete koreňový súbor CA na „rootca.pem“.
- Pokračujte kliknutím na „Pripojiť zásadu“.
Krok 5: Pridanie politiky k vášmu certifikátu
- Ak nemáte politiku, na ďalšej stránke vás vyzve, aby ste ju vytvorili, na tlačidle „Vytvoriť politiku“.
- Ak už máte existujúcu politiku, kliknite nižšie na tlačidlo „Vytvoriť novú politiku“.
-
Do formulára na vytvorenie politiky zadajte nasledujúce informácie.
Názov: RaspberryPiSecurityPolicy
Akcia: IOT:*
Zdroj ARN: *
Účinok: Povoliť
- Vaše zásady by sa potom mali objaviť na karte „Zásady“v časti „Zabezpečenie“.
- Ďalej prejdite na kartu „Certifikáty“, ktorá je tiež v časti „Zabezpečenie“, a pripojte svoje politiky k certifikátu, ktorý ste vytvorili predtým.
- Na nasledujúcej stránke kliknite na svoje pravidlá a potom kliknite na „Pripojiť“.
- Na stránke podrobností veci, ktorú ste vytvorili, na karte „Interakcia“je koncový bod REST API, ktorý je potrebné skopírovať a uložiť.
- AWS by teraz mal mať vec, ktorá je pripojená k politike a má certifikát.
Krok 6: Počiatočné nastavenie pre tému AWS SNS
SSH do Raspberry Pi a nainštalujte AWS CLI pomocou nasledujúceho príkazu pip:
sudo pip install awscli
AWS CLI obsahuje funkciu dokončovania príkazov, ale nie je predvolene nainštalovaný. Na nainštalovanie funkcie dokončovania príkazov do rozhrania CLI Raspberry Pi použite nasledujúci príkaz:
dokončiť -C aws_completer aws
AWS CLI nakonfigurujte pomocou ID prístupového kľúča, tajného prístupového kľúča, názvu oblasti AWS a formátu výstupu príkazu pomocou nasledujúceho príkazu:
aws konfigurovať
Konzola vás potom vyzve, aby ste vyplnili nasledujúce informácie:
pi@raspberrypi: ~ $ aws konfigurácia
ID prístupového kľúča AWS [Žiadne]: „Sem zadajte prístupový kľúč svojho používateľa“Tajný prístupový kľúč AWS [Žiadny]: „Sem zadajte prístupový kľúč svojho používateľa“Predvolený názov oblasti [Žiadny]: eu-central-1 Predvolený výstupný formát [Žiadne]: json pi@raspberrypi: ~ $
Krok 7: Vytvorenie súboru Iot-role.trust.json
- Vytvorte súbor JSON s vyššie uvedenými zásadami IAM s názvom súboru iot-role.trust.json.
- Vytvorte rolu pomocou AWS CLI pomocou nasledujúceho príkazu
aws iam create-role --role-name my-iot-role --assume-role-policy-document file: //iot-role-trust.json
Krok 8: Vytvorenie súboru Iot-policy.json
- Vytvorte súbor JSON s vyššie uvedenými zásadami s názvom iot-policy.json.
- Vytvorte politiku rolí pomocou AWS CLI pomocou nasledujúceho príkazu:
aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json
Krok 9: Vytvorte tému AWS SNS (časť 1)
- Na paneli vyhľadávania služieb AWS vyhľadajte službu „SNS“alebo navštívte stránku
- Pretože teraz nemáte žiadne témy, vytvorte tému kliknutím na „Vytvoriť novú tému“.
- Zadajte názov témy a zobrazovaný názov, kliknite na „Vytvoriť tému“a po úspešnom vykonaní všetkých krokov sa zobrazí nová téma.
- Kliknite na rozbaľovacie tlačidlo „Akcie“a „Upraviť politiku témy“.
Krok 10: Vytvorte tému AWS SNS (časť 2)
- Nastavte pravidlá, ktoré umožnia všetkým publikovať a prihlásiť sa na odber, pretože ide o obmedzenia účtu AWSEducate.
- Prihláste sa na odber tejto témy a budete dostávať aktuálne informácie o tejto téme.
-
Zmeňte protokol na „E -mail“a do koncového bodu zadajte svoj e -mail.
- Prejdite na svoj e -mail, kde ste zadali koncový bod, kliknutím na potvrdzovací odkaz potvrďte svoje prihlásenie na odber e -mailu a prihláste sa na odber témy.
- Prejdite na služby „AWS IoT“, v navigačnej ponuke vľavo kliknite na „Konať“. Na tejto stránke sú zobrazené vaše pravidlá a máte ich k dispozícii na zobrazenie a úpravu. V súčasnosti pre vašu vec IoT neexistujú žiadne pravidlá, kliknite na „Vytvoriť pravidlo“.
Krok 11: Vytvorte tému AWS SNS (časť 3)
- Do poľa Názov pravidla zadajte názov. Do poľa Popis zadajte popis pravidla. Pokračovaním do sekcie Zdroj správ by sme vybrali najaktuálnejšiu verziu SQL v časti „Používanie verzie SQL“. Zadajte * do atribútu a vyberte celú správu MQTT z témy, v našom prípade je naša téma „TempHumid“.
- Potom k svojmu pravidlu pridajte oznamovaciu akciu „SNS“. Potom kliknite na „Konfigurovať akciu“.
- Na stránke „Konfigurácia akcie“vyberte tému SNS, ktorú ste práve vytvorili, a formát správy ako RAW. Potom vyberte rolu, ktorú ste práve vytvorili pomocou AWS CLI, a kliknite na „Pridať akciu“.
- Vaša akcia bude nakonfigurovaná a vráti sa do časti „Vytvoriť pravidlo“.
- Ak chcete pravidlo upraviť, kliknite na položku Upraviť.
Krok 12: Vytvorte vedro na Amazone S3
- Vyhľadajte S3 vo vyhľadávacom paneli AWS.
- Na stránke Amazon S3 začnite kliknutím na tlačidlo „Vytvoriť vedro“.
-
Vyplňte vyskakovací formulár, ktorý sa zobrazí, s nasledujúcimi informáciami:
- Názov vedra: seroma-bucket (musí byť jedinečný vo všetkých existujúcich vedrách Amazonu S3)
- Kraj: USA - západ (Oregon)
- Nastavenia kopírovania: (Ignorovať)
- V prípade krokov 2 až 3 ho jednoducho preskočte kliknutím na „Ďalej“, pretože nie je potrebné nič meniť. V kroku 4 kliknite na „Vytvoriť vedro“.
- Po vytvorení by ste mali vedro vidieť na domovskej stránke.
Krok 13: Vytvorte zásadu AWS (časť 1)
- Kliknutím na vedro, ktoré ste vytvorili, vstúpite na vyššie uvedenú stránku, potom pokračujte na časť „Zásady balíka“na karte „Povolenia“.
- Potom kliknite na odkaz „Generátor politík“v spodnej časti stránky a vygenerujte svoje zásady AWS.
-
Do formulára zadajte nasledujúce hodnoty:
- Typ politiky: Zásada sektora S3
- Účinok: Povoliť
- Riaditeľ: *
- Služba AWS: Amazon S3
- Akcie: GetObject
- Amazon Resource Name (ARN): arn: aws: s3::: seroma-bucket
- Po vyplnení informácií kliknite na položku Pridať vyhlásenie.
- Kliknite na tlačidlo „Generovať politiku“.
Krok 14: Vytvorte zásadu AWS (časť 2)
- Skopírujte vygenerované kódy a kliknite na tlačidlo Zavrieť.
- Vráťte sa do editora zásad Amazon S3 Bucket Policy a prilepte predtým skopírované kódy.
- Pridajte „/*“do kódov hneď za zdrojové kódy, ako na obrázku vyššie, potom kliknite na tlačidlo uložiť.
- Potom bude vaše vedro úspešne nastavené a pripravené na použitie.
Krok 15: Vytvorenie tabuliek pre DynamoDB
- Vyhľadajte DynamoDB vo vyhľadávacom paneli služieb AWS
-
Kliknite na „Vytvoriť tabuľku“a vytvorte 3 tabuľky s nižšie uvedenými informáciami: (Mení sa iba „názov tabuľky“a „primárny kľúč“)
- accesslog, pk datetimevalue
- roomstatus, pk datetimevalue
- staffdata, pk užívateľské meno
Krok 16: Roomstatus.py
Táto časť obsahuje kód pre roomstatus.py, ktorý každú minútu zapisuje všetky údaje týkajúce sa samotnej serverovej miestnosti. To zahŕňa teplotu, vlhkosť, pohyb (obrázky a videá, ak sú pravdivé) a denníky prístupu. Tiež zapisuje údaje do tabuľky Google, údaje do systému DynamoDB, obrázky a videá (ak existujú) do formátu S3, zobrazuje informácie na displeji LCD, odosiela správu SMS a e -mail v prípade podozrenia na porušenie pravidiel alebo v prípade nepravidelných teplôt alebo vlhkosti.
Ak chcete spustiť súbory python, zmeňte adresár na miesto, kde sa súbor nachádza, a zadajte do konzoly: „sudo python“
Obrázok 2: Funkcie deklarované tak, že umožňujú upozornenia prostredníctvom SMS a e -mailu, a nahrávanie na S3
Obrázok 3: Premenné deklarované pre funkcie a RPi, aby fungovali
Obrázok 4: Začiatok slučky, ktorá získava hodnoty teploty a vlhkosti z RPi. Údaje tiež zapíše do tabuľky Google
Obrázok 5: Bezpečnostná časť slučky. Aktivuje sa iba od 19:00 do 7:00 (mimo prevádzkových hodín). Skontroluje pohyb v intervale jednej minúty. Ak je detekovaný pohyb, nasníma obrázok a video, nahrá ich do S3 a zároveň napíše informácie do DynamoDB na neskoršie použitie. Potom pošle SMS a e -mail, ak je niečo neobvyklé.
Obrázok 6: Koniec slučky. Tiež zapisuje údaje do DynamoDB a podľa toho odosiela výstrahy. Posledný riadok cyklu prepne skript do ďalšej minúty.
Krok 17: Rfid.py
Táto časť obsahuje kód pre rfid.py, ktorý pridáva funkcionalitu na sledovanie, keď člen personálu vstúpi do serverovne. Je to tiež súčasť bezpečnostného aspektu Seroma, kde zamestnanec nemá prístup do serverovne po úradných hodinách, aby sa zabránilo narušeniu údajov. V prípade podozrenia z porušenia tiež odosiela e -mail a SMS všetkým zamestnancom.
Obrázok 2: Začiatok logiky čítačky RFID. Pri každom skenovaní karty proti čítačke sa odoberie jedinečné ID (uid) karty. Potom sa pokúsime nájsť bezkontaktnú hodnotu karty v tabuľke s údajmi o zamestnancoch, aby sme zistili, či karta patrí niektorému zo zamestnancov. Obrázok 3: Ak je identifikačné číslo karty v databáze, skontroluje, či je v kancelárii mimo otváracích hodín. Ak je, upozorní ostatných zamestnancov prostredníctvom SMS a e -mailom na prihlásené e -mailové adresy. Ak je ešte počas úradných hodín, zapíše riadok do tabuľky accesslogu v databáze s príslušnými údajmi. Tiež zobrazí uvítaciu správu na LCD displeji.
Krok 18: Server.py
Toto je súbor server.py. Pre webový portál použijeme rámec Flask. Priložené sú aj súbory HTML, ktoré sa majú vložiť /šablóny.
Obrázok 1: Definovaná prvá trasa pre banku. Ak nie je prihlásený, presmeruje používateľa na prihlasovaciu stránku a v prípade, že nie je, na stránku palubného panela. Tiež definuje funkciu, ktorá sa má použiť vo funkcii živého prenosu
Obr. 2, 3, 4: Trasy pre banku. Získava údaje z tabuľky DynamoDB a potom ich vracia do súborov HTML, aby ich tam bolo možné použiť.
Obrázok 5: Posledné 2 trasy do banky. Zvláda funkciu odhlásenia a funkciu livestream. Tiež určuje port, na ktorom bude webová stránka spustená.
Krok 19: Telegram.py
Táto časť obsahuje kód pre telegramový robot Seroma. Na napojenie na API Telegramu Bot používa knižnicu telepot. Funguje to tak, že prijmete prijaté dotazy a zobrazíte používateľovi príslušné informácie. Používateľ môže zadať „pomoc“pre úplný zoznam príkazov.
Obrázok 1, 2: Na nastavenie telegramového robota musíte použiť BotFather. Jednoducho si prečítajte pokyny a získajte API HTTP, ktoré v našom kóde potrebujeme.
Obrázok 4: Príklad funkcie, ktorá na základe požiadavky používateľa preberá z databázy určitý počet údajov
Obrázok 5: Ako preberáme vstupy používateľa a podľa toho sa rozhodujeme, čo spustíme.
Krok 20: Priamy prenos (camera_pi.py)
Implementovali sme novú funkciu pre náš monitorovací systém serverovej miestnosti, živý prenos toho, čo sa deje v serverovej miestnosti, k čomu je prístup kedykoľvek a kdekoľvek. Ako tento priamy prenos funguje: Je to funkcia, ktorá sa vykonáva vo Flasku spolu s kamerou Pi. Videosnímky sa sťahujú tak, ako sa to deje v reálnom živote, takže v skutočnosti vidíte, že pri sťahovaní a spájaní videozáznamov dochádza k miernemu oneskoreniu (1-2 sekundy). Bez navliekania sa to nezaobišlo, pretože vlákno na pozadí číta snímky z fotoaparátu a ukladá aktuálny rámec. Spojením všetkých týchto rámcov dohromady by potom vznikol priamy prenos.
Obrázok 2: Toto je samostatný súbor, kde sú uložené všetky snímky videa, a ako vidíte, na prístup k našej kamere Raspberry Pi používame modul picamera, pretože to je to, čo poznáme. Máme prvotriedny fotoaparát, aby sme mohli importovať funkciu, ako keby išlo o priamy prenos, a nie spájanie viacerých obrázkov dohromady, a preto by to hlavný súbor aplikácie v hlavnom súbore aplikácie bral ako živý prenos bez toho, aby sme sa museli starať o to, čo sa deje v zákulisí.
Obrázok 3: Toto je časť nášho súboru server.py, kde je kódovaná časť živého prenosu. Hlavnou triedou, ktorú sme na tento účel importovali, je kamera zo súboru camera_pi.py v hornej časti súboru server.py. Definovali sme funkciu v našom koreňovom adresári, gen, ale začne sa používať iba vtedy, keď prejdeme do /video_feed, kde je náš priamy prenos, kde bude prechádzať touto funkciou a vráti živý prenos na webovú stránku.
Odporúča:
Escape Room Arduino: 6 krokov (s obrázkami)
Escape Room Arduino: Tento projekt je o vytvorení prototypu únikovej miestnosti pomocou elektronických súčiastok arduino por, čo je základná znalosť jeho kódovania. Táto úniková miestnosť bude mať 5 fáz, ktoré bude pokrývať: (Môže to byť pre každého iné) 1. Senzor predbežného tlaku - LED Keď začnete
DIY -- Clap Controlled Room Room: 3 kroky
DIY || Clap Controlled Room Light: Zaujímalo vás niekedy, ako ovládať svoje domáce spotrebiče systémom CLAP? Potom ste na správnom mieste! Tu vám ukážem, ako môžete ovládať akékoľvek domáce zariadenie - izbové svetlá, ventilátor, televíziu alebo audio systém pomocou jednoduchého tlesknutia. Tento projekt je založený na
Inštalácia Apache2 na server Ubuntu Server: 4 kroky
Inštalácia Apache2 na server Ubuntu: Inštalácia Apache2 na server Ubuntu vám umožní hosťovať vaše vlastné osobné webové stránky. Môžete to použiť na vlastné osobné použitie, na podnikanie alebo dokonca na vývoj webových aplikácií
Pridajte server MC Server do brány FireWall: 12 krokov
Pridajte server MC Server do brány FireWall: 1. Napíšte " wf.msc " do vyhľadávacieho panela vľavo od panela úloh. Alt. Prejdite na Ovládací panel, otvorte bránu firewall systému Windows (Defender) a v ponuke vľavo vyberte položku Rozšírené nastavenia
Password Manager, Typer, Macro, Payload Všetko v jednom !: 11 krokov (s obrázkami)
Password Manager, Typer, Macro, Payload … Všetko v jednom !: POZOR PROSÍM: Ak máte problém s výrobou tohto zariadenia (PCB, spájkovanie alebo iné), neváhajte a pošlite mi súkromnú správu tu alebo e -mail na adresu [email protected]. Rád pošlem jeden z počítačov alebo zariadení, ktoré už vyrábam