Μεταδίδουμε βίντεο από μια κάμερα web που είναι συνδεδεμένη με ένα Raspberry Pi. Raspberry Pi. Σύνδεση και εργασία με κάμερα CSI Πώς να συνδέσετε μια αναλογική κάμερα στο raspberry pi

Σύντομες οδηγίες για τη σύνδεση και τη χρήση μιας κάμερας υλικού για το Raspberry Pi Λάβετε υπόψη ότι η κάμερα μπορεί να καταστραφεί από στατικό ηλεκτρισμό. Πριν αφαιρέσετε την κάμερα, συνιστάται να αγγίξετε ένα γειωμένο αντικείμενο (για παράδειγμα, ένα ψυγείο) για να αφαιρέσετε τη φόρτιση. Η κάμερα συνδέεται με την πλακέτα χρησιμοποιώντας ένα εύκαμπτο καλώδιο. Η υποδοχή καλωδίου βρίσκεται ανάμεσα στις θύρες Ethernet και HDMI. Ο φακός της κάμερας μπορεί να καλύπτεται με ένα διαφανές προστατευτικό φιλμ, το οποίο πρέπει να αφαιρεθεί πριν από τη χρήση.

Ενεργοποιήστε την υποστήριξη κάμερας στο Raspbian

Εκκινήστε το Raspberry Pi και συνδεθείτε (το προεπιλεγμένο όνομα χρήστη είναι πι, Κωδικός πρόσβασης - βατόμουρο). Στο τερματικό, εκτελέστε τις εντολές για να ενημερώσετε τη διανομή Raspbian στην πιο πρόσφατη έκδοση: sudo apt-get ενημέρωση

sudo apt-get αναβάθμιση

Λογισμικό κάμερας

ράσπιβιντεφαρμογή κονσόλας για εγγραφή βίντεο από κάμερα.

raspistillΕφαρμογές λήψης εικόνων από τις παραμέτρους της κάμερας -οή –output καθορίζει το όνομα του αρχείου εξόδου ή –Χρονικό όριο διάρκειας εγγραφής βίντεο (προεπιλογή 5 δευτερόλεπτα) -ρεή –εγγραφή επίδειξης σε λειτουργία επίδειξης χαρακτηριστικών. Θα χρησιμοποιηθούν όλα τα πιθανά αποτελέσματα

Παραδείγματα: raspistill -ο εικόνα.jpg- Λήψη εικόνας σε μορφή .jpg

raspivid -o βίντεο.h264- τραβήξτε βίντεο 5 δευτερολέπτων σε μορφή h264

raspivid -o video.h264 -t 10000- τραβήξτε βίντεο 10 δευτερολέπτων σε μορφή h264

raspivid -o βίντεο.h264 -t 10000 -d- τραβήξτε βίντεο 10 δευτερολέπτων σε μορφή h264 σε λειτουργία επίδειξης

Μπορείτε να δείτε όλες τις πιθανές παραμέτρους για τις εφαρμογές raspivid και raspistill ως εξής: raspivid | λιγότερο, raspistill | πιο λιγο

Χρησιμοποιήστε τον κέρσορα για να μετακινηθείτε στη λίστα ή πληκτρολογήστε "q" για έξοδο. Μπορείτε να βρείτε λεπτομερείς περιγραφές παραμέτρων για το λογισμικό της κάμερας

Ροή βίντεο μέσω δικτύου

Για να μεταφέρετε βίντεο, εκτελέστε την εντολή στο Raspberry Pi

raspivid -t 999999 -o - | nc 5001

Για να παρακολουθήσετε βίντεο στον υπολογιστή-πελάτη, πρέπει να εγκαταστήσετε το mplayer και το netcat και να τα εκτελέσετε ως εξής: nc -l -p 5001 | mplayer -fps 31 -cache 1024 για Linux


Ο υπολογιστής μονής πλακέτας Raspberry Pi σάς επιτρέπει να δημιουργείτε πραγματικά ενδιαφέροντα και χρήσιμα πράγματα: από κέντρα πολυμέσων έως συστήματα οικιακού αυτοματισμού. Συνδέοντας διάφορες μονάδες στο Raspberry Pi, μπορείτε να επεκτείνετε σημαντικά τη λειτουργικότητα αυτού του μικροϋπολογιστή.



Ένα από αυτά τα πρόσθετα πρόσθετα είναι μια κάμερα, η οποία σας επιτρέπει να τραβάτε φωτογραφίες ή να τραβάτε βίντεο. Σήμερα υπάρχουν αρκετές κάμερες για το Raspberry Pi στην αγορά και σε αυτό το άρθρο θα κάνουμε μια σύντομη κριτική τους.


Ας δούμε έξι από τις πιο δημοφιλείς κάμερες: ZeroCam Noir, ZeroCam FishEye, Raspberry Pi Compatible Fisheye Camera, Raspberry Pi Camera V2, Raspberry Pi Camera V2 Noir και Raspberry Pi Camera 1.3.



Το ZeroCam Noir είναι μια μονάδα κάμερας για το Raspberry Pi Zero ή το Raspberry Pi Zero W, οπότε αν θέλετε να το χρησιμοποιήσετε στο Raspberry Pi 3 ή 2, θα χρειαστεί να χρησιμοποιήσετε ένα καλώδιο προσαρμογέα. Αυτή η φωτογραφική μηχανή δεν διαθέτει φίλτρο υπερύθρων στο φακό, καθιστώντας την ιδανική για φωτογραφίες σε χαμηλό φωτισμό. Εδώ είναι μερικά από τα κύρια χαρακτηριστικά του: αισθητήρας 5 megapixel, 2592 × 1944 pixel, 1080p στα 30 FPS (ή 60 FPS στα 720p, 90 FPS στα 480p), εστιακή απόσταση 3,60 mm, 53,50 μοίρες οριζόντια, 41,41 μοίρες περίπου. Διαστάσεις πλακέτας με κάμερα: 60 x 11,4 x 5,1 mm.



Αυτή είναι η έκδοση fisheye της ZeroCam, που σημαίνει ότι έχει ευρυγώνια εικόνα. Αυτή η κάμερα είναι επίσης κατασκευασμένη για Pi Zero ή Pi Zero W, επομένως για να τη χρησιμοποιήσετε με άλλο πίνακα Pi χρειάζεστε ένα καλώδιο προσαρμογέα.



Αυτή είναι μια κάμερα fisheye συμβατή με Raspberry Pi που μπορεί να βρεθεί εύκολα σε διάφορες διαδικτυακές πλατφόρμες συναλλαγών όπως AliExpress, TaoBao, eBay. Χαρακτηρίζεται από ευρυγώνια θέα 175º. Βασίζεται στον αισθητήρα Omnivision 5647 με ανάλυση 5 megapixel (2592 x 1944 pixels).



Αυτή η κάμερα είναι εξοπλισμένη με αισθητήρα εικόνας Sony IMX219 8 megapixel με σταθερό εστιακό φακό, ικανό να εμφανίζει στατικές εικόνες 3280×2464 pixel, υποστηρίζει βίντεο 1080p30, 720p60 και 640×480p90. Η κάμερα είναι συμβατή με όλες τις πλακέτες Raspberry Pi, αλλά αν θέλετε να τη χρησιμοποιήσετε με το Pi Zero, χρειάζεστε ένα καλώδιο προσαρμογέα.



Αυτή η κάμερα έχει όλα τα χαρακτηριστικά της μονάδας Raspberry Pi Camera V2, αλλά δεν διαθέτει φίλτρο υπερύθρων. Αυτό σημαίνει ότι είναι σχεδόν ιδανική κάμερα για λήψη στο σκοτάδι.



Το Raspberry Pi Camera 1.3 είναι ο προκάτοχος της μονάδας V2. Είναι εξοπλισμένο με αισθητήρα OmniVision OV5647 5 megapixel.

Σύγκριση οπτικού πεδίου και ποιότητας εικόνας καμερών για το Raspberry Pi

Σε αυτή τη δοκιμή, όλες οι κάμερες εγκαθίστανται σε απόσταση 1 μέτρου από την εικόνα δοκιμής. Τα αποτελέσματα έχουν ως εξής:











Σύγκριση ποιότητας εικόνας και χρωματικής απόδοσης καμερών Raspberry Pi κατά το ζουμ











Σύγκριση ποιότητας λήψης τη νύχτα

Τα παρακάτω αποτελέσματα δείχνουν την απόδοση πολλών νυχτερινών καμερών που τραβούν την ίδια δοκιμαστική εικόνα σε πολύ χαμηλό φωτισμό στο σκοτάδι.







συμπεράσματα

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

Ανάμεσα στις ενδιαφέρουσες προσθήκες στο Raspberry Pi είναι μια μονάδα βιντεοκάμερας που έχει σχεδιαστεί για σύνδεση στο δίαυλο CSI χρησιμοποιώντας ένα καλώδιο κορδέλας.

Η ίδια η πλακέτα της κάμερας είναι μικροσκοπική. Έχει διαστάσεις μόνο 25x20x9 mm, ζυγίζει μόνο 3 γραμμάρια και συνοδεύεται από κορδέλα 15 cm.


Ο αισθητήρας της κάμερας είναι 5 MP, διαθέτει φακό σταθερής εστίασης και σας επιτρέπει να τραβάτε φωτογραφίες με ανάλυση 2592x1944. Υποστήριξη βίντεο: 1080p 30 καρέ ανά δευτερόλεπτο (fps), 720p στα 60 fps και ανάλυση 640x480 έως και 90 fps. Πλήρης υποστήριξη κάμερας προστέθηκε στο Raspbian OS, το οποίο πρέπει να ενημερωθεί.

Πείτε "chee-ee-iz" για το Wheezy

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

Εάν αυτό δεν είναι πρόβλημα, τότε μπορούμε να εγκαταστήσουμε τον εξοπλισμό.

Λάβετε υπόψη ότι η κάμερα μπορεί να καταστραφεί από στατική φόρτιση. Πριν αφαιρέσετε την γκρίζα αντιστατική σακούλα από τη φωτογραφική μηχανή, βεβαιωθείτε ότι έχετε εξαλείψει τη φόρτισή σας αγγίζοντας ένα γειωμένο αντικείμενο (όπως καλοριφέρ ή σωλήνα νερού).

Για την κάμερα, ο αποκλειστικός δίαυλος είναι ο σύνδεσμος κορδέλας που βρίσκεται πιο κοντά στη θύρα Ethernet. Έχει σχεδιασμό μηδενικής δύναμης εισαγωγής (ZIF): χρειάζεται μόνο να σφίξετε τους δύο πλευρικούς σφιγκτήρες για να απελευθερώσετε το στήριγμα.

Πρέπει να τοποθετήσετε την ταινία εισαγωγής από την άκρη της σύνδεσης κοντά στη θύρα Ethernet μέχρι το άκρο της υποδοχής τροφοδοσίας του Pi. Κρατήστε την τετράγωνη ταινία στη θέση της και απομακρύνετε τις γλωττίδες για να κλειδώσετε την ταινία στη θέση της. Σημειώστε στη φωτογραφία ότι το εύκαμπτο καλώδιο έχει εισαχθεί με ασημί επαφές προς τη θύρα HDMI:


Συνδέστε τα πάντα στο Raspberry Pi και εκκινήστε από την κάρτα SD, επιλέγοντας να εγκαταστήσετε το stock Raspbian "Wheezy" OS και μετά να κάνετε επανεκκίνηση. Το προεπιλεγμένο όνομα χρήστη και κωδικός πρόσβασης είναι "pi" και "raspberry", αντίστοιχα.

Πρώτα πρέπει να ενημερώσουμε το λειτουργικό σύστημα, για να γίνει αυτό, ανοίξτε ένα τερματικό και πληκτρολογήστε τις ακόλουθες δύο εντολές, πατώντας το πλήκτρο επιστροφής μετά από κάθε μία. Μπορεί να χρειαστούν αρκετά λεπτά για να ολοκληρωθούν, οπότε μπορεί να θέλετε να πιείτε ένα φλιτζάνι τσάι.

sudo apt-get ενημέρωση

sudo apt-get upgrade -y

Τώρα πρέπει να χρησιμοποιήσουμε το εργαλείο συντονισμού Raspberry Pi για να ελέγξουμε την κατανομή της μνήμης GPU, επειδή χρειαζόμαστε τουλάχιστον 128 ως buffer για όλα τα δεδομένα βίντεο που πρόκειται να περάσουν στη μνήμη. Αυτό ουσιαστικά ενεργοποιεί το δίαυλο κάμερας. Εισαγάγετε στο τερματικό:

sudo raspi-config

Πρώτα επιλέξτε "Advanced > Memory_split" - θα πρέπει να είναι ήδη ρυθμισμένο στο 128, αλλά αν όχι, κάντε αλλαγές. Το σύστημα κάμερας φαίνεται να λειτουργεί καλά ακόμα και στα 16, αλλά συνιστάται το 128.

Τέλος, υπάρχει μια επιλογή υποστήριξης της κάμερας Ενεργοποίηση/Απενεργοποίηση κάμερας (ενεργοποίηση/απενεργοποίηση της κάμερας), επιλέξτε Ενεργοποίηση (ενεργοποίηση):



Επιλέξτε Finish (ολοκληρώθηκε) και μετά Reboot για επανεκκίνηση:


Σκοποβολή με Raspberry Pi

Υπάρχουν δύο εργαλεία γραμμής εντολών για πρόσβαση στη μονάδα κάμερας - αυτά είναι ράσπιβιντΚαι raspistill .

Η κάμερα προσφέρει μια καλή επιλογή από εφέ γραφικών και γενικές ρυθμίσεις κάμερας που μπορούν να εφαρμοστούν ζωντανά, τόσο για φωτογραφίες όσο και για βίντεο. Μπορείτε να αλλάξετε τις λειτουργίες ισορροπίας λευκού, εστίασης, τύπου φωτογραφίας, έκθεσης, επιπέδου ISO και δεδομένων EXIF.

Ακολουθούν παραδείγματα εντολών από το τερματικό και τι θα κάνουν, ο προεπιλεγμένος χρόνος λήψης είναι 5 δευτερόλεπτα, χρησιμοποιήστε την επιλογή -t για να καθορίσετε μεγαλύτερη περίοδο σε χιλιοστά του δευτερολέπτου, οπότε -t 20000 σημαίνει "για 20 δευτερόλεπτα".

βίντεο

Εμφάνιση πέντε δευτερολέπτων σε λειτουργία επίδειξης:raspivid -δ

Εμφανίζει βίντεο 10 δευτερολέπτων σε λειτουργία επίδειξης: raspivid -o βίντεο.h264 -t 10000 -d

Εμφάνιση προεπισκόπησης 640x480: raspivid -p 0,0,640,480

Λήψη βίντεο 20 δευτερολέπτων σε μορφή h264: raspivid -t 20000 -o βίντεο.h264

Χρήση επιλογών εικόνας σε μια εντολήράσπιβιντ

Σύνταξη: RaspiVid[επιλογές]

Βοήθεια: Πληροφορίες για βοήθεια
. Προεπιλογή 1920
. Προεπιλογή 1080
-b , - bitrate: Ο καθορισμένος bitrate. Χρησιμοποιήστε bit ανά δευτερόλεπτο (για παράδειγμα, 10 Mbit/s θα ήταν -b 10000000 )
-o , - output: Αρχείο εξόδου (για να γράψετε στο stdout, χρησιμοποιήστε "-o - ")

-t , - timeout: Χρόνος (σε ms) για λήψη φωτογραφιών και απενεργοποίηση. Εάν δεν καθορίζεται, ορίστε τα 5 δευτερόλεπτα

-fps - ρυθμός καρέ: Ορίστε τον ρυθμό καρέ ανά δευτερόλεπτο για εγγραφή
-e , - penc: Εμφάνιση εικόνων προεπισκόπησης *μετά* κωδικοποίηση (εμφάνιση τεχνουργημάτων συμπίεσης)

<"x,y,w,h">

φωτογραφία

Λήψη εικόνας σε μορφή JPEG: raspistill -о image.jpg

Κάντε μια φωτογραφία 640x480: raspistill -o image.jpg -w 640 -h 480

Δημιουργήστε ένα JPEG μειωμένης ποιότητας: raspistill -o image.jpg -q 5

Χρήση επιλογών εικόνας στην εντολή RaspiStill

Σύνταξη: RaspiStill [επιλογές]

Επιλογές εντολών εικόνας

Βοήθεια: Πληροφορίες για βοήθεια
-w , -width: Ορίστε το πλάτος της εικόνας
-h , - height: Το καθορισμένο ύψος εικόνας
-q , - ποιότητα: Ορισμός ποιότητας JPEG<0 до 100>
-r , - raw: Προσθήκη ακατέργαστων δεδομένων Bayer στα μεταδεδομένα JPEG
-o , - output: Αρχείο εξόδου (για να γράψετε στο stdout, χρησιμοποιήστε "-o -"). Εάν δεν έχει καθοριστεί, το αρχείο δεν αποθηκεύεται
-v , - verbose: Εκτύπωση αναλυτικά κατά την εκτέλεση
-t , - timeout: Χρόνος (σε ms) για να τραβήξετε μια φωτογραφία και να απενεργοποιήσετε (αν δεν έχει καθοριστεί, ορίστε τα σε 5 δευτερόλεπτα)
-th , - thumb: Ορισμός παραμέτρων μικρογραφίας (x:y:ποιότητα)
-d , - demo: Έναρξη λειτουργίας επίδειξης (κύλιση σε έναν αριθμό παραμέτρων κάμερας, χωρίς λήψη)
-e , - encoding: Κωδικοποίηση που χρησιμοποιείται για το αρχείο εξόδου (JPG, BMP, GIF, PNG)
-x , - exif: ετικέτα EXIF ​​για εφαρμογή σε λήψεις (μορφή ως "key=value")
-tl , - timelapse: Λειτουργία διαλειμματικής λήψης. Βγάζει φωτογραφία κάθε Κυρία

Προεπισκόπηση Επιλογών Εντολών

P, - προεπισκόπηση: Επιλογές παραθύρου προεπισκόπησης<"x,y,w,h">
-f , - πλήρης οθόνη: Λειτουργία προβολής σε πλήρη οθόνη
-n , - χωρίς προεπισκόπηση: Να μην εμφανίζεται το παράθυρο προεπισκόπησης

Πρόσθετες επιλογές εντολών για βίντεο και εικόνα

Sh , - ευκρίνεια: Ρυθμίζει την ευκρίνεια της εικόνας (-100 έως +100)
-co , - αντίθεση: Ορίστε την αντίθεση της εικόνας (-100 έως +100)
-br , - φωτεινότητα: Ρυθμίστε τη φωτεινότητα της εικόνας (0 έως 100)
-sa , - saturation: Ορίστε τον κορεσμό της εικόνας (-100 έως +100)
-ISO , -ISO: Καθορισμένο ISO για λήψη
-vs , - vstab: Ενεργοποίηση σταθεροποίησης βίντεο
-ev , -ev: Ορισμός αντιστάθμισης έκθεσης
-ex , - exposure: Ρύθμιση λειτουργίας έκθεσης
-awb , -awb: Ρύθμιση λειτουργίας AWB
-ifx , -imxfx: Ορισμός εφέ εικόνας
-cfx , - colfx: Ορισμός εφέ χρώματος (U:V)
-mm , - metering: Ρύθμιση λειτουργίας μέτρησης έκθεσης
-rot , - rotation: Περιστρέψτε την εικόνα (0-359)
-hf , - hflip: Οριζόντια ανατροπή
-vf , - vflip: Κατακόρυφη ανατροπή

Ο προεπιλεγμένος φάκελος για την αποθήκευση εικόνων είναι "/home/pi", οπότε αν χρειάζεται απλώς να παίξετε το αποθηκευμένο βίντεο, είναι πιο εύκολο να εκκινήσετε στο GUI με το startx, να ανοίξετε το "File Manager" και να χρησιμοποιήσετε το "LXTerminal" για εντολές κάμερας.

Πώς να κάνετε ροή βίντεο από το Raspberry Pi

Για να παρακολουθήσετε το κανάλι στο Linux

Εγκαταστήστε το απαιτούμενο λογισμικό εκτελώντας την ακόλουθη εντολή από το τερματικό:

Καλή μέρα!

Την παραμονή της Πρωτοχρονιάς, είχα την ιδέα να φτιάξω κάποιο είδος βιντεοεπιτήρησης. Είχα όλα όσα χρειαζόμουν στο χέρι:

  • Υπολογιστής μονής πλακέτας Raspberry Pi Model B
  • Κάμερα LOGITECH HD Webcam C270
Αφού διάβασα, αποφάσισα να αναπτύξω λίγο την ιδέα του συγγραφέα.
Γνωριμία
Λοιπόν, πρώτα, ας εξοικειωθούμε με το κύριο "συστατικό":
Εμφάνιση Raspberry Pi:

Χαρακτηριστικά:

  • Επεξεργαστής Broadcom BCM2835 700MHz ARM1176JZFS με FPU και Videocore 4 GPU
  • Η GPU παρέχει Open GL ES 2.0, OpenVG με επιτάχυνση υλικού και αποκωδικοποίηση υψηλού προφίλ 1080p30 H.264
  • Η GPU είναι ικανή για 1Gpixel/s, 1.5Gtexel/s ή 24GFLOPS με φιλτράρισμα υφής και υποδομή DMA
  • 512MB RAM
  • Μπότες από κάρτα SD, με έκδοση του λειτουργικού συστήματος Linux
  • Υποδοχή Ethernet 10/100 BaseT
  • Υποδοχή εξόδου βίντεο HDMI
  • 2 x υποδοχές USB 2.0
  • Υποδοχή εξόδου βίντεο RCA composite
  • Υποδοχή κάρτας SD
  • Τροφοδοτείται από υποδοχή microUSB
  • Υποδοχή εξόδου ήχου 3,5 mm
  • Υποδοχή βιντεοκάμερας Raspberry Pi HD
  • Μέγεθος: 85,6 x 53,98 x 17 mm"
pi@hall-pi ~ $ cat /proc/cpuinfo επεξεργαστής: 0 όνομα μοντέλου: ARMv6 συμβατός επεξεργαστής rev 7 (v6l) BogoMIPS: 2.00 Χαρακτηριστικά: swp half thumb fastmult vfp edsp java tls Εφαρμογή CPU: 0x41 CPU αρχιτεκτονική παραλλαγή: 7 : 0x0 τμήμα CPU: 0xb76 Αναθεώρηση CPU: 7 Υλικό: BCM2708 Αναθεώρηση: 000e Σειρά: 000000005a82c372

Μπορείτε να βρείτε μια λίστα με επίσημα υποστηριζόμενες διανομές. Επέλεξα το Raspbian χωρίς γραφικό κέλυφος.

Η διαδικασία εγκατάστασης είναι αρκετά απλή και δεν χρειάζεται λεπτομερή περιγραφή, επομένως θα απαριθμήσω τα κύρια γεγονότα που αξίζει να προσέξετε:

  1. Ρύθμιση της ζώνης ώρας
  2. Ρύθμιση του ονόματος υπολογιστή
  3. Ενεργοποίηση πρόσβασης SSH
  4. Ενημέρωση συστήματος
Αφού ολοκληρώσετε όλες τις απαραίτητες ρυθμίσεις, μπορείτε να ξεκινήσετε.
Παρασκευή
Αρχικά, ας εγκαταστήσουμε όλα τα απαραίτητα πακέτα:
sudo apt-get install imagemagick libav-tools libjpeg8-dev subversion
Στη συνέχεια, πραγματοποιήστε λήψη και συναρμολόγηση του mjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Επειδή Θα αποθηκεύσουμε όλα τα δεδομένα στο cloud, θα ρυθμίσουμε την εργασία με ένα απομακρυσμένο σύστημα αρχείων μέσω WebDAV:
sudo apt-get εγκατάσταση davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi
Για να μην εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας κάθε φορά, πρέπει να τα προσθέτετε στο αρχείο
/etc/davfs2/secrets
κωδικός χρήστη /mnt/dav
Η εργασιακή διαδικασία
Ας προσθέσουμε εντολές στο /etc/rc.local για να προσαρτήσουμε το WebDAV και να εκτελέσουμε το σενάριο για μετάδοση στο δίκτυο:
mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi cd /home/pi/mjpg-streamer && ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Τώρα, πηγαίνοντας στο http://:8080/ θα αποκτήσουμε πρόσβαση στην κάμερα. Το μόνο που μένει είναι να προωθήσετε τη θύρα στο δρομολογητή και να έχετε πρόσβαση στην κάμερα εκτός του τοπικού δικτύου.
Δημιουργία timelapse βίντεο
Πρώτα απ 'όλα, πρέπει να πάρουμε μια εικόνα από την κάμερα. Επειδή είναι ήδη κατειλημμένο (η εικόνα μεταδίδεται από τον διακομιστή web), τότε θα χρησιμοποιήσουμε την ευκαιρία να λάβουμε την τρέχουσα εικόνα από τον διακομιστή ιστού:
curl http://localhost:8080/?action=snapshot > out.jpg
Αν θέλουμε να σχεδιάσουμε την ημερομηνία της φωτογραφίας στην εικόνα, τότε μπορούμε να χρησιμοποιήσουμε την εντολή μετατροπής
timestamp=`stat -c %y out.jpg` convert out.jpg -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" out_.jpg
Η πλήρης έκδοση του σεναρίου:
#!/bin/bash filename=$(perl -e "ώρα εκτύπωσης") foldername=$(ημερομηνία --rfc-3339=date) curl http://localhost:8080/?action=snapshot > $filename timestamp=` stat -c %y $filename` mkdir /mnt/dav/out/$foldername μετατροπή $filename -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" /mnt /dav /out/$foldername/$filename.jpg rm $filename
Το βίντεο συναρμολογείται χρησιμοποιώντας την εντολή avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Η πλήρης έκδοση του σεναρίου συναρμολόγησης βίντεο:
#!/bin/bash filename=$(ημερομηνία --rfc-3339=ημερομηνία) i=0 για f σε `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` newf=`printf %06d $i`.jpg echo $f "-->" $newf mv $f $newf i=$((i+1)) έγινε rmdir -R /mnt/dav/out/$filename/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filename.avi rm *.jpg
Τώρα το μόνο που μένει είναι να καταχωρήσετε την εκτέλεση των σεναρίων στον προγραμματιστή Cron:
* * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Παράδειγμα βίντεο
συμπέρασμα
Αυτή η προσέγγιση βοηθά στην εξάλειψη της ανάγκης να αφιερώνετε πολύ χρόνο παρακολουθώντας βίντεο και επίσης μειώνει το κόστος του τελικού προϊόντος. Χάρη στην παρουσία ενός πλήρους λειτουργικού συστήματος, καθίσταται δυνατή η επέκταση της λειτουργικότητας προς τη σωστή κατεύθυνση.

Ένα από τα πιο δημοφιλή έργα Raspberry Pi είναι η δημιουργία ενός διακομιστή παρακολούθησης βίντεο με δυνατότητα μετάδοσης στο Διαδίκτυο. Πολλοί άνθρωποι χρησιμοποιούν αυτά τα συστήματα ως συστήματα ασφαλείας (συμπεριλαμβανομένου του εαυτού μου), αλλά υπάρχουν και άλλες χρήσεις επίσης. Εάν καταλήξετε σε κάτι ενδιαφέρον, μπορείτε να το γράψετε στα σχόλια. Ένα έργο σαν αυτό θα κόστιζε περίπου £60-£70, αλλά χρησιμοποίησα μερικά επιπλέον εξαρτήματα που είχα (και κατέληξα να μην κοστίζουν τίποτα). Χρησιμοποίησα την κάμερα web Logitech Quickcam στο έργο μου.

Αυτό που χρειαζόμαστε:

  • Raspberry Pi
  • Κάρτα SD 8 GB ή περισσότερο
  • Webcam
  • Πρόσβαση στο Διαδίκτυο μέσω Ethernet ή προσαρμογέα WiFi
  • Διανομέας USB με εξωτερικό τροφοδοτικό
  • Πληκτρολόγιο
  • Ποντίκι (για ρυθμίσεις WiFi)

Λοιπόν, ας ξεκινήσουμε εγκαθιστώντας την πιο πρόσφατη έκδοση του Debian "Wheezy" στην κάρτα SD, την οποία μπορείτε. Για να εγκαταστήσετε την εικόνα σε υπολογιστή με Windows, μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα και για υπολογιστές Mac, χρησιμοποιήστε αυτό το πρόγραμμα. (Περισσότερα σχετικά με την εγκατάσταση εικόνων)

Αφού ολοκληρωθεί η αντιγραφή της εικόνας, τοποθετήστε την κάρτα SD στο Raspberry Pi. Συνδέουμε το καλώδιο δικτύου ή τον ασύρματο προσαρμογέα, καθώς και το πληκτρολόγιο. Τέλος, μην ξεχάσετε να συνδέσετε τον διανομέα USB και να τον τροφοδοτήσετε με ρεύμα.

Αφού ενεργοποιήσετε το Raspberry Pi, ρυθμίστε τη ζώνη ώρας σύμφωνα με την τοποθεσία σας χρησιμοποιώντας το βοηθητικό πρόγραμμα raspi-config.

Λάβετε υπόψη ότι για να συνδεθείτε σε ένα πρόσφατα εγκατεστημένο σύστημα πρέπει να χρησιμοποιήσετε το όνομα χρήστη σας πιμε κωδικό πρόσβασης βατόμουρο.

Εάν χρησιμοποιείτε σύνδεση δικτύου WiFi:

Για να διαμορφώσετε έναν ασύρματο προσαρμογέα και να συνδεθείτε στο WiFi χρησιμοποιώντας μια γραφική διεπαφή, πρέπει να εισαγάγετε την εντολή:

Μετά από αυτό, μπορείτε να ρυθμίσετε μια ασύρματη σύνδεση. Όταν τελειώσετε, κάντε κλικ με το ποντίκι στην κάτω αριστερή γωνία της οθόνης και επιλέξτε Αποσύνδεσηγια να επιστρέψετε στη γραμμή εντολών.

Τώρα ήρθε η ώρα να ενημερώσετε το σύστημα. Πληκτρολογήστε στη γραμμή εντολών:

Sudo apt-get ενημέρωση Αναβάθμιση sudo apt-get

και περιμένετε την ολοκλήρωση. Τώρα πρέπει να εγκαταστήσετε το Motion - λογισμικό που θα μεταδίδει βίντεο χρησιμοποιώντας τον ενσωματωμένο διακομιστή web. Για να το κάνετε αυτό, εισάγετε:

Κίνηση εγκατάστασης Sudo apt-get

και περίμενε. Μόλις ολοκληρωθεί η εγκατάσταση, συνδέστε την κάμερα web σε μια τροφοδοτούμενη θύρα USB του διανομέα σας.

Τώρα πρέπει να κάνετε αλλαγές στο αρχείο ρυθμίσεων του προγράμματος Motion. Για να το κάνετε αυτό, εκτελέστε την εντολή:

Sudo nano /etc/motion/motion.conf

Θα ανοίξει ένα πρόγραμμα επεξεργασίας με ένα αρχείο διαμόρφωσης στο οποίο μπορείτε να κάνετε αλλαγές. Οι πιο σημαντικές είναι αυτές οι παράμετροι:

Daemon = OFF (σωστό σε ON - αυτή η παράμετρος βρίσκεται κάπου στην αρχή του αρχείου) webcam_localhost = ON (σωστό σε OFF - αυτή η παράμετρος βρίσκεται κάπου στο τέλος του αρχείου)

Πατήστε Ctrl + X για αποθήκευση, μετά 'y' για να επιβεβαιώσετε τη λειτουργία και τέλος Enter για να καθορίσετε το όνομα του αρχείου.

Τώρα μπορείτε να ξεκινήσετε τον διακομιστή κίνησης:

Έναρξη κίνησης υπηρεσίας Sudo

Περιμένετε περίπου 60 δευτερόλεπτα και, στη συνέχεια, εισαγάγετε τη διεύθυνση IP του Raspberry Pi στο πρόγραμμα περιήγησής σας. Η καλύτερη επιλογή προγράμματος περιήγησης είναι η πιο πρόσφατη έκδοση του Firefox.

Η διεύθυνση μοιάζει με αυτό: 192.168.X.X:8081

Βεβαιωθείτε ότι η θύρα 8081 αναγράφεται στο τέλος της γραμμής για να δείτε την εικόνα. Για πρόσβαση στις ρυθμίσεις, χρησιμοποιήστε τη θύρα 8080 αντί για τη θύρα 8081.

Θύρα 8081 – βίντεοΘύρα 8080 – διεπαφή ιστού διαμόρφωσης

Λάβετε υπόψη ότι θα μπορείτε να έχετε πρόσβαση στην κάμερα μόνο εντός του τοπικού σας δικτύου. Δεν θα μπορείτε να συνδεθείτε στον διακομιστή βίντεο του σπιτιού σας από άλλη τοποθεσία. Για να συνδεθείτε από έξω, ρυθμίστε την ανακατεύθυνση εισερχόμενης σύνδεσης στον οικιακό δρομολογητή σας.

Συγχαρητήρια! Μόλις ρυθμίσατε τον δικό σας διακομιστή CCTV στο Raspberry Pi σας! Σας εύχομαι επιτυχία και μη διστάσετε να μοιραστείτε αυτό το άρθρο!

Σημείωση: εάν ο διακομιστής βίντεο εμφανίζει ένα γκρι ορθογώνιο αντί για μια εικόνα, εισαγάγετε την εντολή ls /dev/video στο τερματικό για να προσδιορίσετε το όνομα της συσκευής βίντεο. Από προεπιλογή, το /etc/motion/motion.conf έχει οριστεί σε video0 . Εάν η κάμερα web έχει διαφορετικό όνομα, διορθώστε το αρχείο διαμόρφωσης και, στη συνέχεια, επανεκκινήστε το Motion.

Προσοχή! Επαναλαμβάνετε όλα όσα περιγράφονται σε αυτό το άρθρο με δικό σας κίνδυνο και κίνδυνο! Δεν είμαι υπεύθυνος για τυχόν συνέπειες. Αυτό το άρθρο είναι μόνο ένας οδηγός.