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

Who's at the Door, a Alexa Actuated Camera System: 3 βήματα
Who's at the Door, a Alexa Actuated Camera System: 3 βήματα

Βίντεο: Who's at the Door, a Alexa Actuated Camera System: 3 βήματα

Βίντεο: Who's at the Door, a Alexa Actuated Camera System: 3 βήματα
Βίντεο: 30 лучших страшных видео с привидениями 2022 года [ЛУЧШЕЕ ГОДА] 2024, Ιούλιος
Anonim
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa
Who's at the Door, ένα σύστημα ενεργοποίησης κάμερας Alexa

Μερικές φορές ενώ βλέπετε τηλεόραση δεν θέλετε να απαντήσετε στην πόρτα εκτός αν είναι σημαντικό. Αυτό το έργο σας επιτρέπει να δείτε το άτομο στην πόρτα λέγοντας απλά στη συσκευή Echo της Amazon "Alexa, ενεργοποιήστε την οθόνη πόρτας". Ελέγχετε ποιος εμφανίζεται στην οθόνη της τηλεόρασης και μετά επιστρέφετε στο κανονικό τηλεοπτικό πρόγραμμα "Alexa, άνοιξε την τηλεόραση". Το σύστημα θα μπορούσε επίσης να έχει αξία για μεγαλύτερους ενήλικες ή παιδιά που θα ήταν ευάλωτα στο να αξιοποιηθούν από πωλητές, κλέφτες και παρόμοια. Αυτό επιτρέπει στην τηλεόραση μεγάλης οθόνης του συστήματος ψυχαγωγίας σας να είναι η οθόνη οθόνης της κάμερας όχι μόνο για την κάμερα της μπροστινής πόρτας, αλλά και για τυχόν άλλες κάμερες ασφαλείας που μπορεί να έχετε. Στην πραγματικότητα, θα μπορούσε ακόμη και να επεκταθεί για την προβολή βίντεο από κάμερες διαδικτύου, όπως κάμερες παραλίας κ.λπ.

Μέρη:

Σύστημα ψυχαγωγίας:

Τηλεόραση με πολλές εισόδους HDMI (οι περισσότερες τηλεοράσεις τις διαθέτουν)

Καλώδιο ή κουτί DVR

Δρομολογητής και σύνδεση στο Διαδίκτυο μέσω καλωδιακής θυρίδας (μπορεί να μην χρειάζεστε εάν έχετε WiFi)

Amazon Echo ("Alexa")

Harmony Hub

Κάμερα

Κάμερα IP στην μπροστινή πόρτα (προτιμάται ο τύπος Power Over Ethernet -POE)

Raspberry Pi3 σε ένα πλαίσιο έργου (το αρχικό Pi μπορεί να λειτουργήσει) με καλώδιο HDMI

Arduino Pro Mini 8 Mhz, 3.3v

Ενότητα IR (οι πιο συνηθισμένοι τύποι θα λειτουργήσουν)

Βήμα 1: Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)

Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)
Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)
Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)
Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)
Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)
Ρύθμιση, Προκαταρκτικός προγραμματισμός (δοκιμή)

Αυτό το έργο βασίζεται στο Pi3 omxplayer που αποκωδικοποιεί βίντεο με επιτάχυνση υλικού. Το Omxplayer μπορεί να εκτελεστεί δοκιμαστικά από μια γραμμή εντολών στο τερματικό Pi χρησιμοποιώντας την κατάλληλη μορφή rtsp: // user@password@ipaddress που απαιτεί η κάμερά σας. Το Pi πρέπει να είναι συνδεδεμένο στο Ethernet (αν και το Pi3 θα μπορούσε να συνδεθεί μέσω WiFi επίσης, αλλά δεν έχει δοκιμαστεί) και να βρίσκεται φυσικά στο κέντρο ψυχαγωγίας, ώστε το καλώδιο εξόδου του HDMI του Pi να μπορεί να φτάσει στην υποδοχή εισόδου HDMI της τηλεόρασης. Η μονάδα Arduino και IR θα συνδεθούν με το Pi και θα μεταφέρουν τις πληροφορίες που αποκτήθηκαν από την ανάγνωση των πιέσεων του τηλεχειριστηρίου της τηλεόρασης. Το Pi θα μπορούσε να κάνει αυτήν την αποκωδικοποίηση απευθείας από τη μονάδα IR, αλλά είμαι καλύτερος στον προγραμματισμό Arduino από τον προγραμματισμό Python και επιπλέον εξοικονομεί πόρους επεξεργαστή για το κύριο καθήκον του Pi για αποκωδικοποίηση της ροής βίντεο.

Δεδομένου ότι το σύστημα ασφαλείας μου διαθέτει πολλές κάμερες, χρησιμοποίησα την οθόνη παρακολούθησης που λειτουργεί με Pi ως τρόπο εμφάνισης 4 καμερών ταυτόχρονα, καθώς και μεμονωμένες κάμερες σε πλήρη οθόνη. Ακολουθήστε αυτές τις οδηγίες, ωστόσο πιθανότατα θα έχετε πολλά προβλήματα για να εμφανίζονται οι κάμερες με σταθερό τρόπο.

Ένα από τα προβλήματα είναι ότι τα 4 μεγέθη παραθύρων που αναφέρονται στο πρόγραμμα ενδέχεται να μην ταιριάζουν στη συγκεκριμένη ανάλυση τηλεόρασης. Βρείτε ποιες αναλύσεις υποστηρίζει η οθόνη σας ενώ σημειώνετε την ανάλυση της κάμερας που έχουν οι κάμερές σας. Οι περισσότερες κάμερες IP διαθέτουν ροή υψηλής ανάλυσης (1080p) και χαμηλής ανάλυσης (640x480), οπότε αν θέλετε μόνο ένα βίντεο υψηλής ανάλυσης της μπροστινής πόρτας, πηγαίνετε με τη ροή υψηλής ανάλυσης rtsp: // format. Συνεχίστε με τη ροή χαμηλής ανάλυσης για κάμερες σε 4 τετράγωνα, δεν θα παρατηρήσετε μεγάλη διαφορά με τα μικρότερα μεγέθη εικόνας. Μπορείτε να ακολουθήσετε τα μεγέθη παραθύρων bash script (test.sh) (σε λειτουργία ανάλυσης 1080p, εμφανίζοντας 4 κάμερες ίσου μεγέθους 640x480 κλιμακωμένες ώστε να ταιριάζουν). Διαφορετικά, χρησιμοποιήστε χαρτί γραφικών για να σχεδιάσετε τα pixel της τηλεόρασής σας και, στη συνέχεια, σχεδιάστε πόσα ορθογώνια θέλετε σε αυτήν την περιοχή. Στη συνέχεια, βρείτε πόσα βίντεο 640x480 θα χωρέσουν χωρίς να αλλάξει υπερβολικά η όψη (το τέντωμα οριζόντια φαίνεται καλύτερα από ό, τι κάθετα). Δεν μου αρέσουν τα σύνορα, οπότε δεν τα υπολόγισα. Αριθμήστε τα ορθογώνια από πάνω αριστερά προς τα κάτω δεξιά 1, 2, 3..λπ. Στη συνέχεια, δημιουργήστε μια στήλη από αριθμούς παραθύρων, για κάθε σειρά από αυτούς τους αριθμούς γράψτε πάνω αριστερά x, y pixel και κάτω δεξιά pixel x, y. Στη συνέχεια, αυτοί οι αριθμοί αντικαθίστανται στο σενάριο για να λάβετε μια προσαρμοσμένη οθόνη, αν θέλετε, μπορείτε να έχετε μια οθόνη 3 x 3. Εάν θέλετε μόνο μία οθόνη, απλώς σχολιάστε τις άλλες 3 κάμερες και κάντε το μέγεθος του παραθύρου σε πλήρη ανάλυση οθόνης (και χρησιμοποιήστε τη ροή rtsp υψηλής ανάλυσης) και ονομάστε το σενάριο "test1.sh". Δημιουργήστε όσα σενάρια θέλετε, το πρόγραμμα btn.py Python θα τα καλέσει καθώς οι καρφίτσες GPIO αλλάζουν από το Arduino.

Ένα πρόβλημα για να αποκτήσετε μια σταθερή οθόνη (πάνω από την εικόνα, αλλά χαμηλότερες κάθετες λωρίδες εικόνας) είναι ότι πολλές κάμερες μεταδίδονται πολύ καλύτερα χρησιμοποιώντας rtsp μέσω tcp (χρησιμοποιώ Hikvision κάμερες IP 2 έως 5 Mp). Επομένως, χρησιμοποιήστε το "--avdict rtsp_transport: tcp" στο omxplayer όπως φαίνεται. Άλλες χρήσιμες εντολές omxplayer είναι η ένταση (--vol -6000 για τη σίγαση) και η προσωρινή μνήμη (-ουρά βίντεο x) όπου x = 1 ή περισσότερο.

Οι ρυθμίσεις κάμερας IP μπορούν επίσης να προκαλέσουν προβλήματα με το omxplayer. Όλες οι κάμερες IP πρέπει να ρυθμιστούν στα ίδια καρέ ανά δευτερόλεπτο, διαφορετικά η εικόνα θα σπάσει. Όταν ρυθμίζεται σε ριζικά διαφορετικούς ρυθμούς καρέ, ο χρόνος που εμφανίζεται σε μία χρονική σφραγίδα κάμερας όντως πήγε προς τα πίσω για μερικά δευτερόλεπτα, έπειτα προς τα εμπρός και προς τα πίσω κ.λπ.

Βήμα 2: Το βάζουμε μαζί

Το βάζουμε μαζί
Το βάζουμε μαζί

Μπορείτε να ελέγξετε χειροκίνητα το καλώδιο και την τηλεόραση για να επιτρέψετε στο Pi να εμφανίζει την κάμερα της μπροστινής πόρτας. Ωστόσο, αυτό απαιτεί αρκετά πατήματα κουμπιών, συμπεριλαμβανομένης της κατάλληλης εναλλαγής του τηλεχειριστηρίου γενικής χρήσης από τη λειτουργία καλωδίου σε λειτουργία τηλεόρασης για να επιτρέπεται η αλλαγή της πηγής εισόδου HDMI στον αποκωδικοποιητή κάμερας Pi (HDMI 2). Εάν θέλετε τη δυνατότητα εμφάνισης πρόσθετων οθονών κάμερας, τότε πρέπει επίσης να αλλάξετε το τηλεχειριστήριο γενικής χρήσης σε AUX για να ελέγξετε το Arduino και συνεπώς την επιλογή της κάμερας Pi. Για να απλοποιήσετε αυτήν τη διαδικασία, χρησιμοποιήστε μια εφαρμογή Harmony Hub και μια σχετική εφαρμογή Harmony smartphone, διδάσκοντάς την να ελέγχει την τηλεόραση και το καλώδιο για κανονική προβολή τηλεόρασης σε μια δραστηριότητα και, στη συνέχεια, να δημιουργεί μια άλλη δραστηριότητα για τον έλεγχο της οθόνης βίντεο Pi. Η Δραστηριότητα περιλαμβάνει την ενεργοποίηση της τηλεόρασης, την είσοδο της τηλεόρασης σε HDMI 2 και τον έλεγχο των εικονικών κουμπιών NECx TV (δηλαδή, των Arduino και Pi) 0 έως 5. Αυτό επιτρέπει τον έλεγχο των πάντων μέσω της εφαρμογής smartphone Harmony. Για να κάνετε τα πράγματα ακόμα πιο εύκολα, συνδέστε την εφαρμογή Amazon Echo Dot (Alexa) με την εφαρμογή Harmony για φωνητικό έλεγχο της τηλεόρασης ή των λειτουργιών παρακολούθησης πόρτας. Ο ιστότοπος Harmony παρέχει λεπτομέρειες σχετικά με τον τρόπο ενεργοποίησης αυτών των νέων δεξιοτήτων Alexa. Νέες δεξιότητες. Μόλις συνδεθούν με νέες δεξιότητες Alexa, οι λέξεις -κλειδιά όπως "Ενεργοποιήστε την τηλεόραση" ή "Ενεργοποιήστε την οθόνη πόρτας" θα επιτρέψουν τις κατάλληλες ενέργειες χωρίς να χρειάζεται IR από το γενικό τηλεχειριστήριο.

Το Pi συνδέεται μέσω Ethernet στο LAN σας και μέσω καλωδίου HDMI στην τηλεόραση. Εγκατέστησα ένα Pro Mini 3,3 volt μέσω καλωδίων στο Pi ως επιλογή για να προσθέσω επιπλέον εναλλαγή κάμερας. Το Pro Mini μπορεί να τροφοδοτηθεί από τον ακροδέκτη 3,3 volt του Pi. Μια μονάδα IR συνδέεται με τον ακροδέκτη 2 του Arduino και το συνημμένο σκίτσο αποκωδικοποιεί το πάτημα του κουμπιού 0 έως 5 (στην πραγματικότητα 0 έως 9, αλλά ορισμένες ακίδες Arduino δεν είναι ακόμη συνδεδεμένες). Οι έξοδοι Arduino συνδέονται με τις ψηφιακές εισόδους GPIO pin του Pi, όπου μια διακοπή δέσμης ενεργειών δέσμης ενεργειών καθορίζει ποιο "κουμπί" πατήθηκε, στη συνέχεια σταματά μια επιλογή προβολής οθόνης και ξεκινά μια άλλη.

Το καλώδιο μου είναι από το Spectrum (πρώην καλώδιο Time Warner), το οποίο είναι ένα μοντέλο DVR της Motorola DCX3510. Χρησιμοποιεί πρωτόκολλο GI Cable για IR. Η Sony TV χρησιμοποιεί το πρωτόκολλο της Sony 2. Πίστευα ότι ο ένας ή ο άλλος από αυτούς τους κωδικούς θα ήταν εντάξει για τον έλεγχο του δέκτη Pi IR και είτε λειτούργησε, αν και αποδείχθηκε ότι δεν ήταν πρακτικός. Το τηλεχειριστήριο θα περίμενε πρόσθετες εντολές ή θα άλλαζε αυτόματα την πηγή εισόδου επίσης όταν πατήθηκε ένα κουμπί 0 έως 9. Επομένως, έπρεπε να χρησιμοποιήσω έναν διαφορετικό κώδικα που δεν θα αλληλεπιδρούσε με το καλωδιακό δέκτη ή την τηλεόραση. Βρήκα το γενικό μου τηλεχειριστήριο είχε έναν προηγουμένως προγραμματισμένο κώδικα για μια συσκευή AUX (δεν ξέρω τι ελέγχει) και αποφάσισα να τον χρησιμοποιήσω. Οι κωδικοί που παρήχθησαν είπαν ότι χρησιμοποιούσε NECx, έναν κώδικα 32 bit, οπότε τους κωδικούς του κουμπιού τους έβαλα στο σκίτσο του Arduino IR_Rev_Codes_Pi_Monitor. Αλλάξτε το πρόγραμμα εάν έχετε διαφορετικό μοντέλο χρησιμοποιώντας το πρόγραμμα λήψης στο IRLib2 και σημειώστε τις τιμές δημιουργού, πρωτοκόλλου και εξάγωνου για τα κουμπιά που έχουν πατηθεί.

Βήμα 3: Συμπέρασμα

συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα

Η οθόνη πόρτας είναι ένα πρακτικό έργο αυτοματισμού σπιτιού. Ταν η πρώτη μου εμπειρία στον προγραμματισμό του Pi με Python. Η Python επιτρέπει τον προγραμματισμό μιας διακοπής, μια λειτουργία που πίστευα ότι προοριζόταν για μικροελεγκτές. Η διακοπή επιτρέπει στο πρόγραμμα να λειτουργεί κανονικά, εκτελώντας omxplayer, χωρίς να ελέγχει συνεχώς εάν απαιτείται άλλη ενέργεια όπως η αλλαγή της οθόνης σε νέα ροή κάμερας. Ωστόσο, εάν προκύψει η διακοπή, το πρόγραμμα καθορίζει στη συνέχεια ποια νέα ροή βίντεο πρέπει να εμφανιστεί. Το Arduino έχει ρυθμιστεί για να παρέχει έναν παλμό για να ενεργοποιήσει τη διακοπή της Python. Εάν προκύψει η διακοπή, τότε το πρόγραμμα αναζητά ποια συγκεκριμένη έξοδος Arduino (που αντιστοιχεί στο πατημένο κουμπί IR) είναι ενεργοποιημένη. Τέλος, το πρόγραμμα σκοτώνει οποιαδήποτε τρέχουσα οθόνη omxplayer και ξεκινά τη νέα οθόνη omxplayer.

Έμαθα ότι το Pi δεν ρυθμίζει τις καρφίτσες GPIO για είσοδο όπως το Arduino από προεπιλογή- δεν είναι λάθος του Pi, αλλά είναι ο τρόπος που το Broadcom BCM2837 είναι από το εργοστάσιο. Μου αρέσει ο 4 πυρήνας, ο επεξεργαστής 1,2 Ghz, ένας υπολογιστής χαμηλής ισχύος και χαμηλού κόστους που μπορεί να εμφανίσει υπέροχο βίντεο HD. Το κουμπί IR 1 εμφανίζει την τετραπλή οθόνη και τα κουμπιά 2 έως 5 το καθένα δείχνουν μία μόνο μεγάλη οθόνη μιας κάμερας σε υψηλή ευκρίνεια.

Πατώντας το τηλεχειριστήριο 0, ακυρώνεται η προβολή βίντεο και εμφανίζεται η γραμμή εντολών Pi. Αν θέλετε να παρακολουθήσετε βίντεο στο Youtube ή παρόμοια, χρησιμοποιήστε πληκτρολόγιο Bluetooth, πληκτρολογήστε "startx" και χρησιμοποιήστε το πρόγραμμα περιήγησης Pi για να μεταβείτε στο βίντεο του Youtube και να το παίξετε σε πλήρη οθόνη σε υψηλή ευκρίνεια.

Συνιστάται: