Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Βήμα 1: Αποκεφαλίστε
- Βήμα 2: Βήμα 2: Προσθήκη έξυπνου
- Βήμα 3: Βήμα 3: Γεμίστε την
- Βήμα 4: Βήμα 4: Ρυθμίστε το Pi
- Βήμα 5: Βήμα 5: Μετακίνηση της κεφαλής
- Βήμα 6: Βήμα 6: Κάνοντας το Hoot
- Βήμα 7: Βήμα 7: Ροή βίντεο από το Pi
- Βήμα 8: Βήμα 8: Ανίχνευση σώματος
- Βήμα 9: Βήμα 9: Αποστολή ειδοποιήσεων Zombie
- Βήμα 10: Τι χαμός
Βίντεο: Zombie Detecting Smart Security Owl (Deep Learning): 10 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Γεια σε όλους, καλώς ήρθατε στο T3chFlicks! Σε αυτό το σεμινάριο για τις Απόκριες, θα σας δείξουμε πώς βάζουμε μια εξαιρετικά τρομακτική τροπή σε ένα κλασικό οικιακό κλασικό: την κάμερα ασφαλείας.
Πως?! Έχουμε φτιάξει μια κουκουβάγια νυχτερινής όρασης που χρησιμοποιεί επεξεργασία εικόνας για την παρακολούθηση ατόμων. Ω, και ακούγεται, ακριβώς όπως το πραγματικό!
Είμαστε πολύ ενθουσιασμένοι με αυτό το έργο και περιμέναμε να το κάνουμε από τότε που έπεσε το νέο Raspberry Pi 4. Διαθέτει 4 GB RAM, η οποία ανοίγει την πόρτα σε πολλές πραγματικά συναρπαστικές δυνατότητες, συμπεριλαμβανομένης της επεξεργασίας εικόνας με μοντέλα βαθιάς εκμάθησης σε πραγματικό χρόνο.
Αν θέλετε να παρακολουθείτε τα ζόμπι που πλησιάζουν το Halloween ή απλώς να ελέγχετε τον κήπο σας τον υπόλοιπο χρόνο, αυτό είναι το κατάλληλο για εσάς. Η ασφάλεια δεν χρειάζεται να είναι βαρετή για να είναι αποτελεσματική!
Προμήθειες
Για αυτήν την κατασκευή, θα χρειαστείτε:
- Raspberry Pi 4 (4 GB Ram) Amazon
- Νυχτερινή κάμερα Amazon
- Micro Servo Amazon
- Fεύτικη κουκουβάγια Amazon
- Κόλλα Amazon
- Ζωγραφίστε το Amazon
- Βιδώνει την Amazon
- USB ηχείο Amazon
- Μεγάλο (5v+) φορητό τροφοδοτικό Amazon
- 3D εκτυπωτής Amazon
Βήμα 1: Βήμα 1: Αποκεφαλίστε
ένα. Τραβήξτε το κεφάλι από την κουκουβάγια (μερικές φορές πρέπει απλώς να είστε βάναυσος) τραβώντας δυνατά το κεφάλι της εκεί που κολλάει στο ελατήριο.
σι. Το κεφάλι της κουκουβάγιας συνδέεται με το σώμα με έναν κύλινδρο που βρίσκεται πάνω από ένα μεγάλο ελατήριο. Αφαιρέστε αυτόν τον κύλινδρο βγάζοντας τη βίδα.
ντο. Ο κύλινδρος που μόλις αφαιρέσατε αποτελείται από δύο μέρη, ένα πλαστικό κύπελλο και ένα ρουλεμάν που κάθεται στο εσωτερικό του. Αφαιρέστε το ρουλεμάν από τον κύλινδρο χρησιμοποιώντας ένα κατσαβίδι (ή παρόμοιο εργαλείο).
ρε. Χρησιμοποιώντας τη βίδα που συνέδεσε τον κύλινδρο με το ελατήριο, συνδέστε το σερβο στον κύλινδρο.
μι. Αφαιρέστε το ελατήριο ξεβιδώνοντας τις τρεις βίδες που το συγκρατούν στο σώμα.
φά. Κάντε μια τρύπα στο πάνω μέρος του σώματος της κουκουβάγιας που είναι αρκετά μεγάλη για να χωρέσει μερικά καλώδια και το καλώδιο της κάμερας. Χρησιμοποιήσαμε έναν άκομψο συνδυασμό τρυπανιού και κατσαβιδιού για να το κάνουμε αυτό.
Βήμα 2: Βήμα 2: Προσθήκη έξυπνου
ένα. Εκτυπώστε 3D τη θήκη της κάμερας και βάψτε τη για να ταιριάζει με την κουκουβάγια - χρησιμοποιήσαμε μερικά φθηνά ακρυλικά χρώματα. Η ζωγραφική δεν είναι ένα ζωτικό βήμα, αλλά βελτιώνει δραματικά τη συνολική εμφάνιση!
σι. Με το κεφάλι της κουκουβάγιας ανάποδα, βιδώστε το πάνω μέρος της θήκης της κάμερας στο εσωτερικό του κεφαλιού της, όπου προεξέχει το ράμφος.
ντο. Τοποθετήστε τη φωτογραφική μηχανή στη θήκη και συνδέστε το καλώδιο της κάμερας.
ρε. Κολλήστε το servo στο επάνω μέρος του ελατηρίου.
μι. Συνδέστε μεγάλα καλώδια στις σερβο καρφίτσες (5V, Gnd, σήμα)
φά. Τροφοδοτήστε το καλώδιο της κάμερας και τα καλώδια για το σερβιτόρο μέσω του ελατηρίου και μέσω της τρύπας που κάνατε στο πάνω μέρος του σώματος, ώστε να βρίσκονται μέσα στο κοίλο σώμα της κουκουβάγιας.
Βήμα 3: Βήμα 3: Γεμίστε την
ένα. Αφαιρέστε το βύσμα από το κάτω μέρος της κουκουβάγιας και αυξήστε το μέγεθος αυτής της τρύπας κόβοντας το πλαστικό. Συνεχίστε να αυξάνετε το μέγεθος μέχρι το Raspberry Pi και το ηχείο να χωρέσουν στο σώμα της κουκουβάγιας.
σι. Μόλις η τρύπα είναι αρκετά μεγάλη για να χωρέσουν όλα τα εξαρτήματα μέσα, τραβήξτε το καλώδιο της κάμερας που τροφοδοτήσατε από την κορυφή της κουκουβάγιας από τη βάση και συνδέστε το στο Raspberry Pi.
ντο. Ομοίως, τραβήξτε τα σερβο καλώδια και συνδέστε τα στο Raspberry Pi:
- +5v σε σερβο => +5V στο Pi
- Gnd servo => gnd Pi
- Σέρβο σήματος => ακίδα 12 Pi
ρε. Συνδέστε το ηχείο USB στο Pi.
μι. Τοποθετήστε την κάρτα SD στο Pi.
φά. Power Pi χρησιμοποιώντας φορητή τροφοδοσία.
σολ. Τοποθετήστε το Pi, το τροφοδοτικό και το ηχείο στην κουκουβάγια μέσα από την τρύπα στη βάση.
Βήμα 4: Βήμα 4: Ρυθμίστε το Pi
ΟΛΟΣ Ο ΚΩΔΙΚΟΣ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙΤΑΙ ΣΤΟ
ένα. Κατεβάστε το Raspian και ανεβάστε το στην κάρτα SD σας χρησιμοποιώντας το Balena Etcher.
σι. Για να αποκτήσετε πρόσβαση στο pi σας από απόσταση
- Προσθέστε ένα αρχείο που ονομάζεται ssh στην κάρτα sd εκκίνησης
-
Προσθέστε ένα αρχείο που ονομάζεται wpa_supplicant.conf και τοποθετήστε τα διαπιστευτήριά σας wifi
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
ντο. Τοποθετήστε την κάρτα SD στο pi και δοκιμάστε μια πρόσβαση μέσω ssh.
Βήμα 5: Βήμα 5: Μετακίνηση της κεφαλής
Εκπαιδευτικό κώδικα για τη μετακίνηση του κεφαλιού (έλεγχος σερβο με βατόμουρο πι)
Για να ελέγξουμε ένα σερβο που τρέχει στο Pi, θα δημιουργήσουμε ένα σενάριο που θα ελέγχει τις καρφίτσες GPIO με τις οποίες είναι συνδεδεμένος ο servo.
ένα. Συνδέστε το σερβο στο Pi:
- +5v σε σερβο => +5V στο Pi
- Gnd servo => gnd στο Pi
- Σήμα servo => pin 12 στο Pi
σι. Πρέπει πρώτα να ρυθμίσετε τις ακίδες gpio για να χρησιμοποιήσετε το PWM στο pin σήματος του servo.
ντο. Στη συνέχεια, είναι τόσο απλό όσο η επιλογή του κύκλου λειτουργίας (εξηγείται εδώ) του πείρου σήματος για να μετακινήσετε το σερβο από 90 μοίρες με κύκλο λειτουργίας 7,5 έως 0 μοίρες όταν ο κύκλος λειτουργίας είναι 2,5 και σε 180 μοίρες με κύκλο λειτουργίας 12.5
εισαγωγή RPi. GPIO ως GPIO
χρόνος εισαγωγής GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 μοίρες ώρα. Ύπνος (1) σελ. ChangeDutyCycle (2.5) # 0 μοίρες χρόνος. Ύπνος (1) σελ. ChangeDutyCycle (12.5) # 180 μοίρες χρόνος. Ύπνος (1) εκτός από το πληκτρολόγιο Διακοπή: p.stop () GPIO.cleanup ()
Βήμα 6: Βήμα 6: Κάνοντας το Hoot
Εκπαιδευτικό κώδικα για την κατασκευή της κουκουβάγιας (αναπαραγωγή ήχου με βατόμουρο pi)
ένα. Συνδέστε το ηχείο USB.
σι. Κατεβάστε έναν ήχο - επιλέξαμε μια τρομακτική φασαρία.
ντο. Παίξτε τον ήχο εκτελώντας αυτήν την εντολή: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[ρε. Εάν αυτό δεν λειτουργεί, ελέγξτε ποια έξοδο χρησιμοποιεί το Pi σας και σε ποια ένταση χρησιμοποιώντας την εντολή alsamixer - θα σας υποδεχτεί η οθόνη του μίξερ όπου μπορείτε να αλλάξετε την ένταση ήχου και να επιλέξετε τη συσκευή πολυμέσων σας. Για να αυξήσετε την ένταση του ήχου σας, κάντε την εντολή όπως αυτό omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Για να παίξετε αυτόν τον ήχο χρησιμοποιώντας Python, ρίξτε μια ματιά στο δοκιμαστικό μας σενάριο.]
υποεπεξεργασία εισαγωγής
command = "omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen (command.split (''), stdin = subprocess. PIPE, stdout = subprocess. PIPE, stderr = subprocess. ΣΩΛΗΝΑΣ)
Βήμα 7: Βήμα 7: Ροή βίντεο από το Pi
Εκπαιδευτικό κώδικα δημιουργώντας μια ροή κάμερας raspberry pi
ένα. Εκτελέστε python app.py και δείτε στο τοπικό σας δίκτυο στη διεύθυνση https://raspberrypi.local: 5000
σι. Αυτός ο κώδικας ελήφθη και προσαρμόστηκε ελαφρώς από τον Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… εξηγεί όμορφα πώς γίνεται και τα σεμινάρια του είναι υπέροχα-deffo ελέγξτε τον! Η βασική ιδέα είναι ότι χρησιμοποιούμε νήματα και γεννήτριες για να βελτιώσουμε την ταχύτητα ροής.
Βήμα 8: Βήμα 8: Ανίχνευση σώματος
Κωδικός για ανίχνευση σώματος (ImageNetSSD σε ροή βίντεο με raspberry pi)
ένα. Δεδομένου ότι χρησιμοποιούμε το Raspberry Pi 4, σκεφτήκαμε ότι ήταν καλύτερο να δοκιμάσουμε κάποια μοντέλα βαθιάς εκμάθησης σε αυτό αντί για τη βασική μέθοδο HaarCascade που είχαμε περιοριστεί μέχρι τώρα.
σι. Ρίξαμε μια ματιά σε μερικά από τα προ-εκπαιδευμένα μοντέλα εκεί έξω, όπως το YOLOv3 που φαίνεται εξαιρετικά δροσερό. YOLOv3 μικροσκοπικά βάρη, τα οποία θα ήταν τέλεια για το Pi, αλλά δεν μπορούσαμε να το πετύχουμε:(ντο. Αντ 'αυτού, επιλέξαμε το μοντέλο MobileSSD το οποίο μπορούμε να τρέξουμε χρησιμοποιώντας την ενότητα openCVs DNN (βαθύ νευρωνικό δίκτυο), όπως μάθαμε από αυτόν τον κώδικα: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 και από τον ήρωα των σεμιναρίων επεξεργασίας εικόνας, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
ρε. Ωστόσο, καθώς προσπαθούμε να μεταδώσουμε αυτό το περιεχόμενο και να εκτελέσουμε μοντέλα σε κάθε καρέ, αυτό έχει ως αποτέλεσμα ένα καθυστερημένο, κατακερματισμένο βίντεο. Μάθαμε ξανά από τον Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ και χρησιμοποιήσαμε την ενότητα πολλαπλής επεξεργασίας Python για να βάλουμε τις εικόνες μας σε ουρές όπου μπορούν να υποβληθούν σε επεξεργασία χωρίς να μπλοκάρουν τόσο έντονα τη ροή της κάμερας.
μι. Δοκιμάστε να εκτελέσετε μόνοι σας τον κώδικα:)
Βήμα 9: Βήμα 9: Αποστολή ειδοποιήσεων Zombie
Κωδικός για αποστολή ειδοποίησης (python στο τηλέφωνο)
ένα. Αποφασίσαμε να χρησιμοποιήσουμε την υπηρεσία ειδοποιήσεων
σι. Μπορείτε να αποκτήσετε έναν δωρεάν λογαριασμό και να κατεβάσετε την εφαρμογή και να ρυθμίσετε πραγματικά γρήγορα τις ειδοποιήσεις για κινητά. Δημιουργήσαμε τις ειδοποιήσεις χρησιμοποιώντας ένα σενάριο python όπως αυτό.
αιτήματα εισαγωγής
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Η κουκουβάγια εντόπισε ζόμπι." } r = request.post ("https://api.pushed.co/1/push", data = payload)
Είναι εξαιρετικά απλό και μπορείτε να προσαρμόσετε το όνομα ειδοποίησης!
Βήμα 10: Τι χαμός
Ελπίζουμε να απολαύσατε το έργο μας Smart Security Owl! Αυτό ήταν ένα εξαιρετικά διασκεδαστικό αποτέλεσμα και αισθάνομαι πολύ πιο ασφαλές γνωρίζοντας ότι το σπίτι μου φυλάσσεται από την αξιόπιστη κουκουβάγια μας.
Εάν πιστεύετε ότι αυτό θα ήταν μια υπέροχη προσθήκη για το Halloween στο έξυπνο σπίτι σας, ψηφίστε μας στον διαγωνισμό Instructables Halloween και ως συνήθως, θυμηθείτε να κάνετε like, σχόλιο και εγγραφή!
Εγγραφείτε στη λίστα αλληλογραφίας μας!
Συνιστάται:
SCARA Robot: Learning About Foward and Inverse Kinematics !!! (Plot Twist Μάθετε πώς να δημιουργείτε μια διεπαφή πραγματικού χρόνου στο ARDUINO χρησιμοποιώντας την ΕΠΕΞΕΡΓΑΣΙΑ !!!!): 5 βήματα (με εικόνες)
SCARA Robot: Learning About Foward and Inverse Kinematics !!! (Plot Twist Μάθετε πώς να δημιουργείτε μια διεπαφή πραγματικού χρόνου στο ARDUINO χρησιμοποιώντας την ΕΠΕΞΕΡΓΑΣΙΑ !!!!): Ένα ρομπότ SCARA είναι ένα πολύ δημοφιλές μηχάνημα στον κόσμο της βιομηχανίας. Το όνομα σημαίνει τόσο Selective Compliant Assembly Robot Arm είτε Selective Compliant Articulated Robot Arm. Είναι βασικά ένα ρομπότ τριών βαθμών ελευθερίας, που είναι τα δύο πρώτα διανομή
Shake Detecting Talking Hat With Circuit Playground Express: 12 βήματα (με εικόνες)
Shake Detecting Talking Hat With Circuit Playground Express: Αυτό το εύκολο και γρήγορο σεμινάριο σας διδάσκει πώς να φτιάξετε ένα καπέλο που μιλάει! Θα απαντούσε με μια προσεκτικά επεξεργασμένη απάντηση όταν «ρωτάτε» μια ερώτηση και ίσως θα μπορούσε να σας βοηθήσει να αποφασίσετε εάν έχετε οποιεσδήποτε ανησυχίες ή προβλήματα. Στην τάξη Wearable Tech
Owl Prowl: 5 βήματα (με εικόνες)
Owl Prowl: Owl Prowl είναι ένα ανταγωνιστικό παιχνίδι τεσσάρων παικτών που παίζεται με εναλλακτικά χειριστήρια. Οι τέσσερις παίκτες πρέπει να παίξουν ως χαρακτήρας κουκουβάγιας στο χώρο του παιχνιδιού. Ο στόχος τους είναι να πιάσουν τα περισσότερα ποντίκια πριν τελειώσει ο χρόνος. Κάθε παίκτης χρησιμοποιεί μια βελούδινη κουκουβάγια για να περιορίσει
Crazy Circuits: an Open Source Electronics Learning System: 8 βήματα (με εικόνες)
Crazy Circuits: an Open Source Electronics Learning System: Η εκπαίδευση και η αγορά του σπιτιού είναι πλημμυρισμένη από αρθρωτά ηλεκτρονικά συστήματα «μάθησης» που έχουν σχεδιαστεί για να διδάξουν σε παιδιά και ενήλικες βασικές έννοιες STEM και STEAM. Προϊόντα όπως το LittleBits ή το Snapcircuits φαίνεται να κυριαρχούν σε κάθε οδηγό δώρων διακοπών ή γονικό ιστολόγιο
Σπιτικό ψυγείο με λειτουργικότητα έξυπνου ελέγχου (Deep Freezer): 11 βήματα (με εικόνες)
Σπιτικό ψυγείο με λειτουργικότητα έξυπνου ελέγχου (Deep Freezer): Γεια σας φίλοι, αυτό είναι το Μέρος 2 του DIY ψυγείου που βασίζεται στη μονάδα peltier, σε αυτό το μέρος χρησιμοποιούμε 2 μονάδες peltier αντί για 1, χρησιμοποιούμε επίσης έναν θερμικό ελεγκτή για να ορίσουμε την επιθυμητή θερμοκρασία για εξοικονόμηση λίγη ενέργεια