Obsah:
- Krok 1: Přihlaste se ke svému účtu AWS
- Krok 2: Začínáme s „věcmi“AWS IOT
- Krok 3: Registrace „věci“AWS IOT
- Krok 4: Aktivace certifikátu
- Krok 5: Přidání zásad do vašeho certifikátu
- Krok 6: Počáteční nastavení pro téma AWS SNS
- Krok 7: Vytvoření souboru Iot-role.trust.json
- Krok 8: Vytvoření souboru Iot-policy.json
- Krok 9: Vytvořte téma AWS SNS (část 1)
- Krok 10: Vytvořte téma AWS SNS (část 2)
- Krok 11: Vytvořte téma AWS SNS (část 3)
- Krok 12: Vytvořte vědro na Amazonu S3
- Krok 13: Generování zásad AWS (část 1)
- Krok 14: Generování zásad AWS (část 2)
- Krok 15: Vytváření tabulek pro DynamoDB
- Krok 16: Roomstatus.py
- Krok 17: Rfid.py
- Krok 18: Server.py
- Krok 19: Telegram.py
- Krok 20: Přímý přenos (camera_pi.py)
Video: Seroma: Server Room Manager: 20 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Seroma je správce serverové místnosti typu vše v jednom, který umožňuje uživatelům kontrolovat stav serverů (teplotu a vlhkost), přístupové protokoly serverové místnosti a také monitorovat samotnou serverovnu, zda nenarušuje zabezpečení.
Krok 1: Přihlaste se ke svému účtu AWS
- U nás jsme se přihlásili prostřednictvím studentské brány AWS, protože máme studentský účet AWS.
- V navigační nabídce vpravo nahoře přejděte na kartu „Účet AWS“.
- Klikněte na „Přejít na svůj počáteční účet AWS Educate“
- Otevřete konzolu, abyste získali přístup ke své konzole pro správu AWS.
Krok 2: Začínáme s „věcmi“AWS IOT
- Vyhledejte „AWS IoT“ve vyhledávacím panelu služeb AWS.
- Kliknutím na „Začínáme“přejdete na hlavní panel AWS IoT Console, kde můžete zobrazit všechna zařízení IoT zaregistrovaná ve vašem účtu AWS.
Krok 3: Registrace „věci“AWS IOT
- Na navigačním panelu přejděte ke správě „věcí“IoT.
- Pokud ještě žádnou věc nemáte, klikněte na „Zaregistrovat věc“. (Pokud již něco máte, klikněte na tlačítko „Vytvořit“v pravém horním rohu obrazovky vedle karty vyhledávání.)
- Klikněte na první tlačítko s názvem „Vytvořit jednu věc“.
- Jako název věci zadejte „RaspberryPi“. Pro tento krok není vyžadován žádný jiný vstup než „Název“. Poté klikněte na další.
Krok 4: Aktivace certifikátu
- V dalším kroku klikněte na tlačítko „vytvořit certifikát“.
- Stáhněte a uložte 4 odkazy ke stažení na další stránce do pracovního adresáře nebo složky. Chcete-li uložit kořenový soubor CA, klikněte pravým tlačítkem a uložte jako.
- Klikněte na „Aktivovat“a měla by se zobrazit zpráva o úspěchu.
- Použijte pro soubory popisná jména odstraněním čísel před každým názvem souboru a přejmenováním kořenového souboru CA na „rootca.pem“.
- Pokračujte kliknutím na „Připojit zásadu“.
Krok 5: Přidání zásad do vašeho certifikátu
- Pokud na další stránce zásady nemáte, vyzve vás k jejich vytvoření na tlačítku „Vytvořit zásadu“.
- Pokud již máte existující zásadu, klikněte níže na tlačítko „Vytvořit novou zásadu“.
-
Do formuláře pro vytvoření zásad vložte následující informace.
Název: RaspberryPiSecurityPolicy
Akce: IOT:*
Zdroj ARN: *
Efekt: Povolit
- Vaše zásady by se poté měly objevit na kartě „Zásady“v části „Zabezpečení“.
- Dále přejděte na kartu „Certifikáty“, která je také v části „Zabezpečení“, a připojte své zásady k certifikátu, který jste vytvořili dříve.
- Na další stránce klikněte na své zásady a poté klikněte na „Připojit“.
- Na stránce podrobností věci, kterou jste vytvořili, na kartě „Interakce“je koncový bod REST API, který by měl být zkopírován a uložen.
- AWS by nyní měl mít věc, která je připojena k zásadám a má certifikát.
Krok 6: Počáteční nastavení pro téma AWS SNS
SSH do Raspberry Pi a nainstalujte AWS CLI pomocí následujícího příkazu pip:
sudo pip install awscli
AWS CLI obsahuje funkci dokončení příkazu, ale ve výchozím nastavení není nainstalován. Použijte následující příkaz k instalaci funkce dokončení příkazu na rozhraní CLI Raspberry Pi:
kompletní -C aws_completer aws
Pomocí následujícího příkazu nakonfigurujte AWS CLI pomocí ID přístupového klíče, tajného přístupového klíče, názvu oblasti AWS a výstupního příkazu:
aws konfigurovat
Konzola vás poté vyzve k vyplnění následujících informací:
pi@raspberrypi: ~ $ aws konfigurace
ID přístupového klíče AWS [Žádný]: „Sem vložte ID přístupového klíče svého uživatele“Tajný přístupový klíč AWS [Žádný]: „Sem vložte přístupový klíč svého uživatele“Výchozí název oblasti [Žádný]: eu-central-1 Výchozí výstupní formát [Žádné]: json pi@raspberrypi: ~ $
Krok 7: Vytvoření souboru Iot-role.trust.json
- Vytvořte soubor JSON s výše uvedenými zásadami IAM s názvem souboru iot-role.trust.json.
- Vytvořte roli pomocí AWS CLI pomocí následujícího příkazu
aws iam create-role --role-name my-iot-role --assume-role-policy-document file: //iot-role-trust.json
Krok 8: Vytvoření souboru Iot-policy.json
- Vytvořte soubor JSON s výše uvedenými zásadami s názvem iot-policy.json.
- Vytvořte zásadu rolí pomocí AWS CLI pomocí následujícího příkazu:
aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json
Krok 9: Vytvořte téma AWS SNS (část 1)
- Na vyhledávacím panelu služeb AWS vyhledejte službu „SNS“nebo přejděte na
- Protože nyní nemáte žádná témata, vytvořte téma kliknutím na „Vytvořit nové téma“.
- Zadejte název tématu a zobrazovaný název, klikněte na „Vytvořit téma“a po úspěšném provedení všech kroků se objeví nové téma.
- Klikněte na rozbalovací tlačítko „Akce“a „Upravit zásady tématu“.
Krok 10: Vytvořte téma AWS SNS (část 2)
- Nastavte zásady, které umožní všem publikovat a přihlásit se k odběru, protože toto jsou omezení účtu AWSEducate.
- Přihlaste se k odběru tohoto tématu a budete dostávat aktualizace publikované k tomuto tématu.
-
Změňte protokol na „E -mail“a do koncového bodu zadejte svůj e -mail.
- Přejděte na svůj e -mail, kde jste zadali koncový bod, kliknutím na potvrzovací odkaz potvrďte své předplatné e -mailu a přihlaste se k odběru tohoto tématu.
- Přejděte na služby „AWS IoT“, v navigační nabídce vlevo klikněte na „Akt“. Na této stránce jsou zobrazena vaše pravidla a jsou vám k dispozici k zobrazení a úpravám. V současné době pro vaši věc IoT neexistují žádná pravidla, klikněte na „Vytvořit pravidlo“.
Krok 11: Vytvořte téma AWS SNS (část 3)
- Do pole Název pravidla zadejte název. Do pole Popis zadejte popis pravidla. Pokračujeme do části Zdroj zpráv a v sekci „Používání verze SQL“vybereme nejaktuálnější verzi SQL. Chcete -li vybrat celou zprávu MQTT z tématu, zadejte do atributu *, v našem případě je naše téma „TempHumid“.
- Poté přidejte pro své pravidlo akci oznámení „SNS“. Poté klikněte na „Konfigurovat akci“.
- Na stránce „Konfigurovat akci“vyberte téma SNS, které jste právě vytvořili, a formát zprávy jako RAW. Poté vyberte roli, kterou jste právě vytvořili pomocí AWS CLI, a klikněte na „Přidat akci“.
- Vaše akce bude nakonfigurována a vrátí se do části „Vytvořit pravidlo“.
- Pokud chcete pravidlo upravit, klikněte na Upravit.
Krok 12: Vytvořte vědro na Amazonu S3
- Vyhledejte S3 ve vyhledávacím panelu AWS.
- Na stránce Amazon S3 začněte kliknutím na tlačítko „Vytvořit kbelík“.
-
Vyplňte vyskakovací formulář, který se zobrazí, následujícími informacemi:
- Název vědra: seroma-bucket (musí být jedinečný ve všech stávajících segmentech Amazon S3)
- Region: US West (Oregon)
- Nastavení kopírování: (Ignorovat)
- U kroků 2 až 3 jej jednoduše přeskočte kliknutím na „Další“, protože není třeba nic měnit. V kroku 4 klikněte na „Vytvořit segment“.
- Po vytvoření byste měli vidět svůj kbelík na domovské stránce.
Krok 13: Generování zásad AWS (část 1)
- Kliknutím na vámi vytvořený segment vstoupíte na výše uvedenou stránku a poté přejděte na „Zásady segmentu“na kartě „Oprávnění“.
- Poté klikněte na odkaz „Generátor zásad“v dolní části stránky a vygenerujte své zásady AWS.
-
Do formuláře zadejte následující hodnoty:
- Typ zásad: Zásady S3 Bucket
- Efekt: Povolit
- Ředitel školy: *
- Služba AWS: Amazon S3
- Akce: GetObject
- Amazon Resource Name (ARN): arn: aws: s3::: seroma-bucket
- Po vyplnění údajů klikněte na Přidat prohlášení.
- Klikněte na tlačítko „Generovat zásady“.
Krok 14: Generování zásad AWS (část 2)
- Zkopírujte vygenerované kódy a klikněte na Zavřít.
- Vraťte se do editoru zásad Amazon S3 Bucket a vložte dříve zkopírované kódy.
- Přidejte „/*“do kódů hned za zdrojové kódy, jako na obrázku výše, poté klikněte na uložit.
- Poté bude váš kbelík úspěšně nastaven a připraven k použití.
Krok 15: Vytváření tabulek pro DynamoDB
- Vyhledejte DynamoDB ve vyhledávacím panelu služeb AWS
-
Klikněte na „Vytvořit tabulku“a vytvořte 3 tabulky s níže uvedenými informacemi: (Změní se pouze „název tabulky“a „primární klíč“)
- accesslog, pk datetimevalue
- roomstatus, pk datetimevalue
- staffdata, pk uživatelské jméno
Krok 16: Roomstatus.py
Tato část obsahuje kód roomstatus.py, který každou minutu zapisuje všechna data týkající se samotné serverové místnosti. To zahrnuje teplotu, vlhkost, pohyb (obrázky a videa, pokud jsou pravdivé) a protokoly přístupu. Rovněž zapisuje data do tabulky Google, data do DynamoDB, obrázky a videa (pokud existují) do S3, zobrazuje informace na LCD obrazovce, odesílá SMS a e -mail, pokud existuje podezření na porušení nebo když je teplota nebo vlhkost nepravidelná.
Chcete -li spustit soubory pythonu, změňte adresář na místo, kde se soubor nachází, a zadejte do konzoly: „sudo python“
Obrázek 2: Funkce deklarované pro povolení upozornění pomocí SMS a e -mailu a nahrávání na S3
Obrázek 3: Proměnné deklarované pro funkce a RPi, aby fungovaly
Obrázek 4: Začátek smyčky, která získává hodnoty teploty a vlhkosti z RPi. Data také zapíše do tabulky Google
Obrázek 5: Bezpečnostní část smyčky. Aktivuje se pouze od 19:00 do 7:00 (mimo pracovní dobu). Zkontroluje pohyb v rozmezí jedné minuty. Pokud je detekován pohyb, pořídí snímek a video, nahraje je do S3 a zároveň zapíše informace do DynamoDB pro pozdější použití. Poté bude odesláno SMS a e -mail, pokud je něco neobvyklého.
Obrázek 6: Konec smyčky. Rovněž zapisuje data do DynamoDB a podle toho odesílá výstrahy. Poslední řádek smyčky uspí skript, dokud nedojde k další minutě.
Krok 17: Rfid.py
Tato část obsahuje kód rfid.py, který přidává funkci pro sledování, když člen personálu vstoupí do serverovny. Je to také součást bezpečnostního aspektu společnosti Seroma, kde zaměstnanec nemá přístup do serverovny po úředních hodinách, aby se zabránilo úniku dat. V případě podezření na porušení také odesílá e -mail a SMS všem zaměstnancům.
Obrázek 2: Začátek logiky čtečky RFID. Kdykoli je karta naskenována proti čtečce, odebere se jedinečné ID (uid) karty. Poté se pokusíme najít v tabulce údajů o zaměstnancích hodnotu uid karty, abychom zjistili, zda karta patří některému ze zaměstnanců. Obrázek 3: Pokud uid karty v databázi existuje, zkontroluje, zda je v kanceláři mimo pracovní dobu. Pokud je, upozorní ostatní zaměstnance prostřednictvím SMS a e -mailem na přihlášené e -mailové adresy. Pokud je stále během úředních hodin, zapíše řádek do tabulky accesslogu v databázi s příslušnými údaji. Rovněž zobrazí uvítací zprávu na LCD displeji.
Krok 18: Server.py
Toto je soubor server.py. Pro webový portál budeme používat rámec Flask. Připojeny jsou také soubory HTML, které mají být vloženy do /šablony.
Obrázek 1: Definována první trasa pro baňku. Přesměruje uživatele na přihlašovací stránku, pokud není přihlášen, a na stránku řídicího panelu, pokud ano. Také definuje funkci, která se má použít ve funkci přímého přenosu
Obr. 2, 3, 4: Trasy pro baňku. Získává data z tabulky DynamoDB a poté je vrací do souborů HTML, aby je zde bylo možné použít.
Obrázek 5: Poslední 2 trasy pro Flask. Zvládá funkci odhlášení a funkci přímého přenosu. Také určuje port, na kterém bude web spuštěn.
Krok 19: Telegram.py
Tato část obsahuje kód pro telegramového robota Seroma. Pomocí knihovny telepot klepne na Telegram’s Bot API. Funguje tak, že přijme dotazy, které dostane, a zobrazí příslušné informace uživateli. Uživatel může zadat „nápovědu“pro úplný seznam příkazů.
Obrázek 1, 2: Chcete -li nastavit telegramového robota, musíte použít BotFather. Projděte si pokyny a získejte HTTP API, které potřebujeme v našem kódu.
Obrázek 4: Příklad funkce, která na základě požadavku uživatele odebírá z databáze určitý počet řádků dat
Obrázek 5: Jak bereme vstup uživatele a podle toho rozhodujeme, co spustit.
Krok 20: Přímý přenos (camera_pi.py)
Implementovali jsme novou funkci pro náš monitorovací systém serverové místnosti, živý přenos toho, co se děje v Serverové místnosti, k čemuž lze přistupovat kdykoli a kdekoli. Jak tento živý přenos funguje: Je to funkce, která se provádí ve Flasku společně s Pi kamerou. Videosnímky se stahují tak, jak se to děje v reálném životě, takže ve skutečnosti vidíte, že dochází k mírnému zpoždění (1–2 sekundy) při stahování a skládání obrazových rámců dohromady. Bez navlékání to nešlo, protože vlákno na pozadí čte snímky z kamery a ukládá aktuální snímek. Spojením všech těchto snímků dohromady by pak vznikl živý přenos.
Obrázek 2: Toto je samostatný soubor, kde jsou uloženy všechny snímky videa, a jak vidíte, pro přístup k naší malinové pi kameře používáme modul picamera, protože to je to, co známe. Máme kameru třídy, abychom mohli importovat funkci, jako by se jednalo o přímý přenos, a ne o skládání více obrázků dohromady, a proto by to hlavní soubor aplikace bral jako živý přenos, aniž by se musel starat o to, co se děje v zákulisí.
Obrázek 3: Toto je část našeho souboru server.py, kde je kódována část živého streamu. Hlavní třídou, kterou jsme za tímto účelem importovali, je kamera ze souboru camera_pi.py v horní části souboru server.py. Definovali jsme funkci v našem kořenovém adresáři, gen, ale používá se pouze tehdy, když přejdeme do /video_feed, kde je náš živý stream, kde bude procházet touto funkcí a vrátí živý stream na webovou stránku.
Doporučuje:
Escape Room Arduino: 6 kroků (s obrázky)
Escape Room Arduino: Tento projekt je o vytvoření prototypu únikové místnosti pomocí elektronických součástek arduino por, což je základní znalost jeho kódování. Tato úniková místnost bude mít 5 fází k pokrytí: (Může to být pro každého jiné) 1. Senzor preisure - LED Jakmile jednou
HiFi multi-room WiFi a Bluetooth reproduktor: 10 kroků (s obrázky)
HiFi multi-room WiFi a Bluetooth reproduktor: Reproduktory připojené k Wi-Fi jsou schopné poskytovat výrazně lepší kvalitu zvuku než možnosti Bluetooth. Před přehráváním nekomprimují zvukový obsah, což může mít negativní vliv na zvuk, protože snižuje úroveň detailů
Server Digital Sign Server na Raspberry Pi: 8 kroků
Digital Sign Server na Raspberry Pi: Absolutní průvodce pro začátečníky po Korsice na Raspberry PI Digitální nápisy jsou všude. Můžete je vidět na letištích, v nákupních centrech, obchodních domech a dokonce i v rozích ulic. K vybudování vlastního systému digitálních značek nepotřebujete spoustu drahého vlastního hardwaru
Password Manager, Typer, Macro, Payload All in ONE !: 11 kroků (s obrázky)
Password Manager, Typer, Macro, Payload … Vše v jednom !: POZOR PROSÍM: Pokud máte problém s výrobou tohoto zařízení (PCB, pájení nebo jiné), neváhejte mi poslat soukromou zprávu sem nebo e -mail na [email protected]. Rád zašlu jeden z PCB nebo zařízení, která již vyrábím
Social Circle Relationship Manager: 7 kroků (s obrázky)
Social Circle Relationship Manager: Co to je? Udržet kontakt se všemi důležitými lidmi ve vašem sociálním kruhu může být těžké, zvláště když žijete ve velkém městě, workoholiku, studentovi nebo všem výše uvedeným. Social Circle nabízí způsob, jak udržet všechny své blízké v jednom