Πίνακας περιεχομένων:
- Βήμα 1: Ρύθμιση του Pi σας
- Βήμα 2: SSHing Into Your PI
- Βήμα 3: Στείλτε email τη διεύθυνση IP σας στην εκκίνηση
- Βήμα 4: Εγκατάσταση και ρύθμιση κίνησης
- Βήμα 5: Αποστολή βίντεο από κίνηση σε ανίχνευση
- Βήμα 6: Αντιμετώπιση προβλημάτων και πηγές
Βίντεο: Κάμερα ανίχνευσης κίνησης Raspberry Pi 3 με ζωντανή ροή: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Εισαγωγή
Σε αυτό το έργο, θα μάθετε πώς να φτιάχνετε μια κάμερα ανίχνευσης κίνησης που θα μπορείτε να χρησιμοποιήσετε ως παγίδα κάμερας, οθόνη κατοικίδιων ζώων/μωρών, κάμερα ασφαλείας και πολλά άλλα.
Το έργο αυτό οργανώνεται σε διάφορα βήματα:
- Εισαγωγή
- Ρύθμιση του Pi σας
- SSHing στο Pi σας
- Αποστολή της διεύθυνσης IP σας κατά την εκκίνηση
- Εγκατάσταση και ρύθμιση του Motion
- Αποστολή βίντεο από Motion κατά την ανίχνευση
- Αντιμετώπιση προβλημάτων και πηγές
Τι θα χρειαστείτε:
- Μοντέλο Raspberry Pi 3 b ~~ 35 $
- Κάρτα Micro SD 8 GB 10 ~~
- Κάμερα USB ~~ 20 $ (αυτό το έργο χρησιμοποίησε μια κάμερα Logitech HD Webcam c270)
- καλώδιο micro usb ~~ 5 $
- είτε:
- επαναφορτιζόμενη μπαταρία 5 volt (εφεδρική μπαταρία τηλεφώνου), αυτό καθιστά το έργο σας ασύρματο 20 ~~
- ή
- usb προσαρμογέας τοίχου ~~ 5 $
- Μια σύνδεση WiFi
Σε τι θα χρειαστείτε πρόσβαση για ρύθμιση:
- Μια οθόνη
- Ποντίκι και πληκτρολόγιο
- Υπολογιστής με υποδοχή κάρτας SD
- Μετατροπέας κάρτας Micro SD σε SD (θα πρέπει να συνοδεύεται από την κάρτα micro SD)
Βήμα 1: Ρύθμιση του Pi σας
Τώρα ας ρυθμίσουμε το Pi σας
Για να ξεκινήσετε, βεβαιωθείτε ότι έχετε όλα τα απαιτούμενα στοιχεία από το τελευταίο βήμα. Στη συνέχεια, ακολουθήστε τα βήματα στον ιστότοπο Raspberry Pi σχετικά με την εγκατάσταση του Raspbian Jessie στην κάρτα Microsd, που βρίσκεται εδώ.
Μόλις εγκαταστήσετε το Raspbian στο Pi σας, ήρθε η ώρα να ρυθμίσετε ορισμένες βασικές λειτουργίες.
WiFi
Το πρώτο βήμα για να αξιοποιήσετε στο έπακρο το Pi σας είναι να το συνδέσετε στο Διαδίκτυο. Μπορεί να έχετε ολοκληρώσει αυτό το βήμα είτε εντοπίζοντας το σύμβολο WiFi στην επάνω δεξιά γωνία της κύριας οθόνης του Pi σας και κάνοντας είσοδο εκεί, είτε κάνοντας το ίδιο πράγμα πριν εγκαταστήσετε το Raspbian στο τελευταίο βήμα. Εάν δεν μπορείτε να συνδεθείτε στο δίκτυο WiFi από την επιφάνεια εργασίας του Pi σας, μπορείτε να ακολουθήσετε τις οδηγίες εδώ για να ρυθμίσετε το WiFi μέσω της γραμμής εντολών.
SSH
Ένα πολύ εύχρηστο εργαλείο που έχετε στη διάθεσή σας όταν χρησιμοποιείτε το Pi σας είναι η επιλογή έκδοσης εντολών στο Pi σας σε αυτό που είναι γνωστό ως εγκατάσταση ακέφαλου. Χρησιμοποιώντας ένα Secure SHell ή SSH, μπορείτε να ελέγξετε το Pi σας από απόσταση από έναν υπολογιστή. Με αυτήν τη μέθοδο, το μόνο που θα χρειαστείτε για να επεξεργαστείτε το Pi σας είναι μια πηγή ενέργειας για να το κρατήσετε αναμμένο, όχι άλλη οθόνη και πληκτρολόγιο!
Βήμα 2: SSHing Into Your PI
Το SSHing στο Raspberry Pi σας είναι εύκολο και πολύ χρήσιμο, καθώς η διαδικασία σάς επιτρέπει να εκδίδετε εντολές στο Pi σας από οποιονδήποτε υπολογιστή χωρίς τίποτα περισσότερο από μια σύνδεση WiFi.
Για να κάνετε SSH στο Pi σας, πρέπει να ακολουθήσετε αυτά τα 3 απλά βήματα.
Πρώτον, πρέπει να ενεργοποιήσετε το SSH στο Pi σας. Για να το κάνετε αυτό, ανοίξτε ένα παράθυρο εντολών στο Pi σας και πληκτρολογήστε:
sudo raspi-config
Αυτή η εντολή σάς επιτρέπει να εισαγάγετε ένα μενού διαμόρφωσης. από εκεί θα θέλετε να χρησιμοποιήσετε τα βέλη, την καρτέλα και τα πλήκτρα εισαγωγής για να μεταβείτε πρώτα στις επιλογές διασύνδεσης, στη συνέχεια να ενεργοποιήσετε το SSH, καθώς και την κάμερα, στη συνέχεια να βγείτε και να επανεκκινήσετε το pi.
Στη συνέχεια, θα πρέπει να βρείτε τη διεύθυνση IP του Pi σας. Σε ένα τερματικό εντολών, πληκτρολογήστε:
sudo ifconfig
Και η διεύθυνση IP σας θα πρέπει να βρίσκεται στην ενότητα wlan0 που εμφανίζεται, ακριβώς κάτω από το Link encap: ethernet. Στην παραπάνω επίδειξη, η διεύθυνση IP είναι 192.168.1.10.
Τέλος, θα πρέπει είτε να ανοίξετε την ενσωματωμένη εφαρμογή τερματικού σε mac, είτε να βρείτε και να ακολουθήσετε οδηγίες για μια εφαρμογή ssh τρίτων κατασκευαστών για παράθυρα. Στην εφαρμογή Τερματικό, πληκτρολογήστε:
ssh pi@ΔΙΕΥΘΥΝΣΗ IP ΣΑΣ
Εάν δεν έχετε αλλάξει τον κωδικό πρόσβασης ενώ βρίσκεστε στο Raspi-config, τότε ο κωδικός πρόσβασης που θα εισαγάγετε όταν σας ζητηθεί θα είναι ο προεπιλεγμένος κωδικός πρόσβασης: βατόμουρο.
Από εκεί και πέρα, καλό θα ήταν να φύγεις!
Βήμα 3: Στείλτε email τη διεύθυνση IP σας στην εκκίνηση
Σε αυτό το βήμα θα εστιάσουμε στον τρόπο πρόσβασης στο Raspberry Pi, ανεξάρτητα από το δίκτυο στο οποίο βρίσκεστε. Ανάλογα με το δίκτυο, η διεύθυνση IP του Pi αλλάζει. Και αν δεν έχετε ρύθμιση οθόνης, θα πρέπει να μπείτε στο Pi για να ενεργοποιήσετε το πρωτόκολλο ανίχνευσης κίνησης, να αλλάξετε τις προτιμήσεις κίνησης ή να αποκτήσετε πρόσβαση σε οτιδήποτε άλλο στη συσκευή. Για να λύσουμε αυτό το πρόβλημα, θα γράψουμε ένα σενάριο python που θα μας στέλνει email την τρέχουσα διεύθυνση IP του Pi κατά την εκκίνηση. Το σενάριο python έχει ως εξής και αποθηκεύτηκε σε έναν κατάλογο με την ένδειξη "background".
#ξεκινήστε στον αρχικό κατάλογο
cd
#δημιουργία φακέλου φόντου
mkdir φόντο
#create python script
sudo nano emailip.py
#εγγραφή στο emailip.py
υποδοχή εισαγωγής
s = socket.socket (υποδοχή. AF_INET, πρίζα. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
εκτύπωση (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
εισαγωγή smtplib
από email. MIMEMultipart εισαγωγή MIMEMultipart
από email. MIMEText εισαγωγή MIMEText
fromaddr = "Η ΔΙΕΥΘΥΝΣΗ ΣΑΣ"
toaddr = "ΛΗECΗ ΔΙΕΥΘΥΝΣΗΣ"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Διεύθυνση IP"
body = xmsg.attach (MIMEText (σώμα, «απλό»))
διακομιστής = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOUR PASSWORD")
κείμενο = msg.as_string ()
server.sendmail (fromaddr, toaddr, κείμενο)
server.quit ()
#τότε το κάνει κατά την επανεκκίνηση
sudo nano /etc/rc.local
#εισάγετε στο /etc/rc.local
ενώ ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
κοιμηθείτε 3
Έγινε
_IP = $ (όνομα κεντρικού υπολογιστή -I) || αληθής
εάν ["$ _IP"]; τότε
printf "Η διεύθυνση IP μου είναι %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
έξοδος 0
#και τελειώσατε
Βήμα 4: Εγκατάσταση και ρύθμιση κίνησης
#ενημέρωση pi
sudo apt-get ενημέρωση
sudo apt-get αναβάθμιση
#Κατεβάστε
sudo apt-get κίνηση εγκατάστασης
#τώρα επεξεργαστείτε αυτό το αρχείο με τις ακόλουθες αλλαγές
sudo nano /etc/motion/motion.conf
#για να ορίσετε ένα πρότυπο για αυτό το σεμινάριο, αλλάξτε
#################
δαίμονας επάνω
Το stream_localhost είναι απενεργοποιημένο
webcontrol_localhost απενεργοποιημένο
ffmpeg_output_movies on
target_dir/var/lib/motion
##################
#τοπικές επιλογές ροής προγράμματος περιήγησης ιστού
##################
stream_maxrate 100 #Αυτό θα επιτρέψει τη ροή σε πραγματικό χρόνο, αλλά απαιτεί περισσότερο εύρος ζώνης και πόρους
ρυθμός καρέ 60 #Αυτό θα επιτρέψει τη λήψη 60 καρέ ανά δευτερόλεπτο #όσο υψηλότερο γίνεται, τόσο πιο αργή είναι η επεξεργασία βίντεο
πλάτος 640 #Αυτό αλλάζει το πλάτος της εικόνας που εμφανίζεται
ύψος 480 #Αυτό αλλάζει το ύψος της εμφανιζόμενης εικόνας
##################
#emailing ρυθμίσεις βίντεο στο…/motion.conf
##################
#διαγράψτε το ";" μπροστά από τη γραμμή, το ερωτηματικό σχολιάζει τη γραμμή έξω
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astectics
##################
#επιλογές που περιγράφονται στο αρχείο
εξόδους_εικονίσεων
##################
#τότε αλλαγή
sudo nano/etc/default/motion
#να πω
start_motion_daemon = ναι
#τελευταία, ξεκινήστε το B **** επάνω
εκκίνηση κίνησης υπηρεσίας sudo
#μπορείτε να αλλάξετε την εντολή σε "διακοπή" ή "επανεκκίνηση"
Βήμα 5: Αποστολή βίντεο από κίνηση σε ανίχνευση
Email όταν εντοπιστεί κίνηση:
#ξεκινήστε στο σπίτι
dircd
#create motion python script
sudo nano /home/pi/background/motionalert.py
#γράφω
εισαγωγή smtplib
από datetime εισαγωγή datetime
από email. MIMEMultipart εισαγωγή MIMEMultipart
από email. MIMEText εισαγωγή MIMEText
fromaddr = "YURADDRESS"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Εντοπίστηκε κίνηση"
body = 'Εντοπίστηκε κίνηση. / nΧρόνος: % s' % str (datetime.now ())
msg.attach (MIMEText (σώμα, «απλό»))
διακομιστής = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
κείμενο = msg.as_string ()
server.sendmail (fromaddr, toaddr, κείμενο)
server.quit ()
Email Βίντεο κίνησης όταν αποθηκεύεται το βίντεο:
#start at homedircd
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
εισαγωγή smtplib
από email. MIMEMultipart εισαγωγή MIMEMultipart
από email. MIMEText εισαγωγή MIMEText
από email. MIMEBase εισαγωγή MIMEBase
από κωδικοποιητές εισαγωγής email
fromaddr = "ΤΟ EMAIL ΣΑΣ"
toaddr = "E -mail ΔΙΕΥΘΥΝΣΗ ΠΟΥ ΣΤΕΙΛΑΤΕ"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Motion Cam activated"
body = "Εντοπίστηκε βίντεο κίνησης"
msg.attach (MIMEText (σώμα, «απλό»))
εισαγωγή os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) for f στο os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
νεότερο = max (λίστα αρχείων, κλειδί = λάμδα x: os.stat (x).st_mtime)
όνομα αρχείου = νεότερο
εισαγωγή os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) for f στο os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
νεότερο = max (λίστα αρχείων, κλειδί = λάμδα x: os.stat (x).st_mtime)
συνημμένο = ανοιχτό (νεότερο, "rb")
μέρος = MIMEBase ('εφαρμογή', 'octet-stream')
part.set_payload ((συνημμένο).read ())
encoders.encode_base64 (μέρος)
part.add_header ('Content-Disposition', "attachment; filename = % s" % filename)
msg.attach (part)
διακομιστής = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOUR PASSWORD")
κείμενο = msg.as_string ()
server.sendmail (fromaddr, toaddr, κείμενο)
server.quit ()
Βήμα 6: Αντιμετώπιση προβλημάτων και πηγές
Αντιμετώπιση προβλημάτων:
Επειδή αυτό το έργο έχει πολλά στάδια, υπάρχουν πολλά σημεία στα οποία τα πράγματα μπορεί να πάνε στραβά. Παρακάτω είναι μερικά από τα πιθανά σφάλματα που μπορεί να προκύψουν και πώς να τα διορθώσετε.
- Κατά τη ρύθμιση του pi σας για να σας στείλει email την τρέχουσα διεύθυνση IP του, είναι ζωτικής σημασίας να επεξεργαστείτε το αρχείο rc.local όπως φαίνεται νωρίτερα, διότι αυτό επιτρέπει μια μικρή καθυστέρηση πριν ενεργοποιηθεί το πρόγραμμα μετά την επανεκκίνηση. Διαφορετικά, το pi δεν θα είναι ακόμη συνδεδεμένο σε wifi και το email δεν θα σταλεί.
- Κατά την επεξεργασία του αρχείου motion.conf φροντίστε να διαγράψετε τα ερωτηματικά μπροστά από ορισμένες παραμέτρους. Το ερωτηματικό καταστέλλει μια δεδομένη ενέργεια, οπότε διαφορετικά η αλλαγή δεν θα τεθεί σε ισχύ.
- Το αρχείο motion.conf είναι πολύ καλά οργανωμένο και λεπτομερές. Μη διστάσετε να αλλάξετε τις ρυθμίσεις σύμφωνα με τις προτιμήσεις σας, αλλά κατανοήστε ότι μπορεί να επηρεάσουν την επιτυχία του συστήματος λήψης κίνησης.
- Αφού ρυθμίσετε τις επιλογές ειδοποίησης ηλεκτρονικού ταχυδρομείου και βίντεο βίντεο, είναι σημαντικό να σημειώσετε ότι το μήνυμα ηλεκτρονικού ταχυδρομείου του βίντεο που εντοπίστηκε κίνηση θα διαρκέσει λίγο περισσότερο από το να σταλεί από το αρχικό μήνυμα ηλεκτρονικού ταχυδρομείου ειδοποίησης. Αυτό συμβαίνει επειδή το βίντεο ολοκληρώνεται μερικά δευτερόλεπτα αφού η κίνηση δεν ανιχνεύεται πλέον και επειδή το συνημμένο μήνυμα ηλεκτρονικού ταχυδρομείου μπορεί να είναι αρκετά μεγάλο ώστε να απαιτεί μερικά λεπτά για τη λήψη. Σε ορισμένες περιπτώσεις, εάν η κίνηση διατηρείται για πολύ μεγάλο χρονικό διάστημα, μπορεί να είναι πολύ μεγάλη για αποστολή. Εξαιτίας αυτού, είναι πάντα καλή ιδέα να ελέγχετε τη ζωντανή ροή μετά τη λήψη του αρχικού email ειδοποίησης.
Γιατί Motion;:
Όταν ξεκινήσαμε για πρώτη φορά αυτό το έργο, εξετάσαμε αρκετούς διαφορετικούς πόρους. Πρώτα σκεφτήκαμε να χρησιμοποιήσουμε το PiCam, το οποίο είναι μια μονάδα κάμερας που δημιουργήθηκε ειδικά για το raspberry pi. Το PiCam είναι σίγουρα μια ικανή συσκευή και έχει πολλές εφαρμογές, αλλά περιορίζεται στη χρήση προγραμμάτων που έχουν σχεδιαστεί ειδικά για αυτό και είναι σχετικά ακριβό σε σύγκριση με τις φτηνές κάμερες πολλαπλών χρήσεων. Έτσι, για να καταστήσουμε αυτό το έργο προσβάσιμο σε μεγαλύτερο κοινό, αποφασίσαμε να χρησιμοποιήσουμε μια κοινή κάμερα USB. Το επόμενο ζήτημα ήταν ποιο λογισμικό να ενσωματώσει. Αρχικά σκεφτήκαμε το OpenCV που είναι δωρεάν λογισμικό που επιτρέπει πολλά διαφορετικά είδη έργων Computer Vision και απεικόνισης. Από τα ζητήματα εδώ είναι ότι το OpenCV είναι ένα τεράστιο αρχείο που καταλαμβάνει πολλή μνήμη και δημιουργείται πολύ καιρό. Η εγκατάσταση έχει επίσης πολλά στάδια, αφήνοντας ακόμη περισσότερο χώρο για σφάλματα. Διαπιστώσαμε ότι για το συγκεκριμένο έργο μας, το Motion ήταν πιο απλό στη ρύθμιση και την εργασία, αλλά πολύ πιο ισχυρό στην εκτέλεσή του.
Πηγές
Πηγές κώδικα:
www.techradar.com/how-to/computing/how-to-b…
pimylifeup.com/raspberry-pi-webcam-server/
www.pyimagesearch.com/2015/06/01/home-surve…
naelshiab.com/tutorial-send-email-python/
www.raspberrypi.org/documentation/linux/us…
learn.adafruit.com/adafruits-raspberry-pi-…
learn.adafruit.com/adafruits-raspberry-pi-…
pinout.xyz/pinout/i2c
Συντελεστές φωτογραφίας:
SSH Snail:
Λογότυπο αλληλογραφίας:
Κάμερα Logitech:
Παράθυρο SSH:
Συνιστάται:
ESP32-CAM Δημιουργήστε το δικό σας ρομπότ αυτοκίνητο με ζωντανή ροή βίντεο: 4 βήματα
ESP32-CAM Δημιουργήστε το δικό σας ρομπότ αυτοκίνητο με ζωντανή ροή βίντεο: Η ιδέα είναι να κάνετε το ρομπότ αυτοκίνητο που περιγράφεται εδώ όσο το δυνατόν πιο φθηνό. Επομένως, ελπίζω να φτάσω σε μια μεγάλη ομάδα -στόχο με τις λεπτομερείς οδηγίες μου και τα επιλεγμένα εξαρτήματα για ένα φθηνό μοντέλο. Θα ήθελα να σας παρουσιάσω την ιδέα μου για ένα ρομπότ αυτοκίνητο
Πώς να ξεκινήσετε μια ζωντανή ροή τυχερού παιχνιδιού: 9 βήματα
Πώς να ξεκινήσετε μια ζωντανή ροή τυχερού παιχνιδιού: Αυτό το Instructables πρόκειται να σας δείξει πώς να ρυθμίσετε μια ροή χρησιμοποιώντας το Open Broadcaster Software ή το OBSTΓια να ξεκινήσετε τη ζωντανή ροή σας μέσω OBS, θα θέλετε τα ακόλουθα πράγματα Ένας υπολογιστής ικανός να τρέξει το παιχνίδι σας και ο μαλακός πόλεμος ροής
Πώς να ζήσετε ζωντανή ροή χρησιμοποιώντας το Raspberry Pi: 5 βήματα
Πώς να ζήσετε ζωντανή ροή χρησιμοποιώντας το Raspberry Pi: Σε αυτό το σεμινάριο, θα μάθουμε πώς να φτιάχνουμε τη δική μας κάμερα παρακολούθησης χρησιμοποιώντας το Raspberry Pi. Μπορείτε να αποκτήσετε πρόσβαση σε αυτήν τη ροή χρησιμοποιώντας οποιαδήποτε συσκευή, αρκεί να είναι συνδεδεμένη στο ίδιο δίκτυο με το RPi
Ζωντανή ροή βίντεο 4G/5G HD από DJI Drone σε χαμηλή καθυστέρηση [3 βήματα]: 3 βήματα
Ζωντανή ροή βίντεο 4G/5G HD από DJI Drone σε χαμηλή καθυστέρηση [3 βήματα]: Ο ακόλουθος οδηγός θα σας βοηθήσει να λάβετε ζωντανές ροές βίντεο HD ποιότητας από σχεδόν οποιοδήποτε DJI drone. Με τη βοήθεια της εφαρμογής FlytOS Mobile και της εφαρμογής FlytNow Web, μπορείτε να ξεκινήσετε τη ροή βίντεο από το drone
Η ευκολότερη κάμερα web ως κάμερα ασφαλείας - Ανίχνευση κίνησης και εικόνες με email: 4 βήματα
Η ευκολότερη κάμερα ως κάμερα ασφαλείας - Ανίχνευση κίνησης και εικόνες μέσω ηλεκτρονικού ταχυδρομείου: Δεν χρειάζεται πλέον να κατεβάζετε ή να διαμορφώνετε λογισμικό για να λαμβάνετε εικόνες που εντοπίζονται από την κάμερα στο email σας - απλά χρησιμοποιήστε το πρόγραμμα περιήγησής σας. Χρησιμοποιήστε ένα ενημερωμένο πρόγραμμα περιήγησης Firefox, Chrome, Edge ή Opera σε Windows, Mac ή Android για να τραβήξετε την εικόνα