Sisukord:
- Samm: logige sisse oma AWS -i kontole
- 2. samm: alustamine AWS IOT "asjadega"
- Samm: registreerige AWS IOT "asi"
- Samm: sertifikaadi aktiveerimine
- Samm: lisage oma sertifikaadile poliitika
- 6. toiming: AWS SNS teema esialgne seadistamine
- Samm 7: faili Iot-role.trust.json loomine
- 8. toiming: faili Iot-policy.json loomine
- 9. samm: looge AWS SNS teema (1. osa)
- 10. samm: looge AWS SNS teema (2. osa)
- 11. samm: looge AWS SNS teema (3. osa)
- 12. samm: looge ämber Amazon S3 -le
- 13. samm: looge AWS -poliitika (1. osa)
- 14. samm: looge AWS -poliitika (2. osa)
- 15. samm: tabelite loomine DynamoDB jaoks
- 16. samm: Roomstatus.py
- 17. samm: Rfid.py
- 18. samm: Server.py
- Samm 19: Telegram.py
- 20. toiming: otseülekanne (camera_pi.py)
Video: Seroma: Serveriruumi haldur: 20 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Seroma on kõik-ühes serveriruumihaldur, mis võimaldab kasutajatel kontrollida serverite olekut (temperatuur ja niiskus), serveriruumi juurdepääsulogi, samuti jälgida serveriruumi ennast turvarikkumiste osas.
Samm: logige sisse oma AWS -i kontole
- Meie jaoks logisime sisse AWSi hariduse üliõpilasvärava kaudu, kuna meil on õpilase aws konto.
- Minge paremas ülanurgas navigeerimismenüü vahekaardile „AWS-konto”.
- Klõpsake nuppu „Ava oma AWS Educate Starter Account“
- Avage konsool, et pääseda juurde oma AWS -i halduskonsoolile.
2. samm: alustamine AWS IOT "asjadega"
- Otsige AWS -i teenuste otsinguribalt sõna „AWS IoT”.
- AWS IoT Console armatuurlauale liikumiseks klõpsake nuppu „Alusta”, kus saate vaadata kõiki oma AWS -i kontole registreeritud IoT -seadmeid.
Samm: registreerige AWS IOT "asi"
- Navigeerimisribal navigeerige oma asjade Interneti asjade haldamiseks.
- Kui teil pole veel asja, klõpsake nuppu „Registreeri asi”. (Kui teil on midagi juba olemas, klõpsake otsingu vahekaardi kõrval ekraani paremas ülanurgas nuppu „Loo”.)
- Klõpsake esimest nuppu "Loo üks asi".
- Sisestage asja nimeks “RaspberryPi”. Selle sammu jaoks pole vaja muud sisestust kui “Nimi”. Pärast seda klõpsake nuppu Järgmine.
Samm: sertifikaadi aktiveerimine
- Järgmisel sammul klõpsake nuppu „Loo sertifikaat”.
- Laadige alla ja salvestage 4 allalaadimislingi järgmisel lehel töötavasse kataloogi või kausta. Juur-CA-faili salvestamiseks paremklõpsake ja salvestage.
- Klõpsake nuppu „Aktiveeri” ja ilmub õnnestumisteade.
- Kasutage failide jaoks sõbralikke nimesid, eemaldades iga failinime ees olevad numbrid ja nimetades juure CA faili ümber "rootca.pem".
- Jätkamiseks klõpsake "Manusta poliitika".
Samm: lisage oma sertifikaadile poliitika
- Järgmisel lehel, kui teil pole poliitikat, paluvad nad teil selle luua nupul „Loo poliitika”.
- Kui teil on juba olemasolev poliitika, klõpsake alloleval nupul „Loo uus poliitika”.
-
Sisestage poliitika loomise vormi järgmine teave.
Nimi: RaspberryPiSecurityPolicy
Tegevus: jot:*
Ressursi ARN: *
Mõju: lubage
- Seejärel peaks teie poliitika ilmuma vahekaardil „Poliitika” jaotises „Turvalisus”.
- Seejärel minge vahekaardile „Sertifikaadid”, mis on samuti jaotises „Turvalisus”, ja lisage oma poliitika varem loodud sertifikaadile.
- Järgmisel lehel klõpsake oma poliitikal ja seejärel käsul „Lisa”.
- Teie loodud asja üksikasjade lehel, vahekaardi „Suhtlemine” all on REST API lõpp -punkt, mis tuleks kopeerida ja salvestada.
- AWS -il peaks nüüd olema asi, mis on poliitikale lisatud ja millel on sertifikaat.
6. toiming: AWS SNS teema esialgne seadistamine
SSH Raspberry Pi -sse ja installige AWS CLI, kasutades järgmist käsku pip:
sudo pip install awscli
AWS CLI sisaldab käskude lõpetamise funktsiooni, kuid seda pole vaikimisi installitud. Kasutage käsu täitmise funktsiooni installimiseks Raspberry Pi CLI -liidesesse järgmist käsku:
täielik -C aws_completer aws
Konfigureerige AWS CLI juurdepääsuvõtme ID, salajase juurdepääsuvõtme, AWS piirkonna nime ja käsuväljundi vorminguga, kasutades järgmist käsku:
aws seadistada
Seejärel palub konsool sisestada järgmise teabe:
pi@raspberrypi: ~ $ aws configure
AWS-i juurdepääsuvõtme ID [puudub]: "Pange oma kasutaja juurdepääsuvõtme ID siia" AWS-i salajane juurdepääsuvõti [pole]: "Pange oma kasutaja salajane juurdepääsuvõti siia" Piirkonna vaikenimi [pole]: eu-central-1 Vaikeväljundvorming [Puudub]: json pi@raspberrypi: ~ $
Samm 7: faili Iot-role.trust.json loomine
- Looge ülaltoodud IAM-poliitikaga JSON-fail failinimega iot-role.trust.json.
- Looge roll AWS CLI abil, kasutades järgmist käsku
aws iam create-role-roll-name my-iot-role-oletame, et roll-poliitika dokumendi fail: //iot-role-trust.json
8. toiming: faili Iot-policy.json loomine
- Looge ülaltoodud poliitikaga JSON-fail failinimega iot-policy.json.
- Looge rollipoliitika AWS CLI abil, kasutades järgmist käsku:
aws iam put-role-policy-rolli nimi IoTRole-poliitika-nimi iot-policy-poliitika-dokumendi fail: //iot-policy.json
9. samm: looge AWS SNS teema (1. osa)
- Otsige AWS-i teenuste otsinguribalt teenust „SNS” või minge aadressile
- Kuna teil pole praegu teemasid, klõpsake teema loomiseks nuppu „Loo uus teema”.
- Sisestage oma teema nimi ja kuvatav nimi ning klõpsake „Loo teema“ja kui kõik toimingud on edukad, ilmub uus teema.
- Klõpsake rippmenüüst „Toimingud” ja „Muuda teemapoliitikat”.
10. samm: looge AWS SNS teema (2. osa)
- Määrake poliitika, mis võimaldab kõigil avaldada ja tellida, kuna see on AWSEducate'i konto piirang.
- Tellige see teema, et saada selle teema kohta avaldatud värskendusi.
-
Muutke protokoll "E -post" ja sisestage lõpp -punkti oma e -posti aadress.
- Minge oma e -posti aadressile, kuhu oma lõpp -punkti sisestasite, klõpsake kinnituslingil, et kinnitada oma e -posti tellimus teema tellimiseks.
- Liikuge teenustele „AWS IoT”, klõpsake vasakul navigeerimismenüüs nuppu „Tegutse”. Sellel lehel kuvatakse teie reeglid ja saate neid vaadata ja muuta. Praegu pole teie asjade Interneti jaoks reegleid, klõpsake nuppu „Loo reegel”.
11. samm: looge AWS SNS teema (3. osa)
- Sisestage oma reegli väljale nimi nimi. Sisestage väljale Kirjeldus oma reegli kirjeldus. Jätkates jaotist Sõnumi allikas, valiksime jaotises „SQL -versiooni kasutamine” kõige värskema SQL -versiooni. Kogu teemast MQTT sõnumi valimiseks tippige atribuut *, meie puhul on meie teema “TempHumid”.
- Seejärel lisage oma reegli jaoks teavitustoiming „SNS”. Seejärel klõpsake "Toimingu seadistamine".
- Valige lehel „Toimingu seadistamine” äsja loodud SNS -teema ja sõnumi vorming RAW -vormingus. Pärast seda valige AWS CLI abil äsja loodud roll ja klõpsake nuppu „Lisa toiming”.
- Teie toiming konfigureeritakse ja naaseb jaotisse „Loo reegel”.
- Kui soovite reeglit muuta, klõpsake nuppu Muuda.
12. samm: looge ämber Amazon S3 -le
- Otsige S3 AWS -i otsinguribalt.
- Alustamiseks klõpsake Amazon S3 lehel nuppu „Loo ämber”.
-
Täitke kuvatav hüpikvorm järgmise teabega:
- Ämbri nimi: seroma-ämber (see peab olema ainulaadne kõigi olemasolevate Amazon S3 ämbrite puhul)
- Piirkond: USA lääneosa (Oregon)
- Kopeerimisseaded: (ignoreeri)
- Sammude 2–3 puhul jätke see lihtsalt vahele, klõpsates nuppu „Järgmine”, kuna midagi pole muuta. 4. sammus klõpsake nuppu „Loo ämber”.
- Pärast loomist peaksite avalehel oma ämbrit nägema.
13. samm: looge AWS -poliitika (1. osa)
- Ülalolevale lehele sisenemiseks klõpsake loodud ämbril, seejärel minge vahekaardi „Õigused” jaotisse „Ämbripoliitika”.
- Järgmisena klõpsake oma AWS -poliitika loomiseks lehe allosas olevat linki „Policy Generator”.
-
Sisestage vormis järgmised väärtused:
- Poliitika tüüp: S3 ämbripoliitika
- Mõju: lubage
- Juhataja: *
- AWS -teenus: Amazon S3
- Toimingud: GetObject
- Amazoni ressursi nimi (ARN): arn: aws: s3::: seroma-bucket
- Pärast teabe täitmist klõpsake nuppu Lisa avaldus.
- Klõpsake nuppu „Loo poliitika”.
14. samm: looge AWS -poliitika (2. osa)
- Kopeerige loodud koodid ja klõpsake nuppu Sule.
- Naaske oma Amazon S3 ämbripoliitika redaktorisse ja kleepige varem kopeeritud koodid.
- Lisage "/*" koodidesse otse ressursikoodide taha, nagu ülaltoodud pildil, ja klõpsake siis nuppu Salvesta.
- Pärast seda on teie kopp edukalt seadistatud ja kasutamiseks valmis.
15. samm: tabelite loomine DynamoDB jaoks
- Otsige AWS -teenuste otsinguribalt DynamoDB -d
-
Klõpsake nuppu "Loo tabel" ja looge kolm tabelit koos järgmise teabega: (Ainult "tabeli nimi" ja "esmane võti" on muudetud)
- accesslog, pk datetimevalue
- toaolek, pk kuupäeva ja aja väärtus
- staffdata, pk kasutajanimi
16. samm: Roomstatus.py
See jaotis sisaldab koodi roomstatus.py, mis kirjutab iga minut kõik andmed serveriruumi enda kohta. See hõlmab temperatuuri, niiskust, liikumist (pildid ja videod, kui see on tõene) ja juurdepääsulogisid. Samuti kirjutab see andmed Google'i arvutustabelisse, andmed DynamoDB -sse, pilte ja videoid (kui neid on) S3 -le, kuvab teavet LCD -ekraanil, saadab SMS -i ja e -kirja, kui kahtlustatakse rikkumist või kui temperatuur või niiskus on ebaregulaarne.
Pythoni failide käitamiseks muutke kataloog faili asukohaks ja tippige konsooli: "sudo python"
Pilt 2: funktsioonid, mis lubavad SMS- ja meiliteateid ning S3 -sse üleslaadimist
Pilt 3: funktsioonide ja RPi toimimiseks deklareeritud muutujad
Pilt 4: tsükli algus, mis saab RPi -st temperatuuri ja niiskuse väärtused. Samuti kirjutab see andmed Google'i arvutustabelisse
Pilt 5: silmuse turvaosa. See aktiveerub ainult kella 19.00–7.00 (väljaspool tööaega). See kontrollib liikumist ühe minuti jooksul. Kui tuvastatakse liikumine, võtab see pildi ja video, laadib selle S3 -sse, kirjutades samal ajal teavet ka DynamoDB -le, et seda hiljem vaadata. Hiljem saadab ta SMS -i ja e -kirja, kui midagi on ebaregulaarselt.
Pilt 6: silmuse lõpp. Samuti kirjutab see DynamoDB -le andmeid ja saadab vastavalt hoiatusi. Tsükli viimane rida paneb skripti uinuma järgmise minuti saavutamiseni.
17. samm: Rfid.py
See jaotis sisaldab koodi rfid.py, mis lisab funktsionaalsuse jälgida, kui töötaja siseneb serveriruumi. See on ka osa Seroma turvaaspektist, kus töötaja ei tohi pärast tööaega serveriruumi siseneda, et vältida andmete rikkumist. Samuti saadab ta rikkumise kahtluse korral kogu personalile e -kirja ja SMS -id.
Pilt 2: RFID -lugeja loogika algus. Kui kaarti lugeja vastu skaneeritakse, võetakse kaardi kordumatu ID (uid). Hiljem proovime tabeli personaliandmete tabelist leida kaardi uid -väärtuse, et näha, kas kaart kuulub mõnele töötajale. Pilt 3: Kui kaardi uid on andmebaasis olemas, kontrollib see, kas see on kontoris töövälisel ajal. Kui see on nii, teavitab see ülejäänud töötajaid SMS -i ja tellitud e -posti aadresside kaudu. Kui see on endiselt tööajal, kirjutab see andmebaasi accesslogi tabelisse rea koos vastavate andmetega. Samuti kuvatakse LCD -ekraanile tervitusteade.
18. samm: Server.py
See on server.py fail. Kasutame veebiportaali jaoks Flaski raamistikku. Lisatud on ka /mallidesse lisatavad HTML -failid.
Pilt 1: Kolvi esimene marsruut on määratletud. See suunab kasutaja sisselogimislehele, kui ta pole sisse logitud, ja juhtpaneeli lehele, kui ta pole sisse logitud. Määrab ka funktsiooni, mida kasutada otseülekande funktsioonis
Pilt 2, 3, 4: kolvi marsruudid. See saab andmed DynamoDB tabelist ja tagastab need seejärel HTML -failidesse, et neid saaks seal kasutada.
Pilt 5: Flaski kaks viimast marsruuti. See tegeleb väljalogimise ja otseülekande funktsiooniga. Samuti määratakse kindlaks port, kus veebisait töötab.
Samm 19: Telegram.py
See jaotis sisaldab Seroma telegrammiboti koodi. See kasutab telegrammi teeki, et puudutada Telegrami Bot API -d. See toimib nõustudes saadud päringutega ja kuvades kasutajale vastava teabe. Käskude täielikuks loendiks saab kasutaja sisestada „abi”.
Pilt 1, 2: Telegrammiboti seadistamiseks peate kasutama BotFatheri. Lihtsalt järgige juhiseid, et saada oma koodis vajalik HTTP -API.
Pilt 4: näide funktsioonist, mis võtab kasutaja soovil andmebaasist teatud hulga andmeid
Pilt 5: kuidas me võtame kasutaja sisendi ja otsustame, mida käitada.
20. toiming: otseülekanne (camera_pi.py)
Oleme oma serveriruumi jälgimissüsteemi jaoks kasutusele võtnud uue funktsiooni - serveriruumis toimuva otseülekande, millele pääseb juurde igal ajal ja igal pool. Kuidas see otseülekanne töötab: see on funktsioon, mida tehakse kolvis koos Pi -kaameraga. Videokaadrid laaditakse alla nii, nagu see päriselus toimub, nii et tegelikult näete, et videokaadrite allalaadimisel ja kokkupanemisel on väike viivitus (1–2 sekundit). Seda ei saaks teha ilma keermestamiseta, kuna taustniit loeb kaamerast raame ja salvestab praeguse kaadri. Kõigi nende kaadrite kokkuühendamisel väljastatakse otseülekanne.
Pilt 2: See on eraldi fail, kuhu on salvestatud kõik videokaadrid ja nagu näete, kasutame meie vaarika pi kaamerale juurdepääsemiseks picamera moodulit, sest see on meile kõige tuttavam. Meil on klassi kaamera, et saaksime funktsiooni importida nii, nagu see oleks otseülekanne ja mitte mitu pilti, mis on kokku liidetud, seega võtaks see põhitaotlusfailis seda otseülekandena, ilma et peaksite muretsema kulisside taga toimuva pärast.
Pilt 3: See on osa meie server.py failist, kus otseülekande osa on kodeeritud. Põhiklass, mille me selle jaoks importisime, on kaamera meie failist camera_pi.py, mis asub meie server.py faili ülaosas. Funktsiooni määratlesime oma juurkataloogis, gen, kuid seda hakatakse kasutama ainult siis, kui läheme lehele /video_feed, kus asub meie otseülekanne, kus see funktsioon uuesti läbi vaatab ja veebilehel otseülekande tagastab.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
Serveriruumi monitor: 4 sammu
Serveriruumi monitor: Üks serveriruumi probleemidest on temperatuur. Erinevate soojust tootvate seadmete puhul tõuseb see kiiresti. Ja kui kliimaseade ebaõnnestub, peatab see kiiresti kõik. Nende olukordade ennustamiseks võime omandada ühe mitmest keskkonnast
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Suhtlusringide suhete haldur: 7 sammu (piltidega)
Suhtlusringide suhete juht: mis see on? Suhtlusringi kõigi oluliste inimestega ühenduse pidamine võib olla raske, eriti kui elate suures linnas, töönarkomaan, õpilane või kõik ülaltoodu. Suhtlusring pakub võimalust hoida kõiki oma lähedasi ühes