Orodha ya maudhui:
- Hatua ya 1: Ingia kwenye Akaunti yako ya AWS
- Hatua ya 2: Kuanza na "vitu" vya AWS IOT
- Hatua ya 3: Kusajili "kitu" cha AWS IOT
- Hatua ya 4: Kuamilisha Cheti
- Hatua ya 5: Kuongeza Sera kwenye Cheti chako
- Hatua ya 6: Usanidi wa Awali wa Mada ya AWS SNS
- Hatua ya 7: Kuunda faili ya Iot-role.trust.json
- Hatua ya 8: Kuunda Faili ya Iot-policy.json
- Hatua ya 9: Unda Mada ya AWS SNS (Sehemu ya 1)
- Hatua ya 10: Unda Mada ya AWS SNS (Sehemu ya 2)
- Hatua ya 11: Unda Mada ya AWS SNS (Sehemu ya 3)
- Hatua ya 12: Unda ndoo kwenye Amazon S3
- Hatua ya 13: Tengeneza Sera ya AWS (Sehemu ya 1)
- Hatua ya 14: Tengeneza Sera ya AWS (Sehemu ya 2)
- Hatua ya 15: Kuunda Meza za DynamoDB
- Hatua ya 16: Roomstatus.py
- Hatua ya 17: Rfid.py
- Hatua ya 18: Server.py
- Hatua ya 19: Telegram.py
- Hatua ya 20: Mtiririko wa moja kwa moja (camera_pi.py)
Video: Seroma: Meneja wa Chumba cha Seva: Hatua 20
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Seroma ni msimamizi wa chumba kimoja cha seva ambayo inaruhusu watumiaji kuangalia hali ya seva (joto na unyevu), magogo ya ufikiaji wa chumba cha seva, na pia kufuatilia chumba cha seva yenyewe kwa ukiukaji wowote wa usalama.
Hatua ya 1: Ingia kwenye Akaunti yako ya AWS
- Kwa yetu, tuliingia kupitia njia ya kuelimisha ya wanafunzi ya AWS kwani tuna akaunti ya mwanafunzi.
- Elekea kwenye kichupo cha "Akaunti ya AWS" kwenye menyu ya urambazaji upande wa kulia kulia.
- Bonyeza "Nenda kwenye Akaunti yako ya Kuanza ya Kuelimisha ya AWS"
- Fungua Dashibodi kufikia Dashibodi yako ya Usimamizi ya AWS.
Hatua ya 2: Kuanza na "vitu" vya AWS IOT
- Tafuta "AWS IoT" katika upau wa utafutaji wa huduma za AWS.
- Bonyeza "Anza" kuendelea na dashibodi ya AWS IoT Console ambapo unaweza kuona vifaa vyote vya IoT vilivyosajiliwa kwenye akaunti yako ya AWS.
Hatua ya 3: Kusajili "kitu" cha AWS IOT
- Kwenye mwambaa wa kusogea, nenda ili kudhibiti "Vitu" vyako vya IoT.
- Bonyeza "Sajili kitu" ikiwa huna kitu bado. (Ikiwa tayari unayo kitu kisha bonyeza kitufe cha "Unda" kulia juu ya skrini karibu na kichupo cha utaftaji.)
- Bonyeza kitufe cha kwanza kinachoitwa "Unda kitu kimoja".
- Andika "RaspberryPi" kama jina la kitu hicho. Kwa hatua hii, hakuna mchango wowote isipokuwa "Jina" unahitajika. Baada ya kufanya hivyo, bonyeza inayofuata.
Hatua ya 4: Kuamilisha Cheti
- Kwenye hatua inayofuata, bonyeza kitufe cha "tengeneza cheti".
- Pakua na uhifadhi viungo 4 vya kupakua kwenye ukurasa unaofuata kwenye saraka au folda inayofanya kazi. Ili kuhifadhi faili ya mizizi ya CA, bonyeza kulia na uhifadhi-kama.
- Bonyeza "Anzisha" na ujumbe wa mafanikio unapaswa kuonekana.
- Tumia majina ya kirafiki kwa faili kwa kuondoa nambari mbele ya kila jina la faili, na kubadilisha jina la mzizi wa CA kuwa "rootca.pem".
- Bonyeza "Ambatisha sera" kuendelea.
Hatua ya 5: Kuongeza Sera kwenye Cheti chako
- Kwenye ukurasa unaofuata, ikiwa huna sera, watakuhimiza ufanye moja kwenye kitufe cha "Unda Sera".
- Ikiwa tayari unayo sera iliyopo, bonyeza kitufe cha "Unda sera mpya" hapa chini.
-
Ingiza habari ifuatayo kwenye fomu ya kuunda sera.
Jina: RaspberryPiSecurityPolicy
Hatua: iot: *
Rasilimali ARN: *
Athari: Ruhusu
- Sera yako inapaswa kuonekana kwenye kichupo cha "Sera" chini ya "Usalama".
- Ifuatayo, nenda kwenye kichupo cha "Vyeti" ambayo pia iko chini ya "Usalama", na ambatisha sera yako kwenye cheti ulichounda hapo awali.
- Kwenye ukurasa unaofuata, bonyeza sera yako na kisha bonyeza "Ambatanisha".
- Katika ukurasa wa Maelezo ya kitu ulichounda, chini ya kichupo cha "Ungiliana", kuna mwisho wa API ya REST ambayo inapaswa kunakiliwa na kuhifadhiwa.
- AWS sasa inapaswa kuwa na Jambo ambalo limeambatanishwa na sera na ina cheti.
Hatua ya 6: Usanidi wa Awali wa Mada ya AWS SNS
SSH kwenye Raspberry Pi na usakinishe AWS CLI ukitumia amri ifuatayo ya bomba:
Sudo pip kufunga awscli
AWS CLI inajumuisha huduma ya kukamilisha amri lakini haijawekwa kwa chaguo-msingi. Tumia amri ifuatayo kusanikisha kipengele cha kukamilisha amri kwenye kiolesura cha CLI cha Raspberry Pi:
kamili -C aws_completer aws
Sanidi AWS CLI na Kitambulisho cha Ufikiaji, Kitufe cha Ufikiaji wa Siri, Jina la Mkoa wa AWS na muundo wa Pato la Amri ukitumia amri ifuatayo:
usanidi wa aws
Dashibodi itakushawishi kujaza habari ifuatayo:
pi @ raspberrypi: ~ $ aws usanidi
Kitambulisho cha ufikiaji wa AWS [Hakuna]: "Weka Kitambulisho cha Ufunguo wa Mtumiaji wako hapa" Kitufe cha Ufikiaji cha Siri cha AWS [Hamna]: "Weka Kitufe cha Ufikiaji wa Siri cha Mtumiaji wako hapa" Jina la mkoa chaguo-msingi [Hamna]: eu-central-1 Fomati chaguomsingi ya pato [Hakuna]: json pi @ raspberrypi: ~ $
Hatua ya 7: Kuunda faili ya Iot-role.trust.json
- Unda faili ya JSON na sera ya hapo juu ya IAM na jina la faili iot-role.trust.json.
- Unda jukumu ukitumia AWS CLI ukitumia amri ifuatayo
aws iam kujenga-jukumu - jina-jukumu langu-jukumu-jukumu -chukua-jukumu-sera-faili ya hati: //iot-role-trust.json
Hatua ya 8: Kuunda Faili ya Iot-policy.json
- Unda faili ya JSON na sera iliyo hapo juu na jina la faili iot-policy.json.
- Unda sera ya jukumu ukitumia AWS CLI ukitumia amri ifuatayo:
aws iam kuweka-jukumu-sera-jina-jina IoTRole - sera-jina jina iot-sera - sera ya hati-hati: //iot-policy.json
Hatua ya 9: Unda Mada ya AWS SNS (Sehemu ya 1)
- Kwenye mwambaa wa utaftaji wa huduma za AWS, Tafuta huduma ya "SNS" au elekea
- Kwa kuwa hauna mada sasa, bonyeza "Unda mada mpya" kuunda mada.
- Andika jina la mada yako na jina la kuonyesha na bonyeza "Unda mada" na mada mpya itaonekana wakati hatua zote zimefanikiwa.
- Bonyeza kitufe cha kushuka cha "Vitendo" na "Hariri sera ya mada".
Hatua ya 10: Unda Mada ya AWS SNS (Sehemu ya 2)
- Weka sera ili kuruhusu kila mtu kuchapisha na kujisajili, kwani hii ni mapungufu ya akaunti ya AWSEducate.
- Jisajili kwenye mada hii ili upokee visasisho vilivyochapishwa kwa mada hii.
-
Badilisha itifaki kuwa "Barua pepe" na ingiza barua pepe yako mwisho.
- Elekea kwenye barua pepe yako ambapo umechapa mwisho wako, bonyeza kitufe cha uthibitisho ili kudhibitisha usajili wako wa barua pepe ili ujiandikishe kwa mada.
- Nenda kwenye huduma za "AWS IoT", kwenye menyu ya urambazaji kushoto, bonyeza "Sheria". Ukurasa huu ndio sheria zako zinaonyeshwa na inapatikana kwako kutazama na kuhariri. Hivi sasa, hakuna sheria za kitu chako cha IoT, bonyeza "Unda sheria".
Hatua ya 11: Unda Mada ya AWS SNS (Sehemu ya 3)
- Andika jina kwenye uwanja wa Jina kwa sheria yako. Kwenye uwanja wa Maelezo, andika maelezo kwa sheria yako. Kuendelea na sehemu ya chanzo cha Ujumbe, tungechagua toleo la SQL iliyosasishwa zaidi katika sehemu ya "Kutumia toleo la SQL". Andika * katika sifa ili kuchagua ujumbe wote wa MQTT kutoka kwa mada, kwa upande wetu mada yetu ni "TempHumid".
- Kisha ongeza kitendo cha arifu cha "SNS" kwa sheria yako. Kisha, bonyeza "Sanidi hatua".
- Kwenye ukurasa wa "Sanidi hatua", chagua mada ya SNS ambayo umetengeneza tu na muundo wa ujumbe kama RAW. Baada ya hapo, chagua jukumu uliloundwa tu kwa kutumia AWS CLI na bonyeza "Ongeza hatua".
- Kitendo chako kitasanidiwa na kurudi kwenye "Unda sheria".
- Bonyeza hariri ikiwa unataka kuhariri sheria.
Hatua ya 12: Unda ndoo kwenye Amazon S3
- Tafuta S3 katika upau wa utaftaji wa AWS.
- Katika ukurasa wa Amazon S3, bonyeza kitufe cha "Unda Ndoo" ili uanze.
-
Jaza fomu ya kidukizo inayoonekana na habari ifuatayo:
- Jina la Ndoo: seroma-ndoo (hii lazima iwe ya kipekee kwenye ndoo zote zilizopo za Amazon S3)
- Mkoa: Amerika Magharibi (Oregon)
- Nakili Mipangilio: (Puuza)
- Kwa hatua 2 hadi 3, ruka tu kwa kubofya "Ifuatayo" kwani hakuna kitu cha kubadilishwa. Kwenye hatua ya 4, bonyeza "Unda ndoo".
- Baada ya uumbaji, unapaswa kuona ndoo yako kwenye ukurasa wa nyumbani.
Hatua ya 13: Tengeneza Sera ya AWS (Sehemu ya 1)
- Bonyeza kwenye ndoo uliyounda kuingia ukurasa ulio juu, kisha endelea kwa "Sera ya Ndoo" chini ya kichupo cha "Ruhusa".
- Ifuatayo, bonyeza kitufe cha "Jenereta ya Sera" chini ya ukurasa ili kuunda sera yako ya AWS.
-
Katika fomu, ingiza maadili yafuatayo:
- Aina ya Sera: Sera ya Ndoo ya S3
- Athari: Ruhusu
- Mkuu: *
- Huduma ya AWS: Amazon S3
- Vitendo: GetObject
- Jina la Rasilimali la Amazon (ARN): arn: aws: s3::: seroma-ndoo
- Baada ya kujaza habari, bonyeza Bonyeza Taarifa.
- Bonyeza kitufe cha "Tengeneza Sera".
Hatua ya 14: Tengeneza Sera ya AWS (Sehemu ya 2)
- Nakili nambari zilizozalishwa na bonyeza karibu.
- Rudi kwa mhariri wako wa Sera ya Ndoo ya Amazon S3 na ubandike nambari zilizonakiliwa hapo awali.
- Ongeza "/ *" kwenye misimbo nyuma ya nambari za Rasilimali, kama kwenye picha hapo juu, kisha bonyeza kuokoa.
- Baada ya kufanya hivyo, ndoo yako itawekwa vizuri na iko tayari kutumika.
Hatua ya 15: Kuunda Meza za DynamoDB
- Tafuta DynamoDB katika upau wa utaftaji wa Huduma za AWS
-
Bonyeza kwenye "Unda meza" na uunda meza 3 na habari hapa chini: ("Jina la meza" tu na "ufunguo wa msingi" tu hubadilishwa)
- upatikanaji, thamani ya wakati wa pk
- chumba, chumba cha thamani cha wakati wa pk
- staffdata, jina la mtumiaji la pk
Hatua ya 16: Roomstatus.py
Sehemu hii ina nambari ya roomstatus.py, ambayo inaandika data zote kuhusu chumba cha seva yenyewe kila dakika. Hii ni pamoja na joto, unyevu, mwendo (picha na video ikiwa ni kweli), na magogo ya ufikiaji. Pia inaandika data kwa lahajedwali la Google, data kwa DynamoDB, picha na video (ikiwa ipo) kwa S3, kuonyesha habari kwenye skrini ya LCD, kutuma SMS na Barua pepe wakati kuna ukiukaji unaoshukiwa, au wakati hali ya joto au unyevu ni kawaida.
Ili kuendesha faili za chatu, badilisha saraka hadi faili iko wapi na andika koni: "Sudo chatu"
Picha 2: Kazi zilizotangazwa kuruhusu arifu za SMS na Barua pepe, na kupakia kwenye S3
Picha 3: Vigezo vilivyotangazwa kwa kazi na RPi kufanya kazi
Picha 4: Anza ya kitanzi ambacho hupata maadili ya joto na unyevu kutoka kwa RPi. Pia inaandika data kwa lahajedwali la Google
Picha 5: Sehemu ya usalama ya kitanzi. Itaanza tu kutoka 7pm hadi 7am (masaa ya kupumzika). Itachunguza mwendo kwa dakika moja. Ikiwa mwendo umegunduliwa, itachukua picha na video, kuipakia kwa S3, wakati pia ikiandika habari kwa DynamoDB kwa kumbukumbu baadaye. Baadaye, itatuma SMS na Barua pepe ikiwa kuna jambo lisilo la kawaida.
Picha 6: Mwisho wa kitanzi. Pia inaandika data kwa DynamoDB na kutuma arifa ipasavyo. Mstari wa mwisho wa kitanzi utafanya script kulala hadi dakika inayofuata itafikiwa.
Hatua ya 17: Rfid.py
Sehemu hii ina nambari ya rfid.py, ambayo inaongeza utendaji wa kufuatilia wakati mfanyakazi anapata chumba cha seva. Pia ni sehemu ya usalama wa Seroma, ambapo mfanyikazi haruhusiwi kupata chumba cha seva baada ya masaa ya kazi, kuzuia uvunjaji wa data. Pia hutuma Barua pepe na SMS wafanyikazi wote ikiwa ukiukaji unashukiwa.
Picha 2: Anza ya mantiki ya msomaji wa RFID. Wakati wowote kadi inapochunguzwa dhidi ya msomaji, kitambulisho cha kipekee cha kadi hiyo huchukuliwa. Baadaye, tunajaribu kupata thamani ya kadi kwenye meza ya wafanyikazi ili kuona ikiwa kadi hiyo ni ya mfanyakazi yeyote. masaa-mbali. Ikiwa ni hivyo, itaarifu wafanyikazi wengine kupitia SMS na Barua pepe anwani za barua pepe zilizosajiliwa. Ikiwa bado ni wakati wa masaa ya kazi, itaandika safu kwenye meza ya upatikanaji kwenye hifadhidata na data inayofaa. Pia itaonyesha ujumbe wa kukaribisha kwenye onyesho la LCD.
Hatua ya 18: Server.py
Hii ndio faili ya server.py. Tutatumia mfumo wa Flask kwa bandari ya wavuti. Faili za HTML kuwekwa / templeti zimeambatanishwa pia.
Picha 1: Njia ya kwanza ya Flask imeainishwa. Itaelekeza mtumiaji kwenye ukurasa wa kuingia ikiwa hawajaingia, na ukurasa wa dashibodi ikiwa wapo. Pia hufafanua kazi itakayotumiwa katika huduma ya mtiririko wa moja kwa moja
Pic 2, 3, 4: Njia za Flask. Inapata data kutoka kwa meza ya DynamoDB na kisha inawarudisha kwenye faili za HTML ili waweze kutumiwa hapo.
Picha 5: Njia 2 za mwisho za Flask. Inashughulikia kazi ya kutoka nje na kazi ya mtiririko wa moja kwa moja. Inabainisha pia bandari ambayo wavuti itaendeshwa.
Hatua ya 19: Telegram.py
Sehemu hii inajumuisha nambari ya bot ya telegram ya Seroma. Inatumia maktaba ya telepot kugonga Bot API ya Telegram. Inafanya kazi kwa kukubali maswali anayopata na kuonyesha habari husika kwa mtumiaji. Mtumiaji anaweza kuandika 'msaada' kwa orodha kamili ya amri.
Picha 1, 2: Kuanzisha bot ya telegram, unahitaji kutumia BotFather. Endesha tu kupitia maagizo ili upate API ya HTTP ambayo tunahitaji katika nambari yetu.
Picha 4: Mfano wa kazi ambayo inachukua idadi kadhaa ya safu za data kutoka hifadhidata kulingana na ombi la mtumiaji
Picha 5: Jinsi tunavyochukua maoni ya mtumiaji na kuamua ni nini cha kutekeleza ipasavyo.
Hatua ya 20: Mtiririko wa moja kwa moja (camera_pi.py)
Tumetekeleza huduma mpya kwa mfumo wetu wa ufuatiliaji wa chumba cha seva, mkondo wa moja kwa moja wa kile kinachoendelea kwenye Chumba cha Seva, hii inaweza kupatikana wakati wowote, mahali popote. Jinsi mtiririko huu wa moja kwa moja unavyofanya kazi: Ni huduma ambayo hufanywa katika Flask, pamoja na Pi Camera. Muafaka wa video hupakuliwa kama inavyotokea katika maisha halisi, kwa hivyo unaweza kuona kuwa kuna kuchelewa kidogo (sekunde 1-2) wakati muafaka wa video unapakuliwa na kupigwa pamoja. Hii haingeweza kufanywa bila uzi, kwani uzi wa nyuma unasoma fremu kutoka kwa kamera na kuhifadhi fremu ya sasa. Kuunganisha fremu hizi zote kwa pamoja kungeweza kutoa mtiririko wa moja kwa moja.
Picha 2: Hii ni faili tofauti ambapo fremu zote za video zimehifadhiwa na kama unavyoona, tunatumia moduli ya kamera kupata kamera yetu ya rasiberi kwani ndio tunayoijua sana. Tunayo Kamera ya darasa ili tuweze kuingiza kazi kana kwamba ni mtiririko wa moja kwa moja na sio picha nyingi zinazojitokeza pamoja, kwa hivyo katika faili kuu ya programu inaweza kuichukua kama mkondo wa moja kwa moja bila kuwa na wasiwasi juu ya kile kinachotokea nyuma ya pazia.
Picha 3: Hii ni sehemu ya faili yetu ya seva.py ambapo sehemu ya mtiririko wa moja kwa moja imeorodheshwa. Darasa kuu tuliloingiza kwa hii ni Kamera kutoka kwa faili yetu ya kamera_pi.py juu ya faili yetu ya seva.py. Tulifafanua kazi kwenye saraka yetu ya mizizi, gen, hata hivyo inatumika tu tunapoelekea / video_feed ambapo mtiririko wetu wa moja kwa moja uko, ambapo itapita kupitia kazi hii na kurudisha mkondo wa moja kwa moja kwenye ukurasa wa wavuti.
Ilipendekeza:
Fanair: Kituo cha hali ya hewa cha Chumba chako: Hatua 6 (na Picha)
Fanair: Kituo cha hali ya hewa cha Chumba chako: Kuna njia nyingi za kujua hali ya hewa ya sasa, lakini basi unajua hali ya hewa nje. Je! Ikiwa unataka kujua hali ya hewa ndani ya nyumba yako, ndani ya chumba maalum? Hiyo ndio ninajaribu kutatua na mradi huu. Fanair hutumia mul
Ufuatiliaji wa Chumba cha Seva: Hatua 4
Ufuatiliaji wa Chumba cha Seva: Moja ya shida za chumba cha seva ni joto. Na vifaa tofauti vinavyozalisha joto, hii huinuka haraka. Na ikiwa hali ya hewa inashindwa, huacha kila kitu haraka. Kutabiri hali hizi tunaweza kupata moja ya mazingira kadhaa
Chumba cha Lettuce cha Nafasi kinachoweza kufundishwa- Roboti ya Shule ya Upili ya Ndege: Hatua 8
Chumba cha Lettuce cha Nafasi kinachoweza kufundishwa- Roboti ya Shule ya Upili ya Ndege: Hili ni Agizo linalofanywa na wanafunzi watatu wa shule ya upili waliojiunga na darasa la roboti. Tutakuwa tunaunda chumba cha kukuza lettuce katika nafasi ya Shindano la Kukua Zaidi ya Dunia na NASA. Tunakwenda kukuonyesha jinsi ya kuunda chombo. Wacha tuangalie
Chumba cha 9-UV Plasma Cannon Chumba cha Thani: Hatua 10
Chumba cha Thoranium cha Plasma Cannon ya 9-UV: Lazima nitoe sifa kwa Aeon Junophor kwa kuzua wazo nzuri. Baada ya kusoma juu ya mradi wake Uranium-glasi-marumaru-pete-oscillator lazima nijaribu hii kwa kupotosha chache. Siku chache baada ya kusoma na kufikiria juu ya mwelekeo niliotaka
Taa ya Chumba cha Chumba cha LED cha kudhibitiwa kwa mbali: Hatua 5 (na Picha)
Taa ya Chumba cha Uhuishaji cha LED inayodhibitiwa kwa mbali: Kwa wale ambao wanataka kupumzika au onyesho lenye kupendeza la kupendeza, kwa chumba cha watoto, mapambo ya Krismasi, au kwa kujifurahisha tu, hapa kuna kiboreshaji changu cha mandhari. Ninapata majibu ya shauku kutoka kwa watoto wa miezi 6 hadi watoto wakubwa wakati wote