Turinys:
- 1 veiksmas: prisijunkite prie savo AWS paskyros
- 2 veiksmas: pradėkite nuo AWS IOT „dalykų“
- 3 žingsnis: užregistruokite AWS IOT „dalyką“
- 4 žingsnis: suaktyvinkite sertifikatą
- 5 veiksmas: pridėkite politiką prie sertifikato
- 6 veiksmas: pradinis AWS SNS temos nustatymas
- 7 veiksmas: sukurkite failą „Iot-role.trust.json“
- 8 veiksmas: sukurkite failą „Iot-policy.json“
- 9 veiksmas: sukurkite AWS SNS temą (1 dalis)
- 10 veiksmas: sukurkite AWS SNS temą (2 dalis)
- 11 veiksmas: sukurkite AWS SNS temą (3 dalis)
- 12 veiksmas: sukurkite kibirą „Amazon S3“
- 13 veiksmas: sukurkite AWS politiką (1 dalis)
- 14 veiksmas: sukurkite AWS politiką (2 dalis)
- 15 veiksmas: lentelių kūrimas „DynamoDB“
- 16 žingsnis: Roomstatus.py
- 17 veiksmas: Rfid.py
- 18 veiksmas: Server.py
- 19 veiksmas: Telegram.py
- 20 veiksmas: tiesioginė transliacija (camera_pi.py)
Video: Seroma: Serverio kambario tvarkyklė: 20 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
„Seroma“yra „viskas viename“serverių kambario tvarkyklė, leidžianti vartotojams patikrinti serverių būseną (temperatūrą ir drėgmę), serverio patalpos prieigos žurnalus, taip pat stebėti pačią serverio patalpą, ar nėra saugumo pažeidimų.
1 veiksmas: prisijunkite prie savo AWS paskyros
- Mūsų atveju mes prisijungėme per AWS švietimo studentų vartus, nes turime studentų aws paskyrą.
- Eikite į skirtuką „AWS paskyra“naršymo meniu viršuje dešinėje.
- Spustelėkite „Eiti į„ AWS Educate Starter “paskyrą“
- Atidarykite „Console“, kad pasiektumėte AWS valdymo pultą.
2 veiksmas: pradėkite nuo AWS IOT „dalykų“
- AWS paslaugų paieškos juostoje ieškokite „AWS IoT“.
- Spustelėkite „Pradėti“, kad pereitumėte į „AWS IoT Console“prietaisų skydelį, kuriame galėsite peržiūrėti visus jūsų AWS paskyroje registruotus „IoT“įrenginius.
3 žingsnis: užregistruokite AWS IOT „dalyką“
- Naršymo juostoje pereikite prie savo daiktų interneto „dalykų“tvarkymo.
- Spustelėkite „Užregistruoti daiktą“, jei to dar neturite. (Jei jau turite ką nors, spustelėkite mygtuką „Sukurti“, esantį viršutiniame dešiniajame ekrano kampe šalia paieškos skirtuko.)
- Spustelėkite pirmąjį mygtuką „Sukurti vieną dalyką“.
- Įveskite „RaspberryPi“kaip daikto pavadinimą. Atliekant šį veiksmą, nereikia jokių kitų įėjimų, išskyrus „Pavadinimą“. Tai padarę spustelėkite „Kitas“.
4 žingsnis: suaktyvinkite sertifikatą
- Kitame žingsnyje spustelėkite mygtuką „sukurti sertifikatą“.
- Atsisiųskite ir išsaugokite 4 atsisiuntimo nuorodas kitame puslapyje į darbinį katalogą ar aplanką. Norėdami išsaugoti pagrindinį CA failą, dešiniuoju pelės mygtuku spustelėkite ir išsaugokite kaip.
- Spustelėkite „Aktyvinti“ir pasirodys sėkmės pranešimas.
- Naudokite draugiškus failų pavadinimus, pašalindami skaičius prieš kiekvieno failo pavadinimą ir pervadindami šakninį CA failą į „rootca.pem“.
- Norėdami tęsti, spustelėkite „Pridėti politiką“.
5 veiksmas: pridėkite politiką prie sertifikato
- Kitame puslapyje, jei neturite politikos, jie paragins ją sukurti mygtuke „Sukurti politiką“.
- Jei jau turite politiką, spustelėkite žemiau esantį mygtuką „Sukurti naują politiką“.
-
Įveskite šią informaciją į politikos kūrimo formą.
Pavadinimas: RaspberryPiSecurityPolicy
Veiksmas: iot:*
Šaltinis ARN: *
Poveikis: leiskite
- Tada jūsų politika turėtų būti rodoma skirtuko „Politika“skiltyje „Sauga“.
- Tada eikite į skirtuką „Sertifikatai“, kuris taip pat yra skiltyje „Sauga“, ir pridėkite savo politiką prie anksčiau sukurto sertifikato.
- Kitame puslapyje spustelėkite savo politiką, tada spustelėkite „Pridėti“.
- Jūsų sukurto daikto išsamios informacijos puslapyje, skirtuke „Sąveika“, yra REST API galinis taškas, kurį reikia nukopijuoti ir išsaugoti.
- AWS dabar turėtų turėti dalyką, pridėtą prie politikos ir turintį sertifikatą.
6 veiksmas: pradinis AWS SNS temos nustatymas
SSH į Raspberry Pi ir įdiekite AWS CLI naudodami šią komandą pip:
sudo pip įdiegti awscli
AWS CLI apima komandų užbaigimo funkciją, tačiau ji nėra įdiegta pagal numatytuosius nustatymus. Naudokite šią komandą, kad įdiegtumėte komandų užbaigimo funkciją „Raspberry Pi“CLI sąsajoje:
baigti -C aws_completer aws
Konfigūruokite AWS CLI naudodami prieigos rakto ID, slaptą prieigos raktą, AWS regiono pavadinimą ir komandos išvesties formatą naudodami šią komandą:
aws konfigūruoti
Tada konsolė paragins įvesti šią informaciją:
pi@raspberrypi: ~ $ aws konfigūruoti
AWS prieigos rakto ID [Nėra]: „Įdėkite savo vartotojo prieigos rakto ID čia“AWS slaptas prieigos raktas [Nėra]: „Įdėkite savo vartotojo slaptą prieigos raktą čia“Numatytasis regiono pavadinimas [Nėra]: eu-central-1 Numatytasis išvesties formatas [Nėra]: json pi@raspberrypi: ~ $
7 veiksmas: sukurkite failą „Iot-role.trust.json“
- Sukurkite JSON failą naudodami aukščiau pateiktą IAM politiką su failo pavadinimu iot-role.trust.json.
- Sukurkite vaidmenį naudodami AWS CLI naudodami šią komandą
aws iam create-role --role-name my-iot-role-tarkime-role-policy-document file: //iot-role-trust.json
8 veiksmas: sukurkite failą „Iot-policy.json“
- Sukurkite JSON failą naudodami aukščiau nurodytą politiką su failo pavadinimu iot-policy.json.
- Sukurkite vaidmenų politiką naudodami AWS CLI naudodami šią komandą:
aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json
9 veiksmas: sukurkite AWS SNS temą (1 dalis)
- AWS paslaugų paieškos juostoje ieškokite „SNS“paslaugos arba eikite į
- Kadangi dabar neturite temų, spustelėkite „Sukurti naują temą“, kad sukurtumėte temą.
- Įveskite temos pavadinimą ir rodomą pavadinimą ir spustelėkite „Sukurti temą“, o kai visi veiksmai bus sėkmingi, pasirodys nauja tema.
- Spustelėkite išskleidžiamąjį mygtuką „Veiksmai“ir „Redaguoti temos politiką“.
10 veiksmas: sukurkite AWS SNS temą (2 dalis)
- Nustatykite politiką, kad visi galėtų skelbti ir prenumeruoti, nes tai yra AWSEducate paskyros apribojimai.
- Prenumeruokite šią temą, kad gautumėte naujinius, paskelbtus šia tema.
-
Pakeiskite protokolą į „Email“ir įveskite savo el.
- Eikite į savo el. Paštą, kuriame įvedėte galutinį tašką, spustelėkite patvirtinimo nuorodą, kad patvirtintumėte savo el. Pašto prenumeratą, kad galėtumėte užsiprenumeruoti temą.
- Eikite į „AWS IoT“paslaugas, kairėje esančiame naršymo meniu spustelėkite „Veikti“. Šiame puslapyje rodomos jūsų taisyklės, kurias galite peržiūrėti ir redaguoti. Šiuo metu jūsų daiktų interneto dalykui nėra taisyklių, spustelėkite „Sukurti taisyklę“.
11 veiksmas: sukurkite AWS SNS temą (3 dalis)
- Įveskite savo taisyklės pavadinimą lauke Pavadinimas. Lauke Aprašymas įveskite savo taisyklės aprašymą. Tęsdami pranešimų šaltinio skyrių, skyriuje „SQL versijos naudojimas“pasirinktume naujausią SQL versiją. Įveskite * į atributą, kad pasirinktumėte visą MQTT pranešimą iš temos, mūsų atveju mūsų tema yra „TempHumid“.
- Tada prie taisyklės pridėkite „SNS“pranešimo veiksmą. Tada spustelėkite „Konfigūruoti veiksmą“.
- Puslapyje „Konfigūruoti veiksmą“pasirinkite ką tik sukurtą SNS temą ir pranešimo formatą kaip RAW. Po to pasirinkite vaidmenį, kurį ką tik sukūrėte naudodami AWS CLI, ir spustelėkite „Pridėti veiksmą“.
- Jūsų veiksmas bus sukonfigūruotas ir grįš į „Sukurti taisyklę“.
- Jei norite redaguoti taisyklę, spustelėkite Redaguoti.
12 veiksmas: sukurkite kibirą „Amazon S3“
- Ieškokite S3 AWS paieškos juostoje.
- Norėdami pradėti, „Amazon S3“puslapyje spustelėkite mygtuką „Sukurti kibirą“.
-
Užpildykite pasirodžiusią iššokančią formą, nurodydami šią informaciją:
- Kaušo pavadinimas: seroma-kibiras (jis turi būti unikalus visuose esamuose „Amazon S3“kibiruose)
- Regionas: JAV vakarai (Oregonas)
- Kopijavimo nustatymai: (ignoruoti)
- Norėdami atlikti 2–3 veiksmus, tiesiog praleiskite jį spustelėdami „Kitas“, nes nieko nereikia keisti. 4 veiksme spustelėkite „Sukurti grupę“.
- Sukūrę pagrindiniame puslapyje turėtumėte pamatyti savo grupę.
13 veiksmas: sukurkite AWS politiką (1 dalis)
- Spustelėkite sukurtą grupę, kad patektumėte į aukščiau esantį puslapį, tada skirtuke „Leidimai“pereikite prie „Bucket Policy“.
- Tada puslapio apačioje spustelėkite nuorodą „Politikos generatorius“, kad sukurtumėte AWS politiką.
-
Formoje įveskite šias reikšmes:
- Politikos tipas: S3 kibiro politika
- Poveikis: leiskite
- Pagrindinis: *
- AWS paslauga: „Amazon S3“
- Veiksmai: „GetObject“
- „Amazon“išteklių pavadinimas (ARN): arn: aws: s3::: seroma-bucket
- Užpildę informaciją, spustelėkite Pridėti pareiškimą.
- Spustelėkite mygtuką „Sukurti politiką“.
14 veiksmas: sukurkite AWS politiką (2 dalis)
- Nukopijuokite sugeneruotus kodus ir spustelėkite uždaryti.
- Grįžkite į „Amazon S3 Bucket Policy“redaktorių ir įklijuokite anksčiau nukopijuotus kodus.
- Įtraukite „/*“į kodus iškart po išteklių kodais, kaip parodyta aukščiau esančiame paveikslėlyje, tada spustelėkite išsaugoti.
- Tai padarius, kibiras bus sėkmingai nustatytas ir paruoštas naudoti.
15 veiksmas: lentelių kūrimas „DynamoDB“
- Ieškokite „DynamoDB“AWS paslaugų paieškos juostoje
-
Spustelėkite „Sukurti lentelę“ir sukurkite 3 lenteles su toliau pateikta informacija: (keičiami tik „lentelės pavadinimas“ir „pagrindinis raktas“)
- accesslog, pk datetimevalue
- kambario būsena, pk datetimevalue
- staffdata, pk vartotojo vardas
16 žingsnis: Roomstatus.py
Šiame skyriuje yra roomstatus.py kodas, kuris kiekvieną minutę įrašo visus duomenis apie patį serverio kambarį. Tai apima temperatūrą, drėgmę, judesį (vaizdai ir vaizdo įrašai, jei tai tiesa) ir prieigos žurnalus. Ji taip pat įrašo duomenis į „Google“skaičiuoklę, duomenis į „DynamoDB“, vaizdus ir vaizdo įrašus (jei yra) į S3, pateikia informaciją LCD ekrane, siunčia SMS ir el. Laišką, kai įtariamas pažeidimas arba kai temperatūra ar drėgmė yra nereguliari.
Norėdami paleisti „Python“failus, pakeiskite katalogą į failo vietą ir įveskite konsolėje: „sudo python“
2 pav. Deklaruojamos funkcijos, leidžiančios gauti SMS ir el. Pašto įspėjimus ir įkelti į S3
3 pav. Kintamieji, nurodyti funkcijoms ir RPi veikti
4 nuotrauka: ciklo pradžia, kuri iš RPi gauna temperatūros ir drėgmės vertes. Ji taip pat įrašo duomenis į „Google“skaičiuoklę
5 pav. Saugos dalis. Jis bus aktyvuotas tik nuo 19:00 iki 7:00 (ne darbo valandomis). Jis patikrins judesį per minutę. Jei aptinkamas judesys, jis nufotografuos vaizdą ir vaizdo įrašą, įkels jį į S3, o taip pat įrašys informaciją į „DynamoDB“, kad vėliau galėtų ją peržiūrėti. Vėliau ji atsiųs SMS ir el. Laišką, jei kas nors bus ne taip.
6 nuotrauka: ciklo pabaiga. Ji taip pat rašo duomenis į „DynamoDB“ir atitinkamai siunčia įspėjimus. Paskutinė ciklo eilutė privers scenarijų užmigti, kol bus pasiekta kita minutė.
17 veiksmas: Rfid.py
Šiame skyriuje yra „rfid.py“kodas, kuris prideda funkcijų, skirtų stebėti, kai darbuotojas pasiekia serverio kambarį. Tai taip pat yra „Seroma“saugumo aspekto dalis, kai darbuotojui neleidžiama patekti į serverio kambarį po darbo valandų, kad būtų išvengta duomenų pažeidimo. Įtarus pažeidimą, ji taip pat siunčia el. Laišką ir SMS žinutes visiems darbuotojams.
2 pav. RFID skaitytuvo logikos pradžia. Kai kortelė nuskenuojama prieš skaitytuvą, imamas unikalus kortelės ID (uid). Vėliau mes stengiamės surasti kortelės uid vertę personalo duomenų lentelėje, kad pamatytume, ar kortelė priklauso kokiam nors personalui. 3 paveikslas: jei kortelės uid yra duomenų bazėje, ji patikrins, ar ji yra biure ne darbo valandomis. Jei taip, ji įspės likusius darbuotojus SMS žinute ir el. Jei jis vis dar yra darbo valandomis, jis įrašys eilutę į prieigos žurnalo lentelę duomenų bazėje su atitinkamais duomenimis. Taip pat LCD ekrane bus rodomas pasveikinimo pranešimas.
18 veiksmas: Server.py
Tai yra server.py failas. Interneto portale naudosime kolbos sistemą. Taip pat pridedami HTML failai /šablonai.
1 pav. Apibrėžtas pirmasis kolbos maršrutas. Jis nukreipia vartotoją į prisijungimo puslapį, jei jis nėra prisijungęs, ir prietaisų skydelio puslapį, jei jis yra. Taip pat apibrėžia funkciją, kuri turi būti naudojama tiesioginio srauto funkcijoje
2, 3, 4 pav. Kolbos maršrutai. Jis gauna duomenis iš „DynamoDB“lentelės ir grąžina juos į HTML failus, kad juos būtų galima ten naudoti.
5 nuotrauka: paskutiniai 2 „Flask“maršrutai. Jis tvarko atsijungimo ir tiesioginio srauto funkciją. Jame taip pat nurodomas prievadas, kuriuo svetainė veiks.
19 veiksmas: Telegram.py
Šiame skyriuje yra Seromos telegramos roboto kodas. Jis naudoja telepoto biblioteką, kad bakstelėtų „Telegram“„Bot“API. Jis veikia priimdamas gautas užklausas ir vartotojui rodydamas atitinkamą informaciją. Norėdami gauti visą komandų sąrašą, vartotojas gali įvesti „help“.
1, 2 pav. Norėdami nustatyti telegramos robotą, turite naudoti „BotFather“. Tiesiog vykdykite instrukcijas, kad gautumėte HTTP API, kurios mums reikia mūsų kode.
4 pav. Funkcijos pavyzdys, pagal vartotojo pageidavimą paimantis tam tikrą duomenų eilučių skaičių iš duomenų bazės
5 pav. Kaip mes imamės vartotojo indėlio ir atitinkamai nusprendžiame, ką paleisti.
20 veiksmas: tiesioginė transliacija (camera_pi.py)
Įdiegėme naują savo serverių kambario stebėjimo sistemos funkciją - tiesioginį srautą apie tai, kas vyksta serverių kambaryje, prie kurio galima prisijungti bet kuriuo metu ir bet kur. Kaip veikia šis tiesioginis srautas: tai funkcija, kuri atliekama naudojant kolbą kartu su „Pi“kamera. Vaizdo įrašų kadrai atsisiunčiami taip, kaip vyksta realiame gyvenime, todėl iš tikrųjų galite pastebėti, kad vaizdo įrašų kadrai atsisiunčiami ir sujungiami šiek tiek (1–2 sekundės). To nebūtų galima padaryti be siūlų, nes foninis siūlas skaito kadrus iš fotoaparato ir išsaugo esamą kadrą. Sujungus visus šiuos kadrus, būtų išvestas tiesioginis srautas.
2 nuotrauka: Tai yra atskiras failas, kuriame saugomi visi vaizdo įrašų kadrai, ir kaip matote, mes naudojame „picamera“modulį, kad pasiektume savo aviečių pi kamerą, nes tai yra labiausiai mums žinoma. Turime klasės fotoaparatą, kad galėtume importuoti funkciją taip, tarsi tai būtų tiesioginė transliacija, o ne keli vaizdai, susidedantys kartu, todėl pagrindiniame programos faile jis būtų priimamas kaip tiesioginis srautas, nesijaudinant dėl to, kas vyksta užkulisiuose.
3 pav. Tai yra mūsų server.py failo dalis, kurioje yra užkoduota tiesioginio srauto dalis. Pagrindinė klasė, kurią mes importavome, yra „Camera“iš failo „camera_pi.py“, esančio mūsų server.py failo viršuje. Funkciją apibrėžėme savo pagrindiniame kataloge, gen, tačiau ji naudojama tik tada, kai pereiname į /video_feed, kur yra mūsų tiesioginis srautas, kur ji pakartos šią funkciją ir grąžins tiesioginį srautą tinklalapyje.
Rekomenduojamas:
„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė: 10 žingsnių
„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė: Greita apžvalga: „Magic Hercules“modulis yra konverteris tarp gerai žinomo ir paprasto SPI į NZR protokolą. Modulio įėjimų tolerancija yra +3,3 V, todėl galite saugiai prijungti bet kokius mikrovaldiklius, veikiančius esant +3,3 V įtampai. Naudojant
Kaip sukurti statinę LCD tvarkyklę su „I²C“sąsaja: 12 žingsnių
Kaip sukurti statišką LCD tvarkyklę su „I²C“sąsaja: skystųjų kristalų ekranai (LCD) yra plačiai naudojami komerciniams ir pramoniniams tikslams dėl jų gerų vaizdinių savybių, mažos kainos ir mažos energijos sąnaudos. Dėl šių savybių skystųjų kristalų ekranas yra standartinis sprendimas su akumuliatoriais valdomiems prietaisams
Laisvų rankų kambario apšvietimo valdymas: 10 žingsnių
Laisvų rankų kambario apšvietimo valdymas: kaip ir filme „Neįmanoma misija“sako " Beviltiškas laikas reikalauja beviltiškų priemonių " mano brolis, kuris mokosi 10 klasėje, sumanė valdyti virtuvės šviesas telefonu, o ne jungikliais ir priežastis
Įterptųjų langų tvarkyklė: 10 žingsnių
Įterptųjų langų tvarkyklė: šis projektas parodo, kaip įdiegti langų tvarkyklę su kilnojamais persidengiančiais langais įterptame mikrovaldiklyje su LCD ekranu ir jutikliniu ekranu. Tam yra komercinių programinės įrangos paketų, tačiau jie kainuoja pinigus ir yra arti
Serverio kambario monitorius: 4 žingsniai
Serverio kambario monitorius: Viena iš serverio kambario problemų yra temperatūra. Naudojant skirtingą šilumą gaminančią įrangą, tai greitai kyla. O jei sugenda oro kondicionierius, jis greitai viską sustabdo. Norėdami numatyti šias situacijas, galime įsigyti vieną iš kelių aplinkų