- Δημιουργήστε γρήγορα κάμερα ασφαλείας Motion Capture με Raspberry Pi:
- Προσαρμογή ρυθμίσεων πολυμέσων στο Motion:
- Πώς να αποκτήσετε τη ροή βίντεο μέσω του Διαδικτύου:
Η ασφάλεια είναι μεγάλη ανησυχία σήμερα και υπάρχουν πολλές τεχνολογίες που υπάρχουν σήμερα για να διατηρείτε τον χώρο σας ασφαλή και παρακολούθηση. Οι κάμερες CCTV είναι πολύ χρήσιμες για να παρακολουθείτε το σπίτι ή το γραφείο σας. Αν και οι τιμές αυτών των τύπων καμερών έχουν μειωθεί σημαντικά από την αρχή τους, αλλά οι κάμερες IP, οι οποίες έχουν τη δυνατότητα να στέλνουν και να λαμβάνουν την ημερομηνία μέσω του δικτύου, είναι πολύ ακριβές. Και για την Αληθινή παρακολούθηση, μια κάμερα πρέπει να έχει τη δυνατότητα να στέλνει τη ροή της μέσω του Διαδικτύου, ώστε να μπορεί να παρακολουθείται από οπουδήποτε στον κόσμο.
Σήμερα φτιάχνουμε μια πολύ φθηνή κάμερα παρακολούθησης κίνησης χρησιμοποιώντας το Raspberry Pi και μια κάμερα web. Αυτό είναι ένα εξαιρετικό και πολύ φθηνότερο εργαλείο ασφάλειας, το οποίο έχει πολλές επιλογές με δυνατότητα διαμόρφωσης και μπορεί να κατασκευαστεί σε λίγα λεπτά. Εδώ χρησιμοποιούμε μόνο Raspberry Pi και μια κάμερα Ιστού USB για τη δημιουργία αυτής της κάμερας Motion Capture. Έχουμε εγκαταστήσει το Raspbian Jessie OS στον πίνακα Raspberry Pi. Θα πρέπει να ελέγξετε αυτό το άρθρο για να εγκαταστήσετε το Raspbian OS και να ξεκινήσετε με το Raspberry Pi.
Εδώ θα περάσουμε πρώτα από έναν οδηγό γρήγορης εκκίνησης, ώστε να μπορείτε να έχετε την κάμερα παρακολούθησης έτοιμη σε λίγα λεπτά με όλες τις προεπιλεγμένες διαμορφώσεις και μετά από αυτό θα βρούμε τις άλλες λεπτομέρειες και επιλογές διαμόρφωσης για να τον προσαρμόσουμε ανάλογα με τις ανάγκες σας.
Αλλά πριν από αυτό, ας μάθουμε κάτι για το Motion (Surveillance Software), το οποίο αποτελεί την καρδιά αυτού του έργου. Το Motion είναι δωρεάν, λογισμικό CCTV ανιχνευτή κίνησης ανοιχτού κώδικα, που αναπτύχθηκε για Linux. Ανιχνεύει την κίνηση και ξεκινά την εγγραφή βίντεο. Με το "Motion" εγκατεστημένο στο Raspberry Pi, μπορείτε μαγικά να μετατρέψετε το Raspberry Pi σε κάμερα ασφαλείας και να έχετε τις ακόλουθες λειτουργίες:
1. Μπορείτε να παρακολουθήσετε ζωντανή ροή βίντεο σε ένα πρόγραμμα περιήγησης στο Web εισάγοντας τη διεύθυνση IP του Pi μαζί με τη θύρα.
2. Θα εγγράφει και θα αποθηκεύει το βίντεο κάθε φορά που ανιχνεύει κίνηση ή οποιαδήποτε διαταραχή στην περιοχή προβολής. Θα συνεχίσει την εγγραφή του βίντεο έως ότου υπάρξει κάποια κίνηση, στη συνέχεια σταματά και αποθηκεύει το αρχείο, το οποίο μπορεί να παρακολουθηθεί αργότερα.
3. Μπορεί να δημιουργήσει ένα όμορφο βίντεο Timelapse.
4. Μπορεί να λαμβάνει στιγμιότυπα σε κανονικό διάστημα ή όταν υπάρχει κάποια κίνηση. Τα στιγμιότυπα αποθηκεύονται επίσης στο δίσκο για μελλοντική χρήση.
Εκτός από αυτό, έχει πολλές επιλογές διαμόρφωσης τις οποίες θα συζητήσουμε σύντομα και μπορούμε επίσης να ορίσουμε καθορισμένους από τον χρήστη «ενεργοποιητές» σε συγκεκριμένα συμβάντα. Προς το παρόν το Motion υποστηρίζει μόνο κάμερα USB έξω από το κουτί, εάν θέλετε να χρησιμοποιήσετε την κάμερα Pi, τότε πρέπει να χρησιμοποιήσετε την ειδική έκδοση του Motion.
Δημιουργήστε γρήγορα κάμερα ασφαλείας Motion Capture με Raspberry Pi:
Εδώ πρέπει να εκτελέσετε λίγες μόνο εντολές για να ξεκινήσετε να λαμβάνετε την πρώτη ροή βίντεο μέσω του δικτύου. Πριν από αυτό, ελέγξτε σωστά ότι το Raspberry Pi σας είναι συνδεδεμένο στο Διαδίκτυο, χρησιμοποιώντας LAN ή Wi-Fi και, στη συνέχεια, ακολουθήστε τα παρακάτω βήματα:
Βήμα 1: Εκτελέστε πρώτα την παρακάτω εντολή για να ενημερώσετε το Raspbian OS στο Raspberry Pi:
sudo apt-get ενημέρωση
Βήμα 2: Στη συνέχεια, εγκαταστήστε τη βιβλιοθήκη «Motion» χρησιμοποιώντας την παρακάτω εντολή:
sudo apt-get εγκατάσταση κίνησης
Βήμα 3: Τώρα ορίστε το Motion daemon σε ναι επεξεργάζοντας το αρχείο: / etc / default / motion έτσι ώστε να τρέχει πάντα. Επεξεργαστείτε αυτό το αρχείο χρησιμοποιώντας το πρόγραμμα επεξεργασίας «nano» με το «sudo» όπως δίνεται παρακάτω:
sudo nano / etc / default / motion
Στη συνέχεια, αποθηκεύστε το αρχείο πατώντας "CTRL + X", στη συνέχεια "Y" και το Enter.
Βήμα 4: Τώρα πρέπει να ορίσουμε την άδεια για το Target Directory (/ var / lib / motion /), στο οποίο το Motion αποθηκεύει όλες τις εγγραφές βίντεο και τα αρχεία εικόνων. Πρέπει να ορίσουμε το "Motion" ως κάτοχο αυτού του καταλόγου εκδίδοντας την παρακάτω εντολή:
sudo chown motion: κίνηση / var / lib / κίνηση /
Αυτή η άδεια είναι απαραίτητη, διαφορετικά θα εμφανιστεί το παρακάτω σφάλμα, όταν ελέγχετε το Motion service Status χρησιμοποιώντας αυτήν την εντολή: sudo service motion status
Βήμα 5: Τώρα έχουμε σχεδόν τελειώσει, μόνο πρέπει να αλλάξουμε μια επιλογή διαμόρφωσης στο αρχείο ρυθμίσεων Motion (/etc/motion/motion.conf ) που είναι απενεργοποιημένο το stream_localhost Πρέπει να απενεργοποιήσουμε αυτήν την τοπική ροή κεντρικού υπολογιστή, αλλιώς δεν θα έχουμε πρόσβαση στη ροή βίντεο στο δίκτυό μας και θα είναι προσβάσιμη μόνο από το ίδιο το Raspberry Pi. Για να το κάνετε αυτό, επεξεργαστείτε το αρχείο Motion Configuration με το πρόγραμμα επεξεργασίας "nano" και απενεργοποιήστε το, όπως φαίνεται παρακάτω:
sudo nano /etc/motion/motion.conf
Τώρα τελειώσαμε και είμαστε έτοιμοι να συνδέσουμε τη ζωντανή ροή μας από την κάμερα web USB στο Pi. Απλώς ξεκινήστε την υπηρεσία Motion χρησιμοποιώντας την παρακάτω εντολή και ανοίξτε το IP του Raspberry Pi, με τη θύρα 8081, στο πρόγραμμα περιήγησής σας (όπως 192.168.1.103:8081):
sudo /etc/init.d/motion start
Και θα δείτε τη ζωντανή ροή από την κάμερα web όπως παρακάτω. Εδώ χρησιμοποιήσαμε μια κάμερα web USB χαμηλού κόστους (Quantum web camera QHM500LM), η οποία λειτούργησε ομαλά με το Raspberry Pi, αλλά μπορείτε να χρησιμοποιήσετε περαιτέρω μια κάμερα καλής ποιότητας για καλύτερη ανάλυση.
Όπως θα εμφανίζεται στο πρόγραμμα περιήγησης, μπορείτε να χρησιμοποιήσετε οποιαδήποτε συσκευή, για να παρακολουθήσετε τη ροή, η οποία υποστηρίζει πρόγραμμα περιήγησης ιστού όπως Κινητό, tablet κ.λπ. Ακολουθεί ένα στιγμιότυπο από το κινητό τηλέφωνο:
Μπορείτε πάντα να ξεκινήσετε, να σταματήσετε, να επανεκκινήσετε και να λάβετε την κατάσταση της υπηρεσίας Motion χρησιμοποιώντας παρακάτω τέσσερις εντολές:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion επανεκκίνηση sudo service motion status
ή μπορείτε να επανεκκινήσετε το Raspberry Pi ως βήμα αντιμετώπισης προβλημάτων όταν είναι απαραίτητο:
επανεκκίνηση sudo
Σημείωση: Εάν είστε μοντέλο Raspberry Pi κάτω από την έκδοση 3, τότε ίσως χρειαστείτε ένα dongle Wi-Fi για ασύρματη σύνδεση του raspberry Pi με το δρομολογητή. Το Raspberry Pi 3 διαθέτει ενσωματωμένο Wi-Fi. Εδώ χρησιμοποιήσαμε το Raspberry Pi 2 Model B με Wi-Fi dongle.
Προσαρμογή ρυθμίσεων πολυμέσων στο Motion:
Λοιπόν, τώρα η Κάμερα παρακολούθησης λειτουργεί και λειτουργεί. Τώρα μπορούμε να εξετάσουμε μερικές πολύ χρήσιμες επιλογές διαμόρφωσης, χρησιμοποιώντας τις οποίες μπορούμε να τη βελτιστοποιήσουμε σύμφωνα με τις ανάγκες μας και να έχουμε πολύ εντυπωσιακά αποτελέσματα. Στο αρχείο Motion Configuration, όλες οι ρυθμίσεις εξηγούνται πολύ όμορφα με την προεπιλεγμένη και επαναλαμβανόμενη τιμή τους, απλώς ελέγξτε το χρησιμοποιώντας την παρακάτω εντολή:
sudo nano /etc/motion/motion.conf
Εκτός από τη λήψη της ζωντανής ροής, το Motion καταγράφει και αποθηκεύει αρχεία βίντεο όποτε εντοπίζει το Motion. Έτσι μπορείτε να προσαρμόσετε το καρέ, την ποιότητα, το πλάτος / το ύψος των βίντεο ροής. Μπορείτε να ορίσετε υψηλό ρυθμό καρέ για βίντεο σε πραγματικό χρόνο, αλλά το δίκτυό σας πρέπει να είναι αρκετά γρήγορο για αυτό. Ακολουθούν οι τιμές που έχουμε χρησιμοποιήσει, μπορείτε να τις αλλάξετε ανάλογα:
# Πλάτος εικόνας (εικονοστοιχεία). Έγκυρο εύρος: Εξαρτάται από την κάμερα, προεπιλογή: 352 πλάτος 640 # Ύψος εικόνας (pixel). Έγκυρο εύρος: Εξαρτάται από την κάμερα, προεπιλογή: 288 ύψος 480 # Μέγιστος αριθμός καρέ που θα ληφθούν ανά δευτερόλεπτο. # Έγκυρο εύρος: 2-100. Προεπιλογή: 100 (σχεδόν χωρίς όριο). framerate 50 stream_quality 90
Θα ήταν καλό να αποθηκεύσετε μερικές φωτογραφίες πριν και μετά ανιχνεύσει την κίνηση και να ξεκινήσει η εγγραφή του βίντεο. Χρησιμοποιήστε τις παρακάτω ρυθμίσεις για αυτό:
# Καθορίζει τον αριθμό των προ-καταγεγραμμένων (buffered) εικόνων από πριν εντοπιστεί η κίνηση # που θα εξάγεται κατά την ανίχνευση κίνησης. # Συνιστώμενο εύρος: 0 έως 5 (προεπιλογή: 0) pre_capture 0 # Ο αριθμός των καρέ για λήψη μετά την κίνηση δεν ανιχνεύεται πλέον (προεπιλογή: 0) post_capture 0
Η κίνηση από προεπιλογή παίρνει πάρα πολλές εικόνες όταν ανιχνεύει το Motion και θα καταλήξετε με τόσα πολλά αρχεία «jpg» για μια μικρή κίνηση. Επομένως, θα ήταν καλό να απενεργοποιήσετε αυτήν τη ρύθμιση ( έξοδος_εκτύπων ) ή να την ορίσετε ως «καλύτερη»:
η έξοδος_εικονίζει καλύτερα
Μπορείτε επίσης να τραβήξετε στιγμιότυπα σε τακτά χρονικά διαστήματα, που ορίσατε από εσάς, χρησιμοποιώντας την παρακάτω επιλογή:
# Πραγματοποιήστε αυτοματοποιημένο στιγμιότυπο κάθε Ν δευτερόλεπτα (προεπιλογή: 0 = απενεργοποιημένο) στιγμιότυπο_διάστημα 0
Τα πιο ελκυστικά χαρακτηριστικά για μένα, είναι το timelapse Video, είναι μια πολύ καλή ρύθμιση για όμορφα βίντεο timelapse με πολύ χαμηλό κόστος. Εδώ μπορείτε να ορίσετε το διάστημα για τα στιγμιότυπα για το Timelapse Video:
# Προεπιλεγμένη τιμή 0 = off - αλλιώς αποθηκεύστε το πλαίσιο κάθε Nth δευτερόλεπτο ffmpeg_timelapse 2
Μπορείτε να αλλάξετε τον κατάλογο στόχων για να αποθηκεύσετε όλα τα εγγεγραμμένα αρχεία και εικόνες χρησιμοποιώντας το "target_dir" και μην ξεχάσετε να ορίσετε το "Motion" ως κάτοχο αυτού του καταλόγου, όπως εξηγήθηκε προηγουμένως.
# Βασικός κατάλογος προορισμού για εικόνες και ταινίες # Συνιστάται η χρήση απόλυτης διαδρομής. (Προεπιλογή: τρέχων κατάλογος εργασίας) target_dir / var / lib / motion
Μπορείτε να αλλάξετε τη θύρα ροής ιστού (η προεπιλογή είναι 8081):
# Ο διακομιστής mini-http ακούει αυτήν τη θύρα για αιτήματα (προεπιλογή: 0 = απενεργοποιημένο) stream_port 8081
Εάν δεν θέλετε ένα μεγάλο αρχείο βίντεο, τότε μπορείτε να δώσετε εντολή στο Motion να κάνει πολλά κλιπ συγκεκριμένης διάρκειας αντί για ένα μεγάλο αρχείο. Μπορείτε να αναφέρετε τη διάρκεια των κλιπ σε δευτερόλεπτα (0 για άπειρο):
# Μέγιστο μήκος σε δευτερόλεπτα μιας ταινίας # Όταν ξεπεραστεί η τιμή δημιουργείται ένα νέο αρχείο ταινίας. (Προεπιλογή: 0 = άπειρο) max_movie_time 30
Μπορείτε επίσης να αποφασίσετε πώς να ορίσετε μια κίνηση και να ορίσετε τους αριθμούς των pixel ή των πλαισίων που πρέπει να αλλάξουν για την ανίχνευση μιας πραγματικής κίνησης:
# Όριο για τον αριθμό των αλλαγμένων εικονοστοιχείων σε μια εικόνα που # ενεργοποιεί την ανίχνευση κίνησης (προεπιλογή: 1500) κατώφλι 1500 # Τα πλαίσια εικόνων πρέπει να περιέχουν κίνηση τουλάχιστον τον καθορισμένο αριθμό καρέ # σε μια σειρά πριν εντοπιστούν ως πραγματική κίνηση. Στην προεπιλογή του 1, ανιχνεύεται και η # κίνηση. Έγκυρο εύρος: 1 έως χιλιάδες, συνιστώμενο 1-5 ελάχιστο_motion_frames
Από προεπιλογή, το Motions αποθηκεύει τα αρχεία καταγραφής στο "syslog" αλλά μπορείτε να ορίσετε ειδικό αρχείο καταγραφής για το Motion:
# Χρησιμοποιήστε ένα αρχείο για να αποθηκεύσετε μηνύματα καταγραφής, εάν δεν ορίζονται stderr και χρησιμοποιείται το syslog. (προεπιλογή: δεν ορίζεται) logfile /tmp/motion.log
Μην ξεχάσετε να αποθηκεύσετε και να επανεκκινήσετε την υπηρεσία Motion αφού αλλάξετε οποιαδήποτε ρύθμιση. Για να αποθηκεύσετε το motion.conf, πατήστε CTRL + X και Y και μετά Enter.
Έτσι, αυτές είναι μερικές κοινές ρυθμίσεις που μπορούν να χρησιμοποιηθούν για την επίτευξη καλών αποτελεσμάτων. Αλλά αν είστε περίεργοι, σκάψτε περισσότερο το αρχείο διαμόρφωσης και ξεκινήστε να παίζετε με τις ρυθμίσεις. Υπάρχουν πολλές επιλογές για να ρυθμίσετε τη φωτεινότητα, την αντίθεση, το ρυθμό bit, τους κανόνες ενεργοποίησης, τον έλεγχο ταυτότητας κωδικού πρόσβασης και πολλές άλλες.
Πώς να αποκτήσετε τη ροή βίντεο μέσω του Διαδικτύου:
Εδώ παρακολουθήσαμε τη ροή της κάμερας web μέσω του τοπικού δικτύου χρησιμοποιώντας την τοπική IP του Raspberry Pi. Αλλά αν θέλετε να το παρακολουθήσετε από οπουδήποτε μέσω του Διαδικτύου, τότε πρέπει να ρυθμίσετε το Port Forwarding στο δρομολογητή / μόντεμ σας. Βασικά πρέπει να προωθήσετε τη θύρα 80 (χρησιμοποιείται για HTTP ή internet) στην τοπική ή ιδιωτική διεύθυνση IP σας από εσάς Raspberry Pi (όπως (192.168 * στην περίπτωσή μας). Μετά την προώθηση της θύρας, όλες οι εισερχόμενες συνδέσεις στη θύρα 80 θα προωθηθούν σε αυτήν την τοπική διεύθυνση και μπορείτε να παρακολουθήσετε τη ζωντανή ροή εισάγοντας τη δημόσια διεύθυνση IP σας στο διαδίκτυο με τη ροή θύρα που έχουμε ορίσει νωρίτερα (8081). Κάθε δρομολογητής έχει διαφορετικό περιβάλλον εργασίας χρήστη για τη ρύθμιση Port Forwarding, ώστε να μπορείτε να συνδεθείτε στο δρομολογητή σας (192.168.1.1) και να βρείτε την επιλογή για το ίδιο. Αλλά θυμηθείτε ότι, για να αποκτήσετε πρόσβαση στο Το Raspberry Pi μέσω Διαδικτύου πρέπει να έχετε στατική δημόσια διεύθυνση IP και δεν πρέπει να αλλάζει σε κάθε επανεκκίνηση του μόντεμ. Η στατική διεύθυνση IP παρέχεται από τον ISP σας.
Έτσι μπορούμε να ρυθμίσουμε εύκολα μια κάμερα παρακολούθησης πολύ χαμηλού κόστους χρησιμοποιώντας το Raspberry Pi και μια απλή κάμερα Web.