Mündəricat:
- Addım 1: AWS Hesabınıza daxil olun
- Addım 2: AWS IOT "şeyləri" işə başlayın
- Addım 3: AWS IOT "şey" in qeydiyyatı
- Addım 4: Sertifikatın aktivləşdirilməsi
- Addım 5: Sertifikatınıza Siyasət əlavə edin
- Addım 6: AWS SNS mövzusu üçün ilkin qurulma
- Addım 7: Iot-role.trust.json Faylının Yaradılması
- Addım 8: Iot-policy.json Faylının Yaradılması
- Addım 9: AWS SNS Mövzusu yaradın (1 -ci hissə)
- Addım 10: AWS SNS Mövzusu yaradın (2 -ci hissə)
- Addım 11: AWS SNS Mövzusu yaradın (3 -cü hissə)
- Addım 12: Amazon S3 -də bir kova yaradın
- Addım 13: AWS Siyasəti yaradın (1 -ci hissə)
- Addım 14: AWS Siyasəti yaradın (2 -ci hissə)
- Addım 15: DynamoDB üçün Masalar Yaratmaq
- Addım 16: Roomstatus.py
- Addım 17: Rfid.py
- Addım 18: Server.py
- Addım 19: Telegram.py
- Addım 20: Canlı yayım (camera_pi.py)
Video: Seroma: Server Otaq Meneceri: 20 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Seroma, istifadəçilərə serverlərin vəziyyətini (temperatur və rütubət), server otağının giriş qeydlərini yoxlamağa, habelə hər hansı bir təhlükəsizlik pozuntusuna görə server otağının özünü izləməyə imkan verən hamısı bir arada server otağı meneceridir.
Addım 1: AWS Hesabınıza daxil olun
- Bizim üçün AWS təhsil tələbə ağ geçidi vasitəsi ilə daxil olduq, çünki tələbə aws hesabı var.
- Sağ üstdəki naviqasiya menyusundakı "AWS Hesabı" sekmesine keçin.
- "AWS Educate Starter Hesabınıza gedin" düyməsini basın.
- AWS İdarəetmə Konsolunuza daxil olmaq üçün Konsolu açın.
Addım 2: AWS IOT "şeyləri" işə başlayın
- AWS xidmətləri axtarış çubuğunda "AWS IoT" axtarın.
- AWS hesabınızda qeydiyyatdan keçmiş bütün IoT cihazlarına baxa biləcəyiniz AWS IoT Console tablosuna keçmək üçün "Başla" düyməsini basın.
Addım 3: AWS IOT "şey" in qeydiyyatı
- Naviqasiya çubuğunda, IoT "Şeyi" idarə etmək üçün gedin.
- Hələ bir şeyiniz yoxdursa "Bir şeyi qeyd et" düyməsini basın. (Əgər bir şeyiniz varsa, axtarış nişanının yanındakı ekranın sağ üst hissəsindəki "Yarat" düyməsini basın.)
- "Tək bir şey yaradın" adlı ilk düyməni basın.
- Əşyanın adı olaraq "RaspberryPi" yazın. Bu addım üçün "Ad" dan başqa heç bir giriş tələb olunmur. Bunu etdikdən sonra növbəti düyməni basın.
Addım 4: Sertifikatın aktivləşdirilməsi
- Növbəti addımda "sertifikat yaratmaq" düyməsini basın.
- Növbəti səhifədəki 4 yükləmə bağlantısını yükləyin və işləyən bir qovluğa və ya qovluğa saxlayın. Kök CA faylını saxlamaq üçün sağ klikləyin və kimi qeyd edin.
- "Aktivləşdir" düyməsini basın və uğur mesajı görünməlidir.
- Hər bir fayl adının qarşısındakı rəqəmləri silməklə və kök CA faylını "rootca.pem" adlandıraraq fayllar üçün dostluq adlarından istifadə edin.
- Davam etmək üçün "Siyasət əlavə et" düyməsini basın.
Addım 5: Sertifikatınıza Siyasət əlavə edin
- Növbəti səhifədə heç bir siyasətiniz yoxdursa, "Siyasət Yarat" düyməsini basaraq sizə bunu etməyi təklif edəcəklər.
- Mövcud bir siyasətiniz varsa, aşağıdakı "Yeni siyasət yarat" düyməsini basın.
-
Siyasət yaratmaq formasına aşağıdakı məlumatları daxil edin.
Adı: RaspberryPiSecurityPolicy
Fəaliyyət: iot:*
Mənbə ARN: *
Təsiri: icazə verin
- Siyasətiniz "Təhlükəsizlik" altındakı "Siyasət" sekmesinde görünməlidir.
- Sonra, "Təhlükəsizlik" altındakı "Sertifikatlar" sekmesine gedin və siyasətinizi əvvəllər yaratdığınız sertifikata əlavə edin.
- Növbəti səhifədə siyasətinizi və sonra "Əlavə et" düyməsini basın.
- Yaratdığınız şeyin Təfərrüatlar səhifəsində, "Qarşılıqlı əlaqə" sekmesinin altında, kopyalanmalı və saxlanmalı olan bir REST API son nöqtəsi var.
- AWS -in indi siyasətə əlavə edilmiş və sertifikatı olan bir şeyi olmalıdır.
Addım 6: AWS SNS mövzusu üçün ilkin qurulma
SSH -ni Raspberry Pi -yə daxil edin və aşağıdakı pip əmrini istifadə edərək AWS CLI qurun:
sudo pip install awscli
AWS CLI əmr tamamlama xüsusiyyətini ehtiva edir, lakin standart olaraq quraşdırılmır. Raspberry Pi -nin CLI interfeysində əmr tamamlama xüsusiyyətini qurmaq üçün aşağıdakı əmrdən istifadə edin:
tamamlayın -C aws_completer aws
Aşağıdakı əmri istifadə edərək AWS CLI -ni Giriş Açar Kimliyi, Gizli Giriş Açarı, AWS Bölgə Adı və Komanda Çıxış formatı ilə konfiqurasiya edin:
aws konfiqurasiya edin
Sonra konsol aşağıdakı məlumatları doldurmağınızı istəyəcək:
pi@raspberrypi: ~ $ aws konfiqurasiya edin
AWS Giriş Açar Kimliyi [None]: "İstifadəçinizin Giriş Açar Kimliyini bura qoyun" AWS Gizli Giriş Açarı [Heç biri]: "İstifadəçinizin Gizli Giriş Açarını bura qoyun" Varsayılan bölgə adı [Yoxdur]: eu-mərkəzi-1 Varsayılan çıxış formatı [Heç biri]: json pi@raspberrypi: ~ $
Addım 7: Iot-role.trust.json Faylının Yaradılması
- İot-role.trust.json fayl adı ilə yuxarıdakı IAM siyasəti ilə bir JSON faylı yaradın.
- Aşağıdakı əmri istifadə edərək AWS CLI istifadə edərək rol yaradın
aws iam yaratmaq rolu-rol-ad mənim-iot-rolum-rol-siyasət-sənəd sənəd sənədi: //iot-role-trust.json
Addım 8: Iot-policy.json Faylının Yaradılması
- İot-policy.json fayl adı ilə yuxarıdakı siyasətlə bir JSON faylı yaradın.
- Aşağıdakı əmri istifadə edərək AWS CLI istifadə edərək rol siyasətini yaradın:
aws iam put-role-policy-rol adı IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json
Addım 9: AWS SNS Mövzusu yaradın (1 -ci hissə)
- AWS xidmətləri axtarış çubuğunda "SNS" xidmətini axtarın və ya https://us-west-2.console.aws.amazon.com/sns/home… ünvanına gedin.
- Mövzu olmadığından mövzu yaratmaq üçün "Yeni mövzu yarad" düyməsini basın.
- Mövzu adınızı və görünən adınızı yazın və "Mövzu yarat" düyməsini basın və bütün addımlar uğurlu olduqda yeni bir mövzu görünəcək.
- "Hərəkətlər" açılan düyməsini və "Mövzu siyasətini redaktə et" düyməsini basın.
Addım 10: AWS SNS Mövzusu yaradın (2 -ci hissə)
- Hər kəsin nəşr etməsinə və abunə olmasına icazə vermək üçün siyasət qurun, çünki bu AWSEducate hesabının məhdudiyyətləridir.
- Bu mövzuda yayımlanan yenilikləri almaq üçün bu mövzuya abunə olun.
-
Protokolu "E -poçt" olaraq dəyişdirin və son nöqtədə e -poçtunuzu daxil edin.
- Son nöqtənizi yazdığınız e -poçtunuza gedin, mövzuya abunə olmaq üçün e -poçt abunəliyinizi təsdiqləmək üçün təsdiq linkinə vurun.
- "AWS IoT" xidmətlərinə gedin, soldakı naviqasiya menyusunda "Akt" düyməsini basın. Bu səhifə, qaydalarınızın göstərildiyi yerdir və baxmaq və redaktə etmək üçün əlçatandır. Hal -hazırda IoT şeyiniz üçün heç bir qayda yoxdur, "Qayda yaradın" düyməsini basın.
Addım 11: AWS SNS Mövzusu yaradın (3 -cü hissə)
- Qaydanız üçün Ad sahəsinə bir ad yazın. Təsvir sahəsində, qaydanız üçün bir şərh yazın. Mesaj mənbəyi bölməsinə davam edərək, "SQL versiyasından istifadə" bölməsində ən yenilənmiş SQL versiyasını seçərdik. MQTT mesajının hamısını mövzudan seçmək üçün atributa * yazın, vəziyyətimizdə mövzumuz “TempHumid” dir.
- Sonra qaydanız üçün "SNS" bildiriş hərəkəti əlavə edin. Sonra, "Fəaliyyəti Konfiqurasiya et" düyməsini basın.
- "Fəaliyyəti konfiqurasiya et" səhifəsində yeni yaratdığınız SNS mövzusunu və mesaj formatını RAW olaraq seçin. Bundan sonra, AWS CLI istifadə edərək yeni yaratdığınız rolu seçin və "Fəaliyyət əlavə et" düyməsini basın.
- Hərəkətiniz konfiqurasiya ediləcək və "Qayda yaradın" a qayıdacaq.
- Qaydanı redaktə etmək istəyirsinizsə, redaktə edin.
Addım 12: Amazon S3 -də bir kova yaradın
- AWS axtarış çubuğunda S3 axtarın.
- Başlamaq üçün Amazon S3 səhifəsində "Kova Yarat" düyməsini basın.
-
Aşağıdakı məlumatlarla görünən açılan formu doldurun:
- Kova Adı: seroma-bucket (bu, bütün mövcud Amazon S3 kovalarında unikal olmalıdır)
- Bölgə: ABŞ Qərbi (Oregon)
- Ayarları Kopyala: (Yoxla)
- 2-3 -cü addımlar üçün "İrəli" düyməsinə basaraq onu atlayın, çünki dəyişdiriləcək heç nə yoxdur. 4 -cü addımda "Kova yaradın" düyməsini basın.
- Yaradıldıqdan sonra çömçənizi ana səhifədə görməlisiniz.
Addım 13: AWS Siyasəti yaradın (1 -ci hissə)
- Yuxarıdakı səhifəyə daxil olmaq üçün yaratdığınız kovanı vurun, sonra "İcazələr" sekmesinde "Kova Siyasəti" nə keçin.
- Sonra AWS siyasətinizi yaratmaq üçün səhifənin altındakı "Siyasət Yaradan" bağlantısını vurun.
-
Formada aşağıdakı dəyərləri daxil edin:
- Siyasət növü: S3 Kova Siyasəti
- Təsiri: icazə verin
- Müdir: *
- AWS Xidməti: Amazon S3
- Hərəkətlər: GetObject
- Amazon Resurs Adı (ARN): arn: aws: s3::: seroma-bucket
- Məlumatı doldurduqdan sonra Bəyanat əlavə et düyməsini basın.
- "Siyasət Yarat" düyməsini basın.
Addım 14: AWS Siyasəti yaradın (2 -ci hissə)
- Yaradılmış kodları kopyalayın və bağlayın.
- Amazon S3 Bucket Policy redaktorunuza qayıdın və əvvəllər kopyalanan kodları yapışdırın.
- Resurs kodlarının arxasındakı kodlara yuxarıdakı şəkildəki kimi "/*" əlavə edin və sonra saxla düyməsini basın.
- Bunu etdikdən sonra kovanız uğurla qurulacaq və istifadəyə hazır olacaq.
Addım 15: DynamoDB üçün Masalar Yaratmaq
- AWS Services axtarış çubuğunda DynamoDB axtarın
-
"Cədvəl yaradın" düyməsini basın və aşağıdakı məlumatlarla 3 cədvəl yaradın: (Yalnız "masa adı" və "əsas açar" dəyişdirilir)
- accesslog, pk datetimevalue
- otaq vəziyyəti, pk datetimevalue
- personal məlumatları, pk istifadəçi adı
Addım 16: Roomstatus.py
Bu bölmədə hər dəqiqə server otağının özü ilə bağlı bütün məlumatları yazan roomstatus.py kodu var. Bura temperatur, rütubət, hərəkət (doğru olarsa şəkillər və videolar) və giriş qeydləri daxildir. Ayrıca məlumatları Google elektron cədvəlinə, məlumatları DynamoDB -yə, şəkilləri və videoları (əgər varsa) S3 -ə yazır, məlumatları LCD ekranda göstərir, pozuntudan şübhələndikdə və ya temperatur və ya rütubət nizamsız olduqda SMS və e -poçt göndərir..
Python fayllarını işə salmaq üçün qovluğu faylın yerləşdiyi yerə dəyişdirin və konsola yazın: "sudo python"
Şəkil 2: SMS və E -poçt xəbərdarlıqlarına icazə vermək və S3 -ə yükləmək üçün elan edilmiş funksiyalar
Şəkil 3: Funksiyalar və RPi -nin işləməsi üçün elan edilən dəyişənlər
Şəkil 4: RPi -dən temperatur və rütubət dəyərlərini alan döngənin başlanğıcı. Ayrıca məlumatları Google elektron cədvəlinə yazır
Şəkil 5: Döngünün təhlükəsizlik hissəsi. Yalnız 7 -dən 7 -yə (aktiv olmayan saatlarda) aktiv olacaq. Bir dəqiqə ərzində hərəkəti yoxlayacaq. Hərəkət aşkar edilərsə, bir şəkil və video çəkəcək, S3 -ə yükləyəcək, eyni zamanda daha sonra istinad üçün DynamoDB -ə məlumat yazacaq. Bundan sonra, bir şey qaydasız olarsa, SMS və E -poçt göndərəcək.
Şəkil 6: Döngənin sonu. DynamoDB -yə məlumat yazır və buna uyğun olaraq xəbərdarlıq göndərir. Döngünün son sətri, skriptin növbəti dəqiqəyə çatana qədər yuxuya getməsini təmin edəcək.
Addım 17: Rfid.py
Bu bölmədə, heyət üzvünün server otağına daxil olmasını izləmək funksiyasını əlavə edən rfid.py kodu var. Məlumat pozuntusunun qarşısını almaq üçün bir işçinin iş saatından sonra server otağına daxil olmasına icazə verilmədiyi Seroma -nın təhlükəsizlik aspektinin bir hissəsidir. Bir pozuntudan şübhələnildikdə bütün işçilərə bir e -poçt və SMS göndərir.
Şəkil 2: RFID oxucu məntiqinin başlanğıcı. Bir kart oxuyana qarşı tarandıqda, kartın unikal identifikatoru (uid) alınır. Daha sonra, kartın hər hansı bir işçiyə aid olub olmadığını öyrənmək üçün kadr məlumatları cədvəlində tapmağa çalışırıq. qeyri-iş saatları. Əgər belədirsə, qalan işçiləri SMS və abunə edilmiş e -poçt ünvanlarına göndərəcək. Hələ də iş saatlarında olarsa, verilənlər bazasındakı accesslog cədvəlinə müvafiq məlumatların olduğu bir sətir yazacaq. Həmçinin LCD displeydə qarşılama mesajı göstərəcək.
Addım 18: Server.py
Bu server.py faylıdır. Veb portal üçün Flask çərçivəsindən istifadə edəcəyik. /Şablonların yerləşdiriləcəyi HTML faylları da əlavə olunur.
Şəkil 1: Şüşə üçün ilk marşrut müəyyən edilmişdir. Daxil olmadıqda istifadəçini giriş səhifəsinə, daxil olduqda isə tablosuna səhifəsinə yönləndirəcək. Canlı yayım xüsusiyyətində istifadə ediləcək bir funksiyanı da təyin edir
Şəkil 2, 3, 4: Şüşə üçün marşrutlar. DynamoDB cədvəlindən məlumat alır və sonra HTML fayllarına qaytarır ki, orada istifadə olunsun.
Şəkil 5: Şüşə üçün son 2 marşrut. Çıxış funksiyasını və canlı yayım funksiyasını idarə edir. Veb saytın işləyəcəyi limanı da göstərir.
Addım 19: Telegram.py
Bu hissədə Seroma'nın teleqram botunun kodu var. Telegramın Bot API -sinə toxunmaq üçün telepot kitabxanasından istifadə edir. Aldığı sorğuları qəbul edərək və istifadəçiyə müvafiq məlumatları göstərərək işləyir. İstifadəçi əmrlərin tam siyahısı üçün 'yardım' yaza bilər.
Şəkil 1, 2: Bir teleqram botu qurmaq üçün BotFather istifadə etməlisiniz. Kodumuzda ehtiyac duyduğumuz HTTP API -ni əldə etmək üçün təlimatları keçin.
Şəkil 4: İstifadəçinin tələbi əsasında verilənlər bazasından müəyyən sayda məlumat satırını götürən bir funksiya nümunəsi
Şəkil 5: İstifadəçinin girişini necə qəbul edirik və buna uyğun olaraq nəyin işləyəcəyinə qərar veririk.
Addım 20: Canlı yayım (camera_pi.py)
Server otağında izləmə sistemimiz üçün yeni bir xüsusiyyət tətbiq etdik, Server Otağında baş verənlərin canlı axını, buna istənilən vaxt, hər yerdə daxil olmaq mümkündür. Bu canlı axın necə işləyir: Flaskda, Pi Kamera ilə birlikdə edilən bir xüsusiyyətdir. Video çərçivələr real həyatda olduğu kimi endirilir, buna görə də video çərçivələri yükləndikdə və birlikdə tikildikdə bir az gecikmənin (1-2 saniyə) olduğunu görə bilərsiniz. Bu iş parçacığı olmadan edilə bilməz, çünki arxa plan ipi kameradan çərçivələri oxuyur və cari çərçivəni saxlayır. Bütün bu çərçivələri bir araya gətirmək daha sonra canlı bir axın çıxaracaq.
Şəkil 2: Bu, bütün video çərçivələrin saxlandığı ayrı bir sənəddir və gördüyünüz kimi moruq pi kameramıza daxil olmaq üçün picamera modulundan istifadə edirik. Bir sinif Kameramız var ki, funksiyanı canlı yayım kimi idxal edə bilək və birdən çox şəkil birləşdirilməsin, buna görə də əsas tətbiq sənədində pərdə arxasında baş verənlərdən narahatlıq keçirmədən canlı yayım olaraq qəbul ediləcək.
Şəkil 3: Bu, canlı yayım hissəsinin kodlandığı server.py faylımızın bir hissəsidir. Bunun üçün idxal etdiyimiz əsas sinif, server.py faylımızın üstündəki camera_pi.py faylımızdakı Kamera. Gen, kök qovluğumuzda bir funksiya təyin etdik, ancaq bu, yalnız canlı yayımımızın olduğu /video_feed -ə keçdiyimizdə, bu funksiyanı keçərək veb səhifədəki canlı axını geri qaytardığı zaman istifadəyə verilir.
Tövsiyə:
Daxili Pəncərə Meneceri: 10 addım
Gömülü Pəncərə Meneceri: Bu layihə, LCD paneli və toxunma ekranı olan quraşdırılmış mikro nəzarətçiyə daşınan üst-üstə düşən pəncərələri olan bir pəncərə menecerinin necə tətbiq olunacağını göstərir. Bunu etmək üçün satışda olan proqram paketləri var, amma pula başa gəlir və yaxındır
Server Otaq Monitoru: 4 addım
Server Otağı Monitoru: Server otağının problemlərindən biri də temperaturdur. İstilik istehsal edən fərqli avadanlıqlarla bu sürətlə yüksəlir. Kondisioner uğursuz olarsa, hər şeyi tez bir zamanda dayandırar. Bu vəziyyətləri proqnozlaşdırmaq üçün bir neçə mühitdən birini əldə edə bilərik
Kabel meneceri: 6 addım
Kabel Meneceri: Bir İT tələbəsi olaraq, hər kəs telefonu, internet üçün bir kabel istəyərək gəlir … Mənə kömək etmədən ehtiyac duyduqları kabeli tapmağın asan bir yolunu istədim. Kabel menecerini yaratmağımın səbəbi bu konsepsiya son olaraq hazırlanır
Tapşırıq Meneceri - Ev İşlərinin İdarə Edilməsi Sistemi: 5 addım (şəkillərlə)
Tapşırıq Meneceri - Ev İşlərinin İdarə Edilməsi Sistemi: Evimizdə (və təsəvvür edirəm, bir çox oxucunun problemi ilə) üzləşdiyim problemi həll etməyə çalışmaq istədim. ev işləri ilə. İndiyə qədər laminat bir təbəqə saxlayırıq
VEX Turnir Meneceri Raspberry Pi 3B+ 5GHz WiFi Quraşdırma: 4 Addım
VEX Tournament Manager Raspberry Pi 3B+ 5GHz WiFi Quraşdırma: Wifi dəstəyi yarı rəsmi olaraq əlavə edildi! Aşağıdakı linkə baxın: https: //www.roboticseducation.org/event-partner-training-topics-raspberry-pi/Baxış: Raspberry Pi tək lövhəli kompüterdən (SBC) istifadə edilən VEX dəstəyi VEX turnirinin qurulmasını asanlaşdırdı