Πίνακας περιεχομένων:
- Βήμα 1: Ας δούμε την Επισκόπηση
- Βήμα 2: Ρύθμιση για το Raspberry Pi 1 (Office)
- Βήμα 3: Ρύθμιση για το Raspberry Pi 2 (Πόρτα)
- Βήμα 4: Ρύθμιση του Telegram Bot
- Βήμα 5: Ρύθμιση του DynamoDB
- Βήμα 6: Ρύθμιση κάδου AWS S3
- Βήμα 7: Ρύθμιση του AWS SNS
- Βήμα 8: Δημιουργία κανόνα
- Βήμα 9: Δημιουργία διεπαφής ιστού
- Βήμα 10: Κύρια σενάρια
Βίντεο: Raspberry Pi - Smart Office: 10 βήματα (με εικόνες)
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Τι αφορά η εφαρμογή;
Το OfficeHelperBOT είναι μια εφαρμογή που στοχεύει σε μια έξυπνη ρύθμιση γραφείου. 2 Raspberry Pi 3 Model B θα έχει ρυθμιστεί για αυτό.
Το Raspberry Pi 1 θα είναι το κύριο μηχάνημα που θα λαμβάνει όλες τις τιμές από τους αισθητήρες, δημοσιεύοντας τα δεδομένα μέσω MQTT, αποθηκεύοντας δεδομένα σε βάση δεδομένων cloud που χρησιμοποιούμε DynamoDB και τρέχοντας τον διακομιστή διαδικτυακής πύλης.
Το Raspberry Pi 2 θα χρησιμοποιηθεί στην πόρτα. Θα απαιτούσε από τον υπάλληλο να επαληθεύσει την ταυτότητά του πριν του επιτραπεί η πρόσβαση στο γραφείο. Υπάρχουν δύο μέθοδοι για να το κάνετε αυτό, οι οποίες είναι μέσω ακολουθίας κωδικού PIN και επαλήθευσης κώδικα QR. Στις περιπτώσεις που μπορεί να γίνει κατάχρηση της επαλήθευσης, φωτογραφίζαμε όποιον απέτυχε στην επαλήθευση και αποθηκεύσαμε την εικόνα του ατόμου στον κάδο AWS S3.
Μια ιστοσελίδα θα μπορεί να προβάλλει DHT, φως, φωτογραφίες που ανιχνεύονται από κίνηση και βίντεο του γραφείου. Η ιστοσελίδα θα μπορεί επίσης να ελέγχει τα φώτα του γραφείου και επίσης να βλέπει μια ζωντανή ροή CCTV του γραφείου.
Θα υπάρχει επίσης ένα bot Telegram που θα επιτρέπει τον έλεγχο των λυχνιών LED στο γραφείο, θα ελέγχει τις τιμές των αισθητήρων όπως η θερμοκρασία και θα επιτρέπει επίσης στον υπάλληλο να πάρει την εικόνα του με τον κωδικό QR εάν τυχαίνει να χάσει την εικόνα του κωδικού QR ή να ξεχάσει την καρφίτσα του ζητώντας και λάβοντας την εικόνα του κωδικού QR από τον κάδο AWS S3.
Βήμα 1: Ας δούμε την Επισκόπηση
Διάγραμμα αρχιτεκτονικής συστήματος
Πώς θα επικοινωνούν τα μηχανήματα μεταξύ τους
Αποτέλεσμα υλικού
Δείτε πώς θα έμοιαζαν τελικά τα δύο Raspberry Pi
Δικτυακή πύλη
Δείτε την διαδικτυακή πύλη που έχει δημιουργηθεί χρησιμοποιώντας Python μέσω Flask
Telegram Bot
Βρίσκοντας το Bot που δημιουργήσαμε
Απευθείας μετάδοση
Χρήση 1 του PiCam ως CCTV και μετάδοση ζωντανών βίντεο
Απαίτηση υλικού
- 2x Raspberry Pi
- 2x GPIO Board
- 1x LDR
- 1x DHT11
- 1x αισθητήρας κίνησης
- 4x LED
- Κουμπί 7x
- 2x Buzzer
- 2x οθόνη LCD
- 1x κάμερα Web
Βήμα 2: Ρύθμιση για το Raspberry Pi 1 (Office)
- Δημιουργήστε ένα φάκελο για να αποθηκεύσετε το html σας που ονομάζεται πρότυπα
- Δημιουργήστε έναν φάκελο για να αποθηκεύσετε τα αρχεία css/javascript που ονομάζονται στατικά
- Δημιουργήστε ένα φάκελο για να αποθηκεύσετε τα αρχεία της κάμεράς σας που ονομάζονται κάμερα με 3 υποφάκελους capture_photos, motion_photos, motion_videos
mkdir ~/ca2
mkdir ~/ca2/πρότυπα
mkdir ~/ca2/static
mkdir ~/ca2/static/camera
mkdir ~/ca2/static/camera/capture_photos
mkdir ~/ca2/static/camera/motion_photos
mkdir ~/ca2/static/camera/motion_Videos
Βήμα 3: Ρύθμιση για το Raspberry Pi 2 (Πόρτα)
- Δημιουργήστε έναν φάκελο για να αποθηκεύσετε τα αρχεία σας που ονομάζεται πόρτα
- Δημιουργήστε ένα φάκελο για να αποθηκεύσετε τις εικόνες QR Code σας που ονομάζεται qr_code
mkdir ~/πόρτα
mkdir ~/door/qr_code
Βήμα 4: Ρύθμιση του Telegram Bot
- Ανοίξτε το Telegram
- Εύρεση "BotFather"
- Πληκτρολογήστε "/έναρξη"
- Πληκτρολογήστε "/newbot"
- Ακολουθήστε τις οδηγίες, όνομα για bot, όνομα χρήστη για bot, jot down διακριτικό ελέγχου ταυτότητας bot
Βήμα 5: Ρύθμιση του DynamoDB
- Εγγραφείτε στο AWS
- Αναζήτηση DynamoDB στην υπηρεσία AWS
- Κάντε κλικ στην επιλογή "Δημιουργία πίνακα"
- Συμπληρώστε το όνομα του πίνακα
- Ορίστε το κλειδί διαμερίσματος ως 'id' (String) και Προσθήκη κλειδιού ταξινόμησης ως 'timeetime' (String)
- Κάντε το για τα 4 τραπέζια, dht, φώτα, γκαλερί, υπάλληλος
Προεπισκόπηση των 4 πινάκων
Βήμα 6: Ρύθμιση κάδου AWS S3
- Αναζητήστε το AWS S3
- Κάντε κλικ στο "Δημιουργία κάδου"
- Ακολουθήστε τους κανόνες για να ονομάσετε τον κάδο
- Ακολουθήστε στιγμιότυπα οθόνης
- Δημιουργία κάδου
Πώς μπορώ ακόμη να ανεβάσω σε κάδο S3;
Δεν έχουμε πύλη διαχειριστή, οπότε εισάγουμε χειροκίνητα την εικόνα QR Code μέσω γραφικού περιβάλλοντος χρήστη AWS. Ακολουθήστε τα στιγμιότυπα οθόνης για να δημιουργήσετε τον κάδο. Το απόσπασμα του κώδικα είναι η λογική που απαιτείται για τη μεταφόρτωση της εικόνας στον κάδο S3
Βήμα 7: Ρύθμιση του AWS SNS
- Αναζήτηση για AWS SNS
- Ακολουθήστε την ετικέτα θέματος
- Δημιουργία νέου θέματος
- Ορίστε το όνομα του θέματος και το εμφανιζόμενο όνομα
- Επεξεργασία πολιτικής για να επιτρέπεται σε όλους να δημοσιεύουν
- Εγγραφείτε στο θέμα που δημιουργείται
- Ορίστε email στο πεδίο τελικού σημείου για να λαμβάνετε email όταν η τιμή φτάσει σε μια συγκεκριμένη τιμή
Βήμα 8: Δημιουργία κανόνα
- Κάντε κλικ στο "Δημιουργία κανόνα"
- Γράψτε όνομα και σύντομη περιγραφή
- Επιλέξτε την πιο πρόσφατη έκδοση SQL για να στείλετε ολόκληρο το μήνυμα MQTT
- Ο κινητήρας κανόνων χρησιμοποιεί το φίλτρο θέματος για να καθορίσει ποιοι κανόνες θα ενεργοποιηθούν κατά τη λήψη του μηνύματος MQTT
- Κάντε κλικ στην επιλογή "Προσθήκη ενέργειας"
- Επιλέξτε την αποστολή μηνύματος μέσω ειδοποίησης push SNS
Βήμα 9: Δημιουργία διεπαφής ιστού
Δημιουργήστε αυτά τα νέα αρχεία html που ονομάζονται
- κεφάλι
- Σύνδεση
- κούτσουρα
- dht
- φως
- εκθεσιακός χώρος
- κίνηση
- οδήγησε
Αντιγράψτε και επικολλήστε από το αρχείο Google Drive στο αντίστοιχο html.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
Βήμα 10: Κύρια σενάρια
Υπάρχουν 3 κύρια σενάρια
- server.py - Δημιουργία διαδικτυακής πύλης
- working.py - Λογική για το Raspberry Pi 1 (Office)
- door.py Logic for Raspberry Pi 2 (Πόρτα)
Απλώς τρέχουμε και τους 3 κωδικούς για να έχουμε το αποτέλεσμα που θέλουμε
Μπορούμε να το πάρουμε από το Google Drive στο Main.zip
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g