Inhaltsverzeichnis:
- Schritt 1: Einrichten Ihres Pi
- Schritt 2: SSHing in Ihren PI
- Schritt 3: Senden Sie Ihre IP-Adresse beim Booten per E-Mail
- Schritt 4: Motion installieren und einrichten
- Schritt 5: E-Mail-Videos von Bewegung bei Erkennung senden
- Schritt 6: Fehlerbehebung und Quellen
Video: Raspberry Pi 3 Bewegungserkennungskamera mit Live-Feed - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Einführung
In diesem Projekt lernen Sie, wie Sie eine Bewegungserkennungskamera bauen, die Sie als Kamerafalle, Haustier- / Babymonitor, Sicherheitskamera und vieles mehr verwenden können.
Dieses Projekt ist in mehrere Schritte unterteilt:
- Einführung
- Einrichten Ihres Pi
- SSHing in deinen Pi
- Senden Sie Ihre IP-Adresse beim Booten per E-Mail
- Motion installieren und einrichten
- Versenden von Videos von Motion bei Erkennung per E-Mail
- Fehlerbehebung und Quellen
Was du brauchen wirst:
- Ein Raspberry Pi 3 Modell b ~~$35
- 8-GB-Micro-SD-Karte ~~$10
- USB-Webcam ~~$20 (dieses Projekt verwendete eine Logitech HD-Webcam c270)
- Micro-USB-Kabel ~~$5
- entweder:
- wiederaufladbarer 5-Volt-Akku (Telefon-Backup-Batterie), dies macht Ihr Projekt drahtlos ~~ $ 20
- oder
- USB-Wandadapter ~~$5
- Eine WLAN-Verbindung
Was Sie für die Einrichtung benötigen:
- Ein Bildschirm
- Eine Maus und eine Tastatur
- Ein Computer mit einem SD-Kartensteckplatz
- Ein Micro-SD-zu-SD-Kartenkonverter (sollte mit Ihrer Micro-SD-Karte geliefert werden)
Schritt 1: Einrichten Ihres Pi
Jetzt richten wir dein Pi. ein
Stellen Sie zunächst sicher, dass Sie alle erforderlichen Elemente aus dem letzten Schritt haben. Befolgen Sie dann die Schritte auf der Raspberry Pi-Website zur Installation von Raspbian Jessie auf Ihrer Microsd-Karte, die Sie hier finden.
Sobald Sie Raspbian auf Ihrem Pi installiert haben, ist es an der Zeit, einige grundlegende Funktionen einzurichten.
W-lan
Der erste Schritt, um das Beste aus Ihrem Pi herauszuholen, besteht darin, ihn mit dem Internet zu verbinden. Möglicherweise haben Sie diesen Schritt bereits abgeschlossen, indem Sie entweder das WiFi-Symbol in der oberen rechten Ecke des Hauptbildschirms Ihres Pi finden und sich dort anmelden, oder dasselbe tun, bevor Sie Raspbian im letzten Schritt installieren. Wenn Sie sich nicht über die Desktop-Oberfläche Ihres Pi bei Ihrem WLAN-Netzwerk anmelden können, können Sie den Anweisungen hier folgen, um WLAN über die Befehlszeile einzurichten.
SSH
Ein sehr praktisches Werkzeug, das Ihnen bei der Verwendung Ihres Pi zur Verfügung steht, ist die Option, Befehle an Ihren Pi in einem sogenannten Headless-Setup zu erteilen. Durch die Verwendung einer Secure SHell oder SSH können Sie Ihren Pi von einem Computer aus fernsteuern. Mit dieser Methode benötigen Sie zum Bearbeiten Ihres Pi nur eine Stromquelle, um ihn eingeschaltet zu halten, kein Monitor und keine Tastatur mehr!
Schritt 2: SSHing in Ihren PI
SSHing in Ihren Raspberry Pi ist einfach und sehr nützlich, da Sie mit diesem Prozess von jedem Computer mit nur einer WiFi-Verbindung Befehle an Ihren Pi senden können.
Um eine SSH-Verbindung zu Ihrem Pi herzustellen, müssen Sie diese 3 einfachen Schritte ausführen.
Zuerst müssen Sie SSH auf Ihrem Pi aktivieren. Öffnen Sie dazu ein Befehlsfenster in Ihrem Pi und geben Sie Folgendes ein:
sudo raspi-config
Mit diesem Befehl können Sie ein Konfigurationsmenü aufrufen. Von dort aus sollten Sie die Pfeil-, Tab- und Eingabetasten verwenden, um zuerst in die Schnittstellenoptionen zu gelangen, dann SSH sowie die Kamera zu aktivieren, dann das Pi zu beenden und neu zu starten.
Als nächstes müssen Sie die IP-Adresse Ihres Pi finden. Geben Sie in einem Befehlsterminal Folgendes ein:
sudo ifconfig
Und Ihre IP-Adresse sollte sich im Abschnitt wlan0 befinden, der direkt unter Link encap:ethernet angezeigt wird. Im obigen Demobild lautet die IP-Adresse 192.168.1.10.
Zuletzt müssen Sie entweder die integrierte Terminal-App auf einem Mac öffnen oder die Anweisungen für eine SSH-App eines Drittanbieters für Windows suchen und befolgen. Geben Sie in der Terminal-App Folgendes ein:
ssh pi@IHRE IP-ADRESSE
Wenn Sie das Passwort in Raspi-config nicht geändert haben, ist Ihr Passwort, das Sie eingeben müssen, wenn Sie dazu aufgefordert werden, das Standardpasswort: raspberry.
Von dort aus sollte es gut gehen!
Schritt 3: Senden Sie Ihre IP-Adresse beim Booten per E-Mail
In diesem Schritt konzentrieren wir uns darauf, wie Sie auf Ihren Raspberry Pi zugreifen können, unabhängig davon, in welchem Netzwerk Sie sich befinden. Je nach Netzwerk ändert sich die IP-Adresse des Pi. Und wenn Sie kein Monitor-Setup haben, müssen Sie eine SSH-Verbindung zum Pi herstellen, um das Bewegungserkennungsprotokoll auszulösen, die Bewegungseinstellungen zu ändern oder auf alles andere auf dem Gerät zuzugreifen. Um dieses Problem zu lösen, werden wir ein Python-Skript schreiben, das uns beim Start die aktuelle IP-Adresse des Pi per E-Mail zusendet. Das Python-Skript sieht wie folgt aus und wurde in einem Verzeichnis mit der Bezeichnung "Hintergrund" gespeichert.
#starte im Home-Verzeichnis
cd ~
#Hintergrundordner erstellen
mkdir-Hintergrund
#python-Skript erstellen
sudo nano emailip.py
#schreiben Sie in emailip.py
Steckdose importieren
s = socket.socket(socket. AF_INET, socket. SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])x = s.getsockname()[0]s.close()
smtplib importieren
aus email. MIMEMultipart importieren MIMEMultipart
aus email. MIMEText importieren MIMEText
fromaddr = "IHRE ADRESSE"
toaddr = "EMPFANGSADRESSE"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toadr
msg['Betreff'] = "IP-Adresse"
body = xmsg.attach(MIMEText(body, 'plain'))
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "IHR PASSWORT")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
#dann tut es das beim Neustart
sudo nano /etc/rc.local
#Geben Sie in /etc/rc.local ein
während ! /sbin/ifconfig wlan0 | grep -q 'inet-Adresse:[0-9]';
schlafe 3
getan
_IP=$(Hostname -I) || wahr
if ["$_IP"]; dann
printf "Meine IP-Adresse ist %s\n" "$_IP"
python /home/pi/Background/emailip.py &
fi
Ausgang 0
#und du bist fertig
Schritt 4: Motion installieren und einrichten
#update pi
sudo apt-get update
sudo apt-get upgrade
#herunterladen
sudo apt-get install motion
#bearbeite jetzt diese Datei mit den folgenden Änderungen
sudo nano /etc/motion/motion.conf
#um einen Standard für dieses Tutorial zu setzen, ändere
#################
Dämon an
stream_localhost aus
webcontrol_localhost aus
ffmpeg_output_movies an
target_dir /var/lib/motion
##################
#Streaming-Optionen für den lokalen Webbrowser
##################
stream_maxrate 100 #Dies ermöglicht Echtzeit-Streaming, erfordert jedoch mehr Bandbreite und Ressourcen
Framerate 60 #Dies ermöglicht die Aufnahme von 60 Frames pro Sekunde #je höher diese wird, desto langsamer ist die Videoverarbeitung
width 640 #Dies ändert die Breite des angezeigten Bildes
height 480 #Dies ändert die Höhe des angezeigten Bildes
##################
#Videoeinstellungen per E-Mail in …/motion.conf senden
##################
#lösche das "; " vor der Zeile, das Semikolon kommentiert die Zeile aus
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astektik
##################
#Auswahl in der Datei beschrieben
output_pictures locate_motion_style
##################
#dann ändern
sudo nano /etc/default/motion
#sagen
start_motion_daemon=ja
#zuletzt starte das B**** hoch
sudo service Bewegungsstart
#Sie können den Befehl in "stop" oder "restart" ändern
Schritt 5: E-Mail-Videos von Bewegung bei Erkennung senden
E-Mail bei Bewegungserkennung:
#start zu hause
dird ~
#python-Skript für Bewegungsalarm erstellen
sudo nano /home/pi/background/motionalert.py
#schreiben
smtplib importieren
aus datetime importieren datetime
aus email. MIMEMultipart importieren MIMEMultipart
aus email. MIMEText importieren MIMEText
fromaddr = "IHREADRESSE"
toaddr = "EMPFANGSADRESSE"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toadr
msg['Betreff'] = "Bewegung erkannt"
body = 'Eine Bewegung wurde erkannt.\nZeit: %s' % str(datetime.now())
msg.attach(MIMEText(body, 'plain'))
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "IHRPASSWORT")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
E-Mail Bewegungsvideo beim Speichern des Videos:
#start bei homedircd ~
#erstellen Sie Motion-Video-Python-Skriptsudo nano /home/pi/background/motionvid.py
smtplib importieren
aus email. MIMEMultipart importieren MIMEMultipart
aus email. MIMEText importieren MIMEText
aus email. MIMEBase importieren MIMEBase
von E-Mail-Import-Encodern
fromaddr = "IHRE E-MAIL"
toaddr = "E-MAIL-ADRESSE, AN DIE SIE SENDEN"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toadr
msg['Subject'] = "Motion Cam aktiviert"
body = "Video der Bewegung erkannt"
msg.attach(MIMEText(body, 'plain'))
Importieren von OS
Rootpfad = '/var/lib/motion'
filelist = [os.path.join(rootpath, f) für f in os.listdir(rootpath)]
filelist = [f für f in filelist if os.path.isfile(f)]
neueste = max(filelist, key=lambda x: os.stat(x).st_mtime)
Dateiname = neuestes
Importieren von OS
Rootpfad = '/var/lib/motion'
filelist = [os.path.join(rootpath, f) für f in os.listdir(rootpath)]
filelist = [f für f in filelist if os.path.isfile(f)]
neueste = max(filelist, key=lambda x: os.stat(x).st_mtime)
Anhang = open(neueste, "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((Anhang).read())
Encoders.encode_base64 (Teil)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(teil)
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "IHR PASSWORT")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Schritt 6: Fehlerbehebung und Quellen
Fehlerbehebung:
Da dieses Projekt mehrere Phasen hat, gibt es mehrere Punkte, an denen etwas schief gehen kann. Nachfolgend finden Sie einige der möglichen Fehler, die auftreten können, und wie Sie sie beheben können.
- Wenn Sie Ihr Pi so einrichten, dass es Ihnen seine aktuelle IP-Adresse per E-Mail zusendet, ist es wichtig, die Datei rc.local wie zuvor gezeigt zu bearbeiten, da dies eine leichte Verzögerung ermöglicht, bevor das Programm nach dem Neustart aktiviert wird. Andernfalls ist der Pi noch nicht mit dem WLAN verbunden und die E-Mail wird nicht gesendet.
- Achten Sie beim Bearbeiten der Datei motion.conf darauf, die Semikolons vor bestimmten Parametern zu löschen. Das Semikolon unterdrückt eine bestimmte Aktion, sonst wird die Änderung nicht wirksam.
- Die Datei motion.conf ist sehr gut organisiert und detailliert. Sie können die Einstellungen nach Belieben ändern, aber verstehen Sie, dass sie den Erfolg des Motion-Capture-Systems beeinträchtigen können.
- Nach dem Einrichten der E-Mail-Warnungs- und E-Mail-Videooptionen ist es wichtig zu beachten, dass die E-Mail des Bewegungserkennungsvideos etwas länger dauert als das Senden als die erste Warn-E-Mail. Dies liegt daran, dass das Video einige Sekunden endet, nachdem keine Bewegung mehr erkannt wurde, und weil der E-Mail-Anhang groß genug sein könnte, um einige Minuten zum Empfangen zu benötigen. In einigen Fällen, wenn die Bewegung über einen sehr langen Zeitraum aufrechterhalten wird, kann sie zu groß sein, um überhaupt gesendet zu werden. Aus diesem Grund ist es immer eine gute Idee, den Livestream nach Erhalt der ersten Benachrichtigungs-E-Mail zu überprüfen.
Warum Bewegung?:
Zu Beginn dieses Projekts haben wir verschiedene Ressourcen in Betracht gezogen. Zuerst haben wir überlegt, die PiCam zu verwenden, eine Kameraeinheit, die speziell für den Himbeer-Pi entwickelt wurde. Die PiCam ist sicherlich ein leistungsfähiges Gerät und hat viele Anwendungen, beschränkt sich jedoch auf die Verwendung speziell dafür entwickelter Programme und ist im Vergleich zu billigen Mehrzweck-Webcams relativ teuer. Um dieses Projekt einem größeren Publikum zugänglich zu machen, haben wir uns daher für eine gängige USB-Webcam entschieden. Die nächste Frage war, welche Software integriert werden sollte. Wir haben zunächst OpenCV in Betracht gezogen, eine kostenlose Software, die viele verschiedene Arten von Computer Vision- und Imaging-Projekten ermöglicht. Eines der Probleme hier ist, dass OpenCV eine riesige Datei ist, die viel Speicher beansprucht und eine lange Einrichtungszeit erfordert. Das Setup hat auch mehrere Stufen, die noch mehr Raum für Fehler lassen. Wir haben festgestellt, dass Motion für unser spezielles Projekt einfacher einzurichten und in Betrieb zu nehmen war, aber viel robuster in der Ausführung.
Quellen
Codequellen:
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
Bildnachweis:
SSH-Schnecke:
Mail-Logo:
Logitech-Webcam:
SSH-Fenster:
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
Live-Streaming mit Raspberry Pi durchführen – wikiHow
Live-Streaming mit Raspberry Pi: In diesem Tutorial erfahren Sie, wie Sie mit Raspberry Pi unsere eigene Überwachungskamera erstellen. Sie können mit jedem Gerät auf diesen Stream zugreifen, solange es mit demselben Netzwerk wie das RPi verbunden ist
Live 4G/5G HD-Videostreaming von DJI Drone mit niedriger Latenzzeit [3-Schritte]
4G/5G HD-Live-Videostreaming von DJI-Drohne mit geringer Latenz [3 Schritte]: Die folgende Anleitung hilft Ihnen, Live-Videostreams in HD-Qualität von fast jeder DJI-Drohne zu erhalten. Mit Hilfe der FlytOS Mobile App und der FlytNow Web Application können Sie Videos von der Drohne streamen
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50