Tartalomjegyzék:
- 1. lépés: Jelentkezzen be AWS -fiókjába
- 2. lépés: Első lépések az AWS IOT "dolgokkal"
- 3. lépés: Az AWS IOT "dolog" regisztrálása
- 4. lépés: Tanúsítvány aktiválása
- 5. lépés: Irányelv hozzáadása a tanúsítványhoz
- 6. lépés: Kezdeti beállítás az AWS SNS témához
- 7. lépés: Az Iot-role.trust.json fájl létrehozása
- 8. lépés: Az Iot-policy.json fájl létrehozása
- 9. lépés: Hozzon létre egy AWS SNS témát (1. rész)
- 10. lépés: Hozzon létre egy AWS SNS témát (2. rész)
- 11. lépés: Hozzon létre egy AWS SNS témát (3. rész)
- 12. lépés: Hozzon létre egy vödröt az Amazon S3 rendszeren
- 13. lépés: AWS -házirend létrehozása (1. rész)
- 14. lépés: AWS -házirend létrehozása (2. rész)
- 15. lépés: Táblázatok létrehozása a DynamoDB számára
- 16. lépés: Roomstatus.py
- 17. lépés: Rfid.py
- 18. lépés: Server.py
- 19. lépés: Telegram.py
- 20. lépés: Élő közvetítés (camera_pi.py)
Videó: Seroma: Server Room Manager: 20 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
A Seroma egy all-in-one szerverhely-kezelő, amely lehetővé teszi a felhasználók számára, hogy ellenőrizzék a kiszolgálók állapotát (hőmérséklet és páratartalom), a kiszolgálószoba hozzáférési naplóit, valamint figyeljék a szerverhelyiséget bármilyen biztonsági hiba miatt.
1. lépés: Jelentkezzen be AWS -fiókjába
- A mieink számára az AWS Educate hallgatói átjárón keresztül jelentkeztünk be, mivel van hallgatói aws fiókunk.
- Lépjen az „AWS-fiók” fülre a jobb felső sarokban található navigációs menüben.
- Kattintson az „Ugrás az AWS Educate Starter -fiókjához” gombra
- Nyissa meg a konzolt az AWS felügyeleti konzol eléréséhez.
2. lépés: Első lépések az AWS IOT "dolgokkal"
- Keressen rá az „AWS IoT” kifejezésre az AWS szolgáltatások keresősávjában.
- Kattintson az „Első lépések” gombra az AWS IoT Console irányítópultjának megtekintéséhez, ahol megtekintheti az AWS -fiókjában regisztrált összes IoT -eszközt.
3. lépés: Az AWS IOT "dolog" regisztrálása
- A navigációs sávon navigáljon az IoT „dolgai” kezeléséhez.
- Kattintson a „Regisztráljon valamit” gombra, ha még nincs dolga. (Ha már rendelkezik valamivel, kattintson a „Létrehozás” gombra a képernyő jobb felső sarkában, a keresés fül mellett.)
- Kattintson az első gombra: „Hozzon létre egy dolgot”.
- Írja be a „RaspberryPi” nevet a dologhoz. Ehhez a lépéshez nincs szükség más adatokra, mint a „Név”. Ezt követően kattintson a Tovább gombra.
4. lépés: Tanúsítvány aktiválása
- A következő lépésben kattintson a „tanúsítvány létrehozása” gombra.
- Töltse le és tárolja a 4 letöltési linket a következő oldalon egy működő könyvtárba vagy mappába. A gyökér CA fájl mentéséhez kattintson a jobb gombbal, és mentse másként.
- Kattintson az „Aktiválás” gombra, és megjelenik egy sikeres üzenet.
- Használjon barátságos neveket a fájlokhoz úgy, hogy eltávolítja a számokat az egyes fájlnevek előtt, és átnevezi a gyökér CA fájlt "rootca.pem" -re.
- A folytatáshoz kattintson a "Szabályzat csatolása" gombra.
5. lépés: Irányelv hozzáadása a tanúsítványhoz
- Ha a következő oldalon nincs házirendje, akkor a „Házirend létrehozása” gombra kattintva kéri, hogy hozzon létre egyet.
- Ha már rendelkezik meglévő házirenddel, kattintson az alábbi „Új házirend létrehozása” gombra.
-
Illessze be a következő információkat a házirend -létrehozási űrlapba.
Név: RaspberryPiSecurityPolicy
Akció: iot:*
Erőforrás ARN: *
Hatás: Engedélyezés
- A házirendnek ezután meg kell jelennie a „Házirend” lapon a „Biztonság” részben.
- Ezután lépjen a „Biztonság” alatt található „Tanúsítványok” fülre, és csatolja házirendjét a korábban létrehozott tanúsítványhoz.
- A következő oldalon kattintson a házirendre, majd a „Csatolás” gombra.
- A létrehozott dolog Részletek oldalán az „Interakció” lapon található egy REST API végpont, amelyet másolni és menteni kell.
- Az AWS -nek most rendelkeznie kell egy dologgal, amely egy házirendhez van csatolva, és rendelkezik tanúsítvánnyal.
6. lépés: Kezdeti beállítás az AWS SNS témához
SSH -t a Raspberry Pi -be, és telepítse az AWS CLI -t a következő pip paranccsal:
sudo pip telepítse awscli
Az AWS CLI tartalmazza a parancsvégző funkciót, de alapértelmezés szerint nincs telepítve. A következő paranccsal telepítheti a parancs -befejező funkciót a Raspberry Pi CLI felületére:
teljes -C aws_completer aws
Konfigurálja az AWS CLI -t hozzáférési kulcs -azonosítóval, titkos hozzáférési kulccsal, AWS -régiónévvel és parancskimeneti formátummal a következő paranccsal:
aws konfigurálja
Ezután a konzol felszólítja Önt, hogy töltse ki a következő információkat:
pi@raspberrypi: ~ $ aws configure
AWS hozzáférési kulcs azonosítója [Nincs]: "Ide írja a felhasználó hozzáférési kulcsának azonosítóját" AWS titkos hozzáférési kulcs [Nincs]: "Ide helyezze a felhasználó titkos hozzáférési kulcsát" Alapértelmezett régiónév [Nincs]: eu-central-1 Alapértelmezett kimeneti formátum [Nincs]: json pi@raspberrypi: ~ $
7. lépés: Az Iot-role.trust.json fájl létrehozása
- Hozzon létre egy JSON-fájlt a fenti IAM-házirenddel az iot-role.trust.json fájlnévvel.
- Hozza létre a szerepkört az AWS CLI használatával a következő paranccsal
aws iam create-role --role-name my-iot-role-assume-role-policy-document file: //iot-role-trust.json
8. lépés: Az Iot-policy.json fájl létrehozása
- Hozzon létre egy JSON-fájlt a fenti házirenddel az iot-policy.json fájlnévvel.
- Hozza létre a szerepkör házirendjét az AWS CLI használatával a következő paranccsal:
aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json
9. lépés: Hozzon létre egy AWS SNS témát (1. rész)
- Az AWS szolgáltatások keresősávjában keresse meg az „SNS” szolgáltatást, vagy lépjen a https://us-west-2.console.aws.amazon.com/sns/home… oldalra
- Mivel jelenleg nincsenek témái, kattintson az „Új téma létrehozása” gombra egy téma létrehozásához.
- Írja be a téma nevét és megjelenített nevét, majd kattintson a „Téma létrehozása” gombra, és egy új téma jelenik meg, ha minden lépés sikeres.
- Kattintson a „Műveletek” legördülő gombra és a „Témaszabályzat szerkesztése” gombra.
10. lépés: Hozzon létre egy AWS SNS témát (2. rész)
- Állítsa be a házirendet, hogy mindenki közzétehesse és feliratkozzon, mivel ez korlátozza az AWSEducate fiókot.
- Iratkozzon fel erre a témára, hogy megkapja a témában közzétett frissítéseket.
-
Módosítsa a protokollt „E -mail” -re, és írja be e -mail címét a végpontba.
- Lépjen az e -mail címére, ahol beírta a végpontot, kattintson a megerősítő linkre az e -mail -előfizetés megerősítéséhez, hogy feliratkozzon a témára.
- Keresse meg az „AWS IoT” szolgáltatásokat, a bal oldali navigációs menüben kattintson az „Act” gombra. Ezen az oldalon jelennek meg a szabályok, és megtekintheti és szerkesztheti azokat. Jelenleg nincsenek szabályok az IoT -dolgokra, kattintson a „Szabály létrehozása” gombra.
11. lépés: Hozzon létre egy AWS SNS témát (3. rész)
- Írjon be egy nevet a szabály Név mezőjébe. A Leírás mezőbe írja be a szabály leírását. Folytatva az Üzenetforrás részt, az „SQL verzió használata” részben a legfrissebb SQL verziót választjuk. Írja be az * attribútumot, hogy kiválassza a teljes MQTT üzenetet a témából, esetünkben témánk a „TempHumid”.
- Ezután adjon hozzá egy „SNS” értesítési műveletet a szabályhoz. Ezután kattintson a „Művelet konfigurálása” gombra.
- A „Művelet konfigurálása” oldalon válassza ki az imént létrehozott SNS témát és az üzenet formátumát RAW formátumban. Ezután válassza ki az AWS CLI használatával létrehozott szerepkört, és kattintson a „Művelet hozzáadása” gombra.
- A művelet konfigurálva lesz, és visszatér a „Szabály létrehozása” szakaszhoz.
- Kattintson a szerkesztés gombra, ha módosítani szeretné a szabályt.
12. lépés: Hozzon létre egy vödröt az Amazon S3 rendszeren
- Keresse meg az S3 -at az AWS keresősávjában.
- Az Amazon S3 oldalon a kezdéshez kattintson a „Vödör létrehozása” gombra.
-
Töltse ki a megjelenő előugró űrlapot a következő információkkal:
- Vödör neve: seroma-bucket (ennek egyedinek kell lennie az összes létező Amazon S3 vödörben)
- Régió: US West (Oregon)
- Másolási beállítások: (figyelmen kívül hagyás)
- A 2–3. Lépésekhez egyszerűen hagyja ki a „Tovább” gombra kattintva, mivel nincs mit módosítani. A 4. lépésben kattintson a „Vödör létrehozása” gombra.
- A létrehozás után látnia kell a vödröt a kezdőlapon.
13. lépés: AWS -házirend létrehozása (1. rész)
- Kattintson a létrehozott vödörre, hogy belépjen a fenti oldalra, majd folytassa a „Vödörházirend” részben az „Engedélyek” lapon.
- Ezután kattintson az oldal alján található „Policy Generator” linkre az AWS -házirend létrehozásához.
-
Az űrlapon adja meg a következő értékeket:
- A házirend típusa: S3 Bucket Policy
- Hatás: Engedélyezés
- Megbízó: *
- AWS szolgáltatás: Amazon S3
- Műveletek: GetObject
- Amazon erőforrás neve (ARN): arn: aws: s3::: seroma-bucket
- Az adatok kitöltése után kattintson a Nyilatkozat hozzáadása gombra.
- Kattintson a „Házirend létrehozása” gombra.
14. lépés: AWS -házirend létrehozása (2. rész)
- Másolja a létrehozott kódokat, majd kattintson a Bezárás gombra.
- Térjen vissza az Amazon S3 Bucket Policy szerkesztőjébe, és illessze be a korábban másolt kódokat.
- Adjon hozzá egy „/*” karaktert a forráskódok mögötti kódokhoz, mint a fenti képen, majd kattintson a Mentés gombra.
- Ezt követően a vödröt sikeresen beállítja és használatra kész.
15. lépés: Táblázatok létrehozása a DynamoDB számára
- A DynamoDB keresése az AWS Services keresősávjában
-
Kattintson a "Táblázat létrehozása" gombra, és hozzon létre 3 táblázatot az alábbi információkkal: (Csak a "tábla neve" és az "elsődleges kulcs" változik meg)
- accesslog, pk datetimevalue
- roomstatus, pk datetimevalue
- staffdata, pk felhasználónév
16. lépés: Roomstatus.py
Ez a szakasz a roomstatus.py kódját tartalmazza, amely minden percben minden szerverre vonatkozó adatot ír. Ide tartozik a hőmérséklet, a páratartalom, a mozgás (képek és videók, ha igaz) és a hozzáférési naplók. Ezenkívül adatokat ír a Google táblázatba, adatokat a DynamoDB -be, képeket és videókat (ha vannak) az S3 -ba, információkat jelenít meg az LCD -képernyőn, SMS -t és e -mailt küld, ha gyaníthatóan megsértik, vagy ha a hőmérséklet vagy a páratartalom szabálytalan.
A python fájlok futtatásához módosítsa a könyvtárat a fájl helyére, és írja be a konzolba: "sudo python"
2. kép: Az SMS és e -mail értesítéseket engedélyező funkciók, valamint az S3 -ra való feltöltés
3. kép: A függvények és az RPi működéséhez deklarált változók
4. kép: A ciklus kezdete, amely a hőmérsékleti és páratartalmi értékeket az RPi -től kapja. Ezenkívül az adatokat egy Google -táblázatba írja
5. kép: A hurok biztonsági része. Csak 19: 00 -tól 7: 00 -ig (kikapcsolva) aktiválódik. Egy perc alatt ellenőrzi a mozgást. Ha mozgást észlel, akkor képet és videót készít, majd feltölti az S3 -ra, és információkat is ír a DynamoDB -hez későbbi hivatkozás céljából. Ezt követően SMS -t és e -mailt küld, ha valami szabálytalan.
6. kép: A ciklus vége. Ezenkívül adatokat ír a DynamoDB -hez, és ennek megfelelően riasztásokat küld. A ciklus utolsó sora a szkriptet a következő perc eléréséig alvó állapotba hozza.
17. lépés: Rfid.py
Ez a szakasz az rfid.py kódját tartalmazza, amely hozzáadja a funkciót annak nyomon követéséhez, amikor egy személy belép a kiszolgálószobába. Ez is része a Seroma biztonsági aspektusának, ahol a személyzet egy tagja nem férhet hozzá a szerverhelyiséghez munkaidőn kívül, hogy megakadályozza az adatok megsértését. Emellett e -mailt és SMS -t küld az összes személyzetnek, ha szabálysértés gyanúja merül fel.
2. kép: Az RFID olvasó logikájának kezdete. Amikor egy kártyát az olvasóhoz szkennel, a kártya egyedi azonosítóját (uid) veszi fel. Ezt követően megpróbáljuk megkeresni a kártya uid értékét a staffdata táblázatban, hogy lássuk, a kártya tartozik -e valamelyik személyzethez. 3. kép: Ha a kártya uidja létezik az adatbázisban, akkor ellenőrizni fogja, hogy a hivatal alatt van -e munkaidőn kívül. Ha igen, SMS -ben és e -mailben értesíti a többi alkalmazottat a feliratkozott e -mail címekről. Ha még mindig hivatali időben van, akkor egy sort ír az adatbázis accesslog táblájába a vonatkozó adatokkal. Üdvözlő üzenetet is megjelenít az LCD kijelzőn.
18. lépés: Server.py
Ez a server.py fájl. A webes portál Flask keretrendszerét fogjuk használni. A /sablonokba beillesztendő HTML fájlok is csatolva vannak.
1. kép: A lombik első útvonala meghatározott. Átirányítja a felhasználót a bejelentkezési oldalra, ha nincs bejelentkezve, és az irányítópult oldalára, ha bejelentkezett. Ezenkívül meghatározza az élő közvetítés funkcióban használandó funkciót
2., 3., 4. kép: A lombik útvonalai. Ez adatokat kap a DynamoDB táblából, majd visszaadja azokat a HTML fájloknak, hogy ott felhasználhassák őket.
5. kép: Flask utolsó 2 útvonala. A kijelentkezés és az élő közvetítés funkciót kezeli. Meghatározza azt a portot is, amelyen a webhely futni fog.
19. lépés: Telegram.py
Ez a rész tartalmazza a Seroma táviratbotjának kódját. A telepot könyvtár segítségével érintse meg a Telegram Bot API -ját. Úgy működik, hogy elfogadja a kapott lekérdezéseket, és megjeleníti a megfelelő információkat a felhasználó számára. A felhasználó beírhatja a „help” parancsot a parancsok teljes listájához.
1., 2. kép: A táviratbot beállításához a BotFather programot kell használni. Csak futtassa az utasításokat, hogy megkapja a kódunkban szükséges HTTP API -t.
4. kép: Példa egy olyan funkcióra, amely a felhasználó kérése alapján bizonyos számú adatsort vesz ki az adatbázisból
5. kép: Hogyan vesszük figyelembe a felhasználó véleményét, és ennek megfelelően döntünk arról, hogy mit futtassunk.
20. lépés: Élő közvetítés (camera_pi.py)
Kiszolgálószoba -figyelő rendszerünk új funkcióját valósítottuk meg, a szerverteremben zajló események élő közvetítését, amely bármikor, bárhol elérhető. Hogyan működik ez az élő közvetítés: Ez egy olyan funkció, amelyet a Lombikban készítenek, a Pi kamerával együtt. A videókeretek letöltése a valóságban történik, így látható, hogy a videókeretek letöltése és összeillesztése némi késéssel (1-2 másodperccel) történik. Ezt nem lehetett megcsavarni szál nélkül, mivel a háttérszál kereteket olvas be a kamerából és tárolja az aktuális keretet. Mindezeket a képkockákat összekapcsolva élő közvetítés jön létre.
2. kép: Ez egy külön fájl, ahol az összes videó képkocka tárolódik, és amint láthatja, a picamera modul segítségével hozzáférünk málna pi kameránkhoz, mivel ezt ismerjük a legjobban. Van egy osztályos fényképezőgépünk, amellyel úgy importálhatjuk a funkciót, mintha egy élő közvetítésről lenne szó, és nem több kép kapcsolódna össze, ezért a fő alkalmazásfájlban élő közvetítésként fogjuk fel, anélkül, hogy aggódnunk kellene, hogy mi történik a színfalak mögött.
3. kép: Ez a szerver.py fájlunk része, ahol az élő közvetítés része kódolva van. A fő osztály, amelyet ehhez importáltunk, a Camera.pi.py fájlunkból a Camera.pi fájlunk tetején található Camera. A gyökérkönyvtárunkban definiáltunk egy függvényt, a gen, de csak akkor kerül használatba, amikor átmegyünk a /video_feed mappába, ahol az élő közvetítésünk van, ahol átkapcsolja ezt a funkciót, és visszaadja az élő közvetítést a weboldalon.
Ajánlott:
Hoe Maak Je Een Eigen Minecraft Server Windows (NL): 6 lépés
Hoe Maak Je Een Eigen Minecraft Server Windows (NL): Az összes Minecraft szerver a kezdetektől fogva, aantal belangrijke dingen weten.1. Om je server altijd online te houden moet je computer waarop je de server draait ook altijd online zijn.2. A szerver zal RAM geheugen gebruiken (0,5 GB)
DIY -- Clap Controlled Room Light: 3 lépés
DIY || Clap vezérelt szobafény: Gondolkozott már azon, hogy CLAP segítségével vezérelheti háztartási készülékeit? Akkor jó helyen jársz! Itt megmutatom, hogyan irányíthatsz bármilyen háztartási gépet - legyen szó szobafényről, ventilátorról, televízióról vagy audiorendszerről, csak egy tapsolással. Ez a projekt
VEX Tournament Manager Raspberry Pi 3B+ 5GHz WiFi beállítás: 4 lépés
VEX Tournament Manager Raspberry Pi 3B+ 5GHz WiFi beállítás: A Wifi támogatást félig hivatalosan hozzáadtuk! Tekintse meg az alábbi linket: https: //www.roboticseducation.org/event-partner-training-topics-raspberry-pi/ Áttekintés: A Raspberry Pi egylapos számítógép (SBC) használatának VEX támogatása miatt a VEX versenyek beállítása
Cayenne on Raspberry IoT Light Room: 4 lépés
Cayenne a Raspberry IoT Light Room -on: Az antefact egy új szoba világítás nélkül, nagy gardróbszekrény, és a vágy, hogy olyan IoT -eszközt készítsek, amelyet házon kívül is használhatok. Az IoT " íz " Cayenne -t használok. Ebben a szobában egy rejtett fényt szeretnék készíteni a szekrény mögött. Akarom minket
PassPen (Arduino Password Manager): 4 lépés
PassPen (Arduino Password Manager): Ez a PassPen projektem. egy kis arduino nano, amely bejelentkezik az iskolában a számítógépekhez. Egy kicsi PCB -vel készült, i gombokkal ellátott tűvel rendelkezik, amely lehetővé teszi a zárolást a jelszavak nyomtatása előtt