Πίνακας περιεχομένων:

Seroma: Server Room Manager: 20 Βήματα
Seroma: Server Room Manager: 20 Βήματα

Βίντεο: Seroma: Server Room Manager: 20 Βήματα

Βίντεο: Seroma: Server Room Manager: 20 Βήματα
Βίντεο: Inserting a 15 cm mesh in Robotic TARUP Surgery for Umbilical Hernia #drvishalsoni 2024, Νοέμβριος
Anonim
Seroma: Διαχειριστής δωματίου διακομιστή
Seroma: Διαχειριστής δωματίου διακομιστή

Το Seroma είναι ένας διαχειριστής δωματίου διακομιστή all-in-one που επιτρέπει στους χρήστες να ελέγχουν την κατάσταση των διακομιστών (θερμοκρασία και υγρασία), τα αρχεία καταγραφής πρόσβασης του δωματίου διακομιστή, καθώς και να παρακολουθούν το ίδιο το δωμάτιο διακομιστή για τυχόν παραβιάσεις ασφαλείας.

Βήμα 1: Συνδεθείτε στον λογαριασμό σας AWS

Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
Συνδεθείτε στον λογαριασμό σας AWS
  1. Για τη δική μας, συνδεθήκαμε μέσω της πύλης μαθητών AWS εκπαίδευσης καθώς έχουμε λογαριασμό aws σπουδαστών.
  2. Μεταβείτε στην καρτέλα "Λογαριασμός AWS" στο μενού πλοήγησης στην επάνω δεξιά γωνία.
  3. Κάντε κλικ στο "Μετάβαση στον λογαριασμό σας AWS Educate Starter"
  4. Ανοίξτε την Κονσόλα για πρόσβαση στην Κονσόλα διαχείρισης AWS.

Βήμα 2: Ξεκινώντας με "πράγματα" AWS IOT

Ξεκινώντας με το AWS IOT
Ξεκινώντας με το AWS IOT
Ξεκινώντας με το AWS IOT
Ξεκινώντας με το AWS IOT
  1. Αναζητήστε το "AWS IoT" στη γραμμή αναζήτησης υπηρεσιών AWS.
  2. Κάντε κλικ στο "Έναρξη" για να προχωρήσετε στον πίνακα ελέγχου AWS IoT Console όπου μπορείτε να δείτε όλες τις συσκευές IoT που είναι καταχωρημένες στον λογαριασμό σας AWS.

Βήμα 3: Εγγραφή ενός "πράγματος" AWS IOT

Εγγραφή AWS IOT
Εγγραφή AWS IOT
Εγγραφή AWS IOT
Εγγραφή AWS IOT
Εγγραφή AWS IOT
Εγγραφή AWS IOT
  1. Στη γραμμή πλοήγησης, πλοηγηθείτε για να διαχειριστείτε τα "Πράγματα" του IoT.
  2. Κάντε κλικ στο "Εγγραφή ενός πράγματος" εάν δεν έχετε ακόμα ένα αντικείμενο. (Εάν έχετε ήδη ένα πράγμα, κάντε κλικ στο κουμπί "Δημιουργία" στην επάνω δεξιά γωνία της οθόνης δίπλα στην καρτέλα αναζήτησης.)
  3. Κάντε κλικ στο πρώτο κουμπί που ονομάζεται "Δημιουργήστε ένα μόνο πράγμα".
  4. Πληκτρολογήστε "RaspberryPi" ως όνομα του αντικειμένου. Για αυτό το βήμα, δεν απαιτείται άλλη είσοδος εκτός από το "Όνομα". Αφού το κάνετε, κάντε κλικ στο επόμενο.

Βήμα 4: Ενεργοποίηση πιστοποιητικού

Ενεργοποίηση Πιστοποιητικού
Ενεργοποίηση Πιστοποιητικού
Ενεργοποίηση Πιστοποιητικού
Ενεργοποίηση Πιστοποιητικού
  1. Στο επόμενο βήμα, κάντε κλικ στο κουμπί "δημιουργία πιστοποιητικού".
  2. Κατεβάστε και αποθηκεύστε τους 4 συνδέσμους λήψης στην επόμενη σελίδα σε έναν κατάλογο ή φάκελο εργασίας. Για να αποθηκεύσετε το ριζικό αρχείο CA, κάντε δεξί κλικ και αποθηκεύστε ως.
  3. Κάντε κλικ στο "Ενεργοποίηση" και θα εμφανιστεί ένα μήνυμα επιτυχίας.
  4. Χρησιμοποιήστε φιλικά ονόματα για τα αρχεία αφαιρώντας τους αριθμούς μπροστά από κάθε όνομα αρχείου και μετονομάζοντας το ριζικό αρχείο CA σε "rootca.pem".
  5. Κάντε κλικ στο "Επισύναψη πολιτικής" για να συνεχίσετε.

Βήμα 5: Προσθήκη πολιτικής στο πιστοποιητικό σας

Προσθήκη πολιτικής στο πιστοποιητικό σας
Προσθήκη πολιτικής στο πιστοποιητικό σας
Προσθήκη πολιτικής στο πιστοποιητικό σας
Προσθήκη πολιτικής στο πιστοποιητικό σας
Προσθήκη πολιτικής στο πιστοποιητικό σας
Προσθήκη πολιτικής στο πιστοποιητικό σας
  1. Στην επόμενη σελίδα, εάν δεν έχετε πολιτική, θα σας ζητήσει να κάνετε μια στο κουμπί "Δημιουργία πολιτικής".
  2. Εάν έχετε ήδη υπάρχουσα πολιτική, κάντε κλικ στο κουμπί "Δημιουργία νέας πολιτικής" παρακάτω.
  3. Εισαγάγετε τις παρακάτω πληροφορίες στη φόρμα δημιουργίας πολιτικής.

    Όνομα: RaspberryPiSecurityPolicy

    Δράση: iot:*

    ARN πόρων: *

    Εφέ: Επιτρέψτε

  4. Η πολιτική σας θα πρέπει στη συνέχεια να εμφανίζεται στην καρτέλα "Πολιτική" στην ενότητα "Ασφάλεια".
  5. Στη συνέχεια, μεταβείτε στην καρτέλα "Πιστοποιητικά" που βρίσκεται επίσης στην ενότητα "Ασφάλεια" και επισυνάψτε την πολιτική σας στο πιστοποιητικό που δημιουργήσατε προηγουμένως.
  6. Στην επόμενη σελίδα, κάντε κλικ στην πολιτική σας και, στη συνέχεια, κάντε κλικ στην επιλογή "Επισύναψη".
  7. Στη σελίδα Λεπτομέρειες του αντικειμένου που δημιουργήσατε, στην καρτέλα "Αλληλεπίδραση", υπάρχει ένα τελικό σημείο REST API το οποίο πρέπει να αντιγραφεί και να αποθηκευτεί.
  8. Το AWS θα πρέπει τώρα να έχει ένα πράγμα που επισυνάπτεται σε μια πολιτική και έχει πιστοποιητικό.

Βήμα 6: Αρχική ρύθμιση για το θέμα AWS SNS

Αρχική ρύθμιση για το θέμα AWS SNS
Αρχική ρύθμιση για το θέμα AWS SNS
Αρχική ρύθμιση για το θέμα AWS SNS
Αρχική ρύθμιση για το θέμα AWS SNS

SSH στο Raspberry Pi και εγκαταστήστε το AWS CLI χρησιμοποιώντας την ακόλουθη εντολή pip:

sudo pip εγκατάσταση awscli

Το AWS CLI περιλαμβάνει τη λειτουργία ολοκλήρωσης εντολών, αλλά δεν είναι εγκατεστημένη από προεπιλογή. Χρησιμοποιήστε την ακόλουθη εντολή για να εγκαταστήσετε τη λειτουργία ολοκλήρωσης εντολών στη διεπαφή CLI του Raspberry Pi:

πλήρης -C aws_completer aws

Διαμορφώστε το AWS CLI με αναγνωριστικό κλειδιού πρόσβασης, μυστικό κλειδί πρόσβασης, όνομα περιοχής AWS και μορφή εξόδου εντολών χρησιμοποιώντας την ακόλουθη εντολή:

διαμόρφωση aws

Στη συνέχεια, η κονσόλα θα σας ζητήσει να συμπληρώσετε τις ακόλουθες πληροφορίες:

pi@raspberrypi: aw $ aws διαμόρφωση

Αναγνωριστικό κλειδιού πρόσβασης AWS [Κανένα]: "Τοποθετήστε το αναγνωριστικό κλειδιού πρόσβασης του χρήστη σας εδώ" Μυστικό κλειδί πρόσβασης AWS [Κανένας]: "Βάλτε το μυστικό κλειδί πρόσβασης του χρήστη σας εδώ" Προεπιλεγμένο όνομα περιοχής [Καμία]: eu-central-1 Προεπιλεγμένη μορφή εξόδου [Καμία]: json pi@raspberrypi: ~ $

Βήμα 7: Δημιουργία αρχείου Iot-role.trust.json

Δημιουργία αρχείου Iot-role.trust.json
Δημιουργία αρχείου Iot-role.trust.json
Δημιουργία αρχείου Iot-role.trust.json
Δημιουργία αρχείου Iot-role.trust.json
  1. Δημιουργήστε ένα αρχείο JSON με την παραπάνω πολιτική IAM με το όνομα αρχείου iot-role.trust.json.
  2. Δημιουργήστε το ρόλο χρησιμοποιώντας το AWS CLI χρησιμοποιώντας την ακόλουθη εντολή

aws iam create-role --role-name my-iot-role-assume-role-policy-document file: //iot-role-trust.json

Βήμα 8: Δημιουργία αρχείου Iot-policy.json

Δημιουργία αρχείου Iot-policy.json
Δημιουργία αρχείου Iot-policy.json
Δημιουργία αρχείου Iot-policy.json
Δημιουργία αρχείου Iot-policy.json
  1. Δημιουργήστε ένα αρχείο JSON με την παραπάνω πολιτική με το όνομα αρχείου iot-policy.json.
  2. Δημιουργήστε την πολιτική ρόλων χρησιμοποιώντας το AWS CLI χρησιμοποιώντας την ακόλουθη εντολή:

aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file: //iot-policy.json

Βήμα 9: Δημιουργήστε ένα θέμα AWS SNS (Μέρος 1)

Δημιουργία θέματος AWS SNS (Μέρος 1)
Δημιουργία θέματος AWS SNS (Μέρος 1)
Δημιουργία θέματος AWS SNS (Μέρος 1)
Δημιουργία θέματος AWS SNS (Μέρος 1)
Δημιουργία θέματος AWS SNS (Μέρος 1)
Δημιουργία θέματος AWS SNS (Μέρος 1)
  1. Στη γραμμή αναζήτησης υπηρεσιών AWS, αναζητήστε την υπηρεσία "SNS" ή μεταβείτε στη διεύθυνση
  2. Καθώς δεν έχετε θέματα τώρα, κάντε κλικ στην επιλογή "Δημιουργία νέου θέματος" για να δημιουργήσετε ένα θέμα.
  3. Πληκτρολογήστε το όνομα του θέματος και το εμφανιζόμενο όνομα και κάντε κλικ στην επιλογή "Δημιουργία θέματος" και ένα νέο θέμα θα εμφανιστεί όταν όλα τα βήματα είναι επιτυχημένα.
  4. Κάντε κλικ στο αναπτυσσόμενο κουμπί "Ενέργειες" και "Επεξεργασία πολιτικής θέματος".

Βήμα 10: Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)

Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 2)
  1. Ορίστε την πολιτική που επιτρέπει σε όλους να δημοσιεύουν και να εγγραφούν, καθώς πρόκειται για περιορισμούς ενός λογαριασμού AWSEducate.
  2. Εγγραφείτε σε αυτό το θέμα για να λαμβάνετε ενημερώσεις που δημοσιεύονται σε αυτό το θέμα.
  3. Αλλάξτε το πρωτόκολλο σε "Email" και εισαγάγετε το email σας στο τελικό σημείο.
  4. Μεταβείτε στο email σας όπου πληκτρολογήσατε το τελικό σας σημείο, κάντε κλικ στο σύνδεσμο επιβεβαίωσης για να επιβεβαιώσετε τη συνδρομή email σας για να εγγραφείτε στο θέμα.
  5. Μεταβείτε στις υπηρεσίες "AWS IoT", στο μενού πλοήγησης στα αριστερά, κάντε κλικ στο "Act". Αυτή η σελίδα είναι όπου εμφανίζονται οι κανόνες σας και είναι διαθέσιμοι για προβολή και επεξεργασία. Προς το παρόν, δεν υπάρχουν κανόνες για το πράγμα IoT, κάντε κλικ στο "Δημιουργία κανόνα".

Βήμα 11: Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)

Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
Δημιουργήστε ένα θέμα AWS SNS (Μέρος 3)
  1. Πληκτρολογήστε ένα όνομα στο πεδίο Όνομα για τον κανόνα σας. Στο πεδίο Περιγραφή, πληκτρολογήστε μια περιγραφή για τον κανόνα σας. Συνεχίζοντας στην ενότητα Πηγή μηνύματος, θα επιλέγαμε την πιο ενημερωμένη έκδοση SQL στην ενότητα "Χρήση έκδοσης SQL". Πληκτρολογήστε * στο χαρακτηριστικό για να επιλέξετε ολόκληρο το μήνυμα MQTT από το θέμα, στην περίπτωσή μας το θέμα μας είναι "TempHumid".
  2. Στη συνέχεια, προσθέστε μια ενέργεια ειδοποίησης "SNS" για τον κανόνα σας. Στη συνέχεια, κάντε κλικ στην επιλογή "Διαμόρφωση ενέργειας".
  3. Στη σελίδα "Διαμόρφωση ενέργειας", επιλέξτε το θέμα SNS που μόλις δημιουργήσατε και τη μορφή μηνύματος ως RAW. Στη συνέχεια, επιλέξτε τον ρόλο που μόλις δημιουργήσατε χρησιμοποιώντας το AWS CLI και κάντε κλικ στην επιλογή "Προσθήκη ενέργειας".
  4. Η ενέργειά σας θα διαμορφωθεί και θα επιστρέψει στο "Δημιουργία κανόνα".
  5. Κάντε κλικ στην επιλογή επεξεργασία εάν θέλετε να επεξεργαστείτε τον κανόνα.

Βήμα 12: Δημιουργήστε έναν κάδο στο Amazon S3

Δημιουργήστε έναν κάδο στο Amazon S3
Δημιουργήστε έναν κάδο στο Amazon S3
Δημιουργήστε έναν κάδο στο Amazon S3
Δημιουργήστε έναν κάδο στο Amazon S3
Δημιουργήστε έναν κάδο στο Amazon S3
Δημιουργήστε έναν κάδο στο Amazon S3
  1. Αναζητήστε S3 στη γραμμή αναζήτησης AWS.
  2. Στη σελίδα Amazon S3, κάντε κλικ στο κουμπί "Δημιουργία κάδου" για να ξεκινήσετε.
  3. Συμπληρώστε την αναδυόμενη φόρμα που εμφανίζεται με τις ακόλουθες πληροφορίες:

    • Όνομα κάδου: seroma-bucket (αυτό πρέπει να είναι μοναδικό σε όλους τους υπάρχοντες κάδους του Amazon S3)
    • Περιοχή: US West (Όρεγκον)
    • Αντιγραφή ρυθμίσεων: (Παράβλεψη)
  4. Για τα βήματα 2 έως 3, απλώς παραλείψτε το κάνοντας κλικ στο "Επόμενο" καθώς δεν υπάρχει τίποτα που πρέπει να αλλάξετε. Στο βήμα 4, κάντε κλικ στην επιλογή "Δημιουργία κάδου".
  5. Μετά τη δημιουργία, θα πρέπει να δείτε τον κάδο σας στην αρχική σελίδα.

Βήμα 13: Δημιουργία πολιτικής AWS (Μέρος 1)

Δημιουργία πολιτικής AWS (Μέρος 1)
Δημιουργία πολιτικής AWS (Μέρος 1)
Δημιουργία πολιτικής AWS (Μέρος 1)
Δημιουργία πολιτικής AWS (Μέρος 1)
Δημιουργία πολιτικής AWS (Μέρος 1)
Δημιουργία πολιτικής AWS (Μέρος 1)
  1. Κάντε κλικ στον κάδο που δημιουργήσατε για να μπείτε στην παραπάνω σελίδα και, στη συνέχεια, προχωρήστε στην "Πολιτική κάδου" στην καρτέλα "Δικαιώματα".
  2. Στη συνέχεια, κάντε κλικ στο σύνδεσμο "Γεννήτρια πολιτικής" στο κάτω μέρος της σελίδας για να δημιουργήσετε την πολιτική σας AWS.
  3. Στη φόρμα, εισαγάγετε τις ακόλουθες τιμές:

    • Τύπος πολιτικής: S3 Bucket Policy
    • Εφέ: Επιτρέψτε
    • ΔΙΕΥΘΥΝΤΡΙΑ σχολειου: *
    • Υπηρεσία AWS: Amazon S3
    • Ενέργειες: GetObject
    • Όνομα πόρου Amazon (ARN): arn: aws: s3::: seroma-bucket
  4. Αφού συμπληρώσετε τις πληροφορίες, κάντε κλικ στην Προσθήκη δήλωσης.
  5. Κάντε κλικ στο κουμπί "Δημιουργία πολιτικής".

Βήμα 14: Δημιουργία πολιτικής AWS (Μέρος 2)

Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
Δημιουργία πολιτικής AWS (Μέρος 2)
  1. Αντιγράψτε τους κωδικούς που δημιουργήθηκαν και κάντε κλικ στο κλείσιμο.
  2. Επιστρέψτε στον επεξεργαστή πολιτικής κάδου του Amazon S3 και επικολλήστε τους κωδικούς που αντιγράψατε προηγουμένως.
  3. Προσθέστε ένα "/*" στους κωδικούς ακριβώς πίσω από τους κωδικούς πόρων, όπως στην παραπάνω εικόνα και, στη συνέχεια, κάντε κλικ στην επιλογή αποθήκευση.
  4. Αφού το κάνετε, ο κάδος σας θα ρυθμιστεί επιτυχώς και θα είναι έτοιμος για χρήση.

Βήμα 15: Δημιουργία πινάκων για το DynamoDB

Δημιουργία πινάκων για DynamoDB
Δημιουργία πινάκων για DynamoDB
Δημιουργία πινάκων για DynamoDB
Δημιουργία πινάκων για DynamoDB
  1. Αναζητήστε το DynamoDB στη γραμμή αναζήτησης AWS Services
  2. Κάντε κλικ στο "Δημιουργία πίνακα" και δημιουργήστε 3 πίνακες με τις παρακάτω πληροφορίες: (Αλλάζουν μόνο το "όνομα πίνακα" και "κύριο κλειδί")

    • accesslog, pk datetimevalue
    • roomstatus, pk datetimevalue
    • staffdata, όνομα χρήστη pk

Βήμα 16: Roomstatus.py

Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py

Αυτή η ενότητα περιέχει τον κωδικό για το roomstatus.py, ο οποίος γράφει όλα τα δεδομένα σχετικά με το ίδιο το δωμάτιο διακομιστή κάθε λεπτό. Αυτό περιλαμβάνει τη θερμοκρασία, την υγρασία, την κίνηση (εικόνες και βίντεο εάν είναι αληθινά) και αρχεία καταγραφής πρόσβασης. Γράφει επίσης δεδομένα σε ένα υπολογιστικό φύλλο Google, δεδομένα στο DynamoDB, εικόνες και βίντεο (εάν υπάρχουν) στο S3, εμφανίζει πληροφορίες στην οθόνη LCD, στέλνει SMS και email όταν υπάρχει υποψία παραβίασης ή όταν η θερμοκρασία ή η υγρασία είναι ακανόνιστες Το

Για να εκτελέσετε αρχεία python, αλλάξτε τον κατάλογο όπου βρίσκεται το αρχείο και πληκτρολογήστε στην κονσόλα: "sudo python"

Εικόνα 2: Λειτουργίες που δηλώνονται ότι επιτρέπουν ειδοποιήσεις SMS και Email και μεταφόρτωση στο S3

Εικόνα 3: Μεταβλητές που δηλώθηκαν για λειτουργίες και RPi για να λειτουργήσουν

Εικόνα 4: Έναρξη του βρόχου που λαμβάνει τις τιμές θερμοκρασίας και υγρασίας από το RPi. Γράφει επίσης τα δεδομένα σε ένα υπολογιστικό φύλλο Google

Εικόνα 5: Μέρος ασφαλείας του βρόχου. Θα ενεργοποιηθεί μόνο από τις 7 το απόγευμα έως τις 7 το πρωί (ώρες εκτός λειτουργίας). Θα ελέγξει για κίνηση σε διάστημα ενός λεπτού. Εάν εντοπιστεί κίνηση, θα πάρει μια εικόνα και ένα βίντεο, θα το ανεβάσει στο S3, ενώ θα γράψει επίσης πληροφορίες στο DynamoDB για αναφορά αργότερα. Στη συνέχεια, θα στείλει ένα SMS και ένα μήνυμα ηλεκτρονικού ταχυδρομείου εάν κάτι είναι παράτυπο.

Εικόνα 6: Το τέλος του βρόχου. Γράφει επίσης δεδομένα στο DynamoDB και στέλνει αντίστοιχα ειδοποιήσεις. Η τελευταία γραμμή του βρόχου θα κάνει το σενάριο να κοιμηθεί μέχρι να φτάσει το επόμενο λεπτό.

Βήμα 17: Rfid.py

Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py

Αυτή η ενότητα περιέχει τον κώδικα για το rfid.py, ο οποίος προσθέτει τη λειτουργικότητα στην παρακολούθηση όταν ένα μέλος του προσωπικού έχει πρόσβαση στο δωμάτιο διακομιστή. Είναι επίσης μέρος της ασφάλειας του Seroma, όπου ένα μέλος του προσωπικού δεν επιτρέπεται να έχει πρόσβαση στο δωμάτιο διακομιστή μετά τις ώρες γραφείου, για να αποφευχθεί παραβίαση δεδομένων. Στέλνει επίσης ένα email και SMS σε όλο το προσωπικό εάν υπάρχει υποψία παραβίασης.

Εικόνα 2: Έναρξη της λογικής του αναγνώστη RFID. Κάθε φορά που μια κάρτα σαρώνεται στον αναγνώστη, λαμβάνεται το μοναδικό αναγνωριστικό (uid) της κάρτας. Στη συνέχεια, προσπαθούμε να βρούμε την τιμή uid της κάρτας στον πίνακα Staffdata για να δούμε αν η κάρτα ανήκει σε κάποιο από το προσωπικό. Εικόνα 3: Εάν το uid της κάρτας υπάρχει στη βάση δεδομένων, θα ελέγξει αν είναι κατά τη διάρκεια του γραφείου εκτός ωραρίου Εάν είναι, θα ειδοποιήσει τους υπόλοιπους υπαλλήλους μέσω SMS και Email για τις εγγεγραμμένες διευθύνσεις ηλεκτρονικού ταχυδρομείου. Εάν είναι ακόμα κατά τις ώρες γραφείου, θα γράψει μια σειρά στον πίνακα accesslog στη βάση δεδομένων με τα σχετικά δεδομένα. Θα εμφανίσει επίσης ένα μήνυμα καλωσορίσματος στην οθόνη LCD.

Βήμα 18: Server.py

Server.py
Server.py
Server.py
Server.py
Server.py
Server.py

Αυτό είναι το αρχείο server.py. Θα χρησιμοποιήσουμε το πλαίσιο Flask για την διαδικτυακή πύλη. Επισυνάπτονται επίσης τα αρχεία HTML προς τοποθέτηση /πρότυπα.

Εικόνα 1: Ορίστηκε η πρώτη διαδρομή για τη φιάλη. Θα ανακατευθύνει τον χρήστη στη σελίδα σύνδεσης εάν δεν είναι συνδεδεμένος και στη σελίδα πίνακα ελέγχου εάν είναι. Ορίζει επίσης μια συνάρτηση που θα χρησιμοποιηθεί στη λειτουργία ζωντανής ροής

Εικόνα 2, 3, 4: Διαδρομές για φιάλη. Παίρνει δεδομένα από τον πίνακα DynamoDB και στη συνέχεια τα επιστρέφει στα αρχεία HTML, ώστε να μπορούν να χρησιμοποιηθούν εκεί.

Εικόνα 5: Τελευταίες 2 διαδρομές για Φιάλη. Χειρίζεται τη λειτουργία αποσύνδεσης και τη λειτουργία ζωντανής ροής. Καθορίζει επίσης τη θύρα στην οποία θα λειτουργεί ο ιστότοπος.

Βήμα 19: Telegram.py

Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py

Αυτή η ενότητα περιλαμβάνει τον κωδικό για το τηλεγράφημα bot του Seroma. Χρησιμοποιεί τη βιβλιοθήκη telepot για να πατήσει στο Bot API του Telegram. Λειτουργεί με την αποδοχή των ερωτημάτων που λαμβάνει και την εμφάνιση των αντίστοιχων πληροφοριών στον χρήστη. Ο χρήστης μπορεί να πληκτρολογήσει «βοήθεια» για μια πλήρη λίστα εντολών.

Εικόνα 1, 2: Για να ρυθμίσετε ένα bot τηλεγράφου, πρέπει να χρησιμοποιήσετε το BotFather. Απλώς εκτελέστε τις οδηγίες για να λάβετε το HTTP API που χρειαζόμαστε στον κώδικά μας.

Εικόνα 4: Παράδειγμα συνάρτησης που λαμβάνει συγκεκριμένο αριθμό σειρών δεδομένων από τη βάση δεδομένων με βάση το αίτημα του χρήστη

Εικόνα 5: Πώς λαμβάνουμε τα στοιχεία του χρήστη και αποφασίζουμε τι θα εκτελέσουμε ανάλογα.

Βήμα 20: Ζωντανή ροή (camera_pi.py)

Ζωντανή ροή (camera_pi.py)
Ζωντανή ροή (camera_pi.py)
Ζωντανή ροή (camera_pi.py)
Ζωντανή ροή (camera_pi.py)
Ζωντανή ροή (camera_pi.py)
Ζωντανή ροή (camera_pi.py)

Έχουμε εφαρμόσει μια νέα δυνατότητα για το σύστημα παρακολούθησης του δωματίου διακομιστή μας, μια ζωντανή ροή του τι συμβαίνει στο Server Server, σε αυτό μπορείτε να έχετε πρόσβαση ανά πάσα στιγμή, οπουδήποτε. Πώς λειτουργεί αυτή η ζωντανή ροή: Είναι μια λειτουργία που γίνεται στο Flask, μαζί με την κάμερα Pi. Τα καρέ βίντεο μεταφορτώνονται όπως συμβαίνει στην πραγματική ζωή, έτσι μπορείτε πραγματικά να δείτε ότι υπάρχει μια μικρή καθυστέρηση (1-2 δευτερόλεπτα) καθώς τα καρέ βίντεο μεταφορτώνονται και ενώνονται. Αυτό δεν θα μπορούσε να γίνει χωρίς κλωστή, καθώς το νήμα φόντου διαβάζει καρέ από την κάμερα και αποθηκεύει το τρέχον καρέ. Ο συνδυασμός όλων αυτών των πλαισίων μαζί θα βγάλει στη συνέχεια μια ζωντανή ροή.

Εικόνα 2: Αυτό είναι ένα ξεχωριστό αρχείο όπου αποθηκεύονται όλα τα πλαίσια βίντεο και όπως μπορείτε να δείτε, χρησιμοποιούμε τη μονάδα picamera για να αποκτήσουμε πρόσβαση στην κάμερα raspberry pi, καθώς αυτό είναι αυτό που γνωρίζουμε περισσότερο. Έχουμε μια κάμερα κατηγορίας έτσι ώστε να μπορούμε να εισάγουμε τη λειτουργία σαν να είναι ζωντανή ροή και όχι πολλές εικόνες που συγκεντρώνονται, επομένως στο κύριο αρχείο εφαρμογής θα το έπαιρνε ως ζωντανή ροή χωρίς να χρειάζεται να ανησυχείτε για το τι συμβαίνει στα παρασκήνια.

Εικόνα 3: Αυτό είναι μέρος του αρχείου server.py όπου το τμήμα ζωντανής ροής είναι κωδικοποιημένο. Η κύρια τάξη που εισαγάγαμε για αυτό είναι η Κάμερα από το αρχείο camera_pi.py στο επάνω μέρος του αρχείου server.py. Ορίσαμε μια συνάρτηση στον ριζικό μας κατάλογο, gen, ωστόσο χρησιμοποιείται μόνο όταν κατευθυνθούμε προς το /video_feed όπου βρίσκεται η ζωντανή ροή μας, όπου θα πραγματοποιήσει επανάληψη αυτής της λειτουργίας και θα επιστρέψει τη ζωντανή ροή στην ιστοσελίδα.

Συνιστάται: