Taula de continguts:
- Pas 1: configureu el vostre Pi
- Pas 2: SSHing al vostre PI
- Pas 3: envieu per correu electrònic la vostra adreça IP a l'arrencada
- Pas 4: Instal·lació i configuració del moviment
- Pas 5: enviar vídeos per correu electrònic des de la detecció de moviment
- Pas 6: resolució de problemes i fonts
Vídeo: Càmera de detecció de moviment Raspberry Pi 3 amb alimentació en directe: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Introducció
En aquest projecte, aprendreu a construir una càmera de detecció de moviment que podreu utilitzar com a trampa de càmera, monitor de mascotes / nadons, càmera de seguretat i molt més.
Aquest projecte s’organitza en diversos passos:
- Introducció
- Configuració del vostre Pi
- SSHing al vostre Pi
- Enviar la vostra adreça IP per correu electrònic a l’arrencada
- Instal·lació i configuració de Motion
- Enviament de vídeos per correu electrònic des de Motion on detection
- Resolució de problemes i fonts
Què necessiteu:
- Un model Raspberry Pi 3 b ~~ 35 dòlars
- Targeta micro SD de 8 GB ~ ~ 10 dòlars
- Càmera web USB ~~ 20 $ (aquest projecte utilitzava una càmera web Logitech HD c270)
- cable micro usb ~~ 5 dòlars
- o bé:
- paquet de bateria recarregable de 5 volts (bateria de còpia de seguretat del telèfon), això fa que el vostre projecte sigui sense fil ~~ 20 dòlars
- o bé
- adaptador de paret usb ~~ 5 dòlars
- Una connexió WiFi
A què haureu d’accedir per configurar-lo:
- Un monitor
- Un ratolí i un teclat
- Un ordinador amb ranura per a targetes SD
- Un convertidor de targeta Micro SD a SD (hauria de venir amb la vostra targeta micro SD)
Pas 1: configureu el vostre Pi
Ara configurem el vostre Pi
Per començar, assegureu-vos que teniu tots els elements necessaris de l'últim pas. A continuació, seguiu els passos del lloc web de Raspberry Pi per instal·lar Raspbian Jessie a la vostra targeta Microsd, que es troba aquí.
Un cop tingueu Raspbian instal·lat al vostre Pi, és hora de configurar algunes funcions bàsiques.
WiFi
El primer pas per treure el màxim partit al vostre Pi és connectar-lo a Internet. És possible que hàgiu completat aquest pas ja sigui localitzant el símbol WiFi a l'extrem superior dret de la pantalla principal del Pi i iniciant-hi la sessió, o bé fent el mateix abans d'instal·lar Raspbian a l'últim pas. Si no podeu iniciar la sessió a la vostra xarxa WiFi des de la interfície d'escriptori del vostre Pi, podeu seguir les instruccions aquí per configurar el WiFi a través de la línia d'ordres.
SSH
Una eina molt útil que teniu a l’abast quan utilitzeu el Pi és l’opció d’emetre ordres al Pi en el que es coneix com a configuració sense cap. Mitjançant l’ús d’un Shell segur o SSH, podeu controlar el Pi de manera remota des d’un ordinador. Amb aquest mètode, tot el que necessiteu per editar el vostre Pi és una font d’alimentació per mantenir-lo encès, sense més monitor i teclat.
Pas 2: SSHing al vostre PI
SSHing al vostre Raspberry Pi és fàcil i molt útil, ja que el procés us permet emetre ordres al vostre Pi des de qualsevol equip amb res més que una connexió WiFi.
Per connectar SSH al vostre Pi, heu de seguir aquests 3 senzills passos.
En primer lloc, heu d’habilitar SSH al vostre Pi. Per fer-ho, obriu una finestra d'ordres al vostre Pi i escriviu:
sudo raspi-config
Aquesta ordre us permet entrar al menú de configuració. des d’allà voldreu utilitzar les tecles de fletxa, pestanya i entrada per entrar primer a les opcions d’interfície, després per habilitar SSH, així com la càmera, i després sortir i reiniciar el pi.
A continuació, haureu de trobar l'adreça IP del vostre Pi. En un terminal d’ordres, escriviu:
sudo ifconfig
I la vostra adreça IP hauria d’estar a la secció wlan0 que apareix, just a sota de Link encap: Ethernet. A la imatge de demostració superior, l’adreça IP és 192.168.1.10.
Per últim, haureu d’obrir l’aplicació de terminal integrada en un Mac o trobar i seguir les instruccions d’una aplicació ssh de tercers per a Windows. A l’aplicació Terminal, escriviu:
ssh pi @ LA VOSTRA ADREÇA IP
Si no heu canviat la contrasenya mentre esteu a Raspi-config, la contrasenya que cal introduir quan se us demani serà la contrasenya per defecte: raspberry.
A partir d’aquí hauríeu d’anar bé!
Pas 3: envieu per correu electrònic la vostra adreça IP a l'arrencada
En aquest pas ens centrarem en com accedir al vostre Raspberry Pi, independentment de la xarxa en què esteu. Depenent de la xarxa, l’adreça IP del Pi canvia. I si no teniu una configuració del monitor, haureu d’entrar al Pi per activar el protocol de detecció de moviment, canviar les preferències de moviment o accedir a qualsevol altra cosa del dispositiu. Per solucionar aquest problema, escriurem un script Python que ens enviï per correu electrònic l’adreça IP actual del Pi en iniciar-se. L'escriptura python és la següent i es va emmagatzemar en un directori marcat com a "fons".
#start al directori inicial
cd ~
#create carpeta de fons
fons mkdir
#create script Python
sudo nano emailip.py
#write a emailip.py
sòcol d'importació
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 ()
importar smtplib
des del correu electrònic. MIMEMultipart import MIMEMultipart
des del correu electrònic. MIMEText import MIMEText
fromaddr = "LA VOSTRA ADREÇA"
toaddr = "ADREÇA DE RECEPCIÓ"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Adreça IP"
body = xmsg.attach (MIMEText (body, 'plain'))
servidor = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "LA VOSTRA CONTRASENYA")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
# després ho fa en reiniciar
sudo nano /etc/rc.local
#entrar a /etc/rc.local
mentre ! / sbin / ifconfig wlan0 | grep -q 'inet addr: [0-9]';
dormir 3
fet
_IP = $ (nom d’amfitrió -I) || cert
si ["$ _IP"]; llavors
printf "La meva adreça IP és% s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
sortida 0
#i ja està
Pas 4: Instal·lació i configuració del moviment
#actualització pi
sudo apt-get update
sudo apt-get upgrade
#descarregar
sudo apt-get install motion
#ara editeu aquest fitxer amb els canvis següents
sudo nano /etc/motion/motion.conf
# per establir un estàndard per a aquest tutorial, canvieu
#################
dimoni encès
stream_localhost desactivat
webcontrol_localhost desactivat
ffmpeg_output_movies activat
target_dir / var / lib / motion
##################
Opcions de transmissió del navegador web #local
##################
stream_maxrate 100 # Això permetrà la transmissió en temps real, però requereix més amplada de banda i recursos
velocitat de fotograma 60 # Això permetrà capturar 60 fotogrames per segon # com més alt sigui, més lent serà el processament de vídeo
width 640 #Això canvia l'amplada de la imatge que es mostra
altura 480 # Això canvia l'alçada de la imatge que es mostra
##################
#emailing video settings a … / motion.conf
##################
#esborreu el ";" davant de la línia, el punt i coma comenta la línia
on_event_start python /home/pi/background/motionalert.py% f
on_movie_end python /home/pi/background/motionvid.py% f
##################
#astètica
##################
#eleccions descrites al fitxer
imatges_de sortida localitza_estil_moció
##################
# llavors canvia
sudo nano / etc / default / motion
#dir
start_motion_daemon = sí
#last, comenceu el B ****
Inici del moviment sudo service
# podeu canviar l'ordre per "aturar" o "reiniciar"
Pas 5: enviar vídeos per correu electrònic des de la detecció de moviment
Envia un correu electrònic quan es detecta moviment:
#començar a casa
dircd ~
#create script Python d'alerta de moviment
sudo nano /home/pi/background/motionalert.py
#escriure
importar smtplib
des de la data i hora d'importació de la data
des del correu electrònic. MIMEMultipart import MIMEMultipart
des del correu electrònic. MIMEText import MIMEText
fromaddr = "LA VOSTRA ADRESA"
toaddr = "RECEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Moviment detectat"
body = 'S'ha detectat un moviment. / nHora:% s'% str (datetime.now ())
msg.attach (MIMEText (body, 'plain'))
servidor = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Envia per correu electrònic el vídeo del moviment quan es desa el vídeo:
#start at homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
importar smtplib
des del correu electrònic. MIMEMultipart import MIMEMultipart
des del correu electrònic. MIMEText import MIMEText
des del correu electrònic. MIMEBase importa MIMEBase
dels codificadors d’importació de correu electrònic
fromaddr = "EL TEU CORREU ELECTRILNIC"
toaddr = "ADREÇA DE CORREU ELECTR TONIC AL QUE ENVieu"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Motion Cam activada"
body = "Video de moviment detectat"
msg.attach (MIMEText (body, 'plain'))
import os
rootpath = '/ var / lib / motion'
llista de fitxers = [os.path.join (rootpath, f) per a f a os.listdir (rootpath)]
llista de fitxers = [f per a llista de fitxers si os.path.isfile (f)]
més recent = màxim (llista de fitxers, clau = lambda x: os.stat (x).st_mtime)
nom de fitxer = més nou
import os
rootpath = '/ var / lib / motion'
llista de fitxers = [os.path.join (rootpath, f) per a f a os.listdir (rootpath)]
llista de fitxers = [f per a llista de fitxers si os.path.isfile (f)]
més recent = màxim (llista de fitxers, clau = lambda x: os.stat (x).st_mtime)
fitxer adjunt = obert (el més recent, "rb")
part = MIMEBase ('application', 'octet-stream')
part.set_payload ((fitxer adjunt).read ())
encoders.encode_base64 (part)
part.add_header ('Contingut-Disposició', "fitxer adjunt; nom de fitxer =% s"% nom de fitxer)
msg.attach (part)
servidor = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "LA VOSTRA CONTRASENYA")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Pas 6: resolució de problemes i fonts
Resolució de problemes:
Com que aquest projecte té diverses etapes, hi ha diversos punts en què les coses poden sortir malament. A continuació es mostren alguns dels possibles errors que es poden produir i com solucionar-los.
- Quan configureu el pi per enviar-vos per correu electrònic la seva adreça IP actual, és crucial editar el fitxer rc.local tal com es mostra anteriorment, ja que permet un petit retard abans que el programa s'activi després de reiniciar-lo. En cas contrari, el pi encara no estarà connectat a wifi i el correu electrònic no s’enviarà.
- Quan editeu el fitxer motion.conf, assegureu-vos de suprimir els punts i coma davant de certs paràmetres. El punt i coma suprimeix una acció determinada, de manera que, en cas contrari, el canvi no entrarà en vigor.
- El fitxer motion.conf està molt ben organitzat i detallat. No dubteu a canviar la configuració al vostre gust, però enteneu que poden afectar l’èxit del sistema de captura de moviment.
- Després de configurar les opcions d’alerta de correu electrònic i vídeo per correu electrònic, és important tenir en compte que el correu electrònic del vídeo detectat per moviment haurà de trigar una mica més que l’enviament que el correu electrònic d’alerta inicial. Això es deu al fet que el vídeo conclou un parell de segons després que el moviment ja no es detecti i perquè el fitxer adjunt del correu electrònic podria ser prou gran com per requerir un parell de minuts per rebre-ho. En alguns casos, si el moviment es manté durant un temps molt llarg, pot ser massa gran per enviar-lo. Per això, sempre és una bona idea comprovar la transmissió en directe després de rebre el missatge d’alerta inicial.
Per què Motion ?:
Quan vam iniciar aquest projecte per primera vegada, vam considerar diversos recursos. Primer ens vam plantejar d’utilitzar la PiCam, que és una unitat de càmera construïda específicament per al raspberry pi. El PiCam és sens dubte un dispositiu capaç i té moltes aplicacions, però es limita a utilitzar programes específicament dissenyats per a això i és relativament car en comparació amb les càmeres web polivalents barates. Per tant, per fer aquest projecte accessible a un públic més nombrós, vam decidir utilitzar una càmera web USB comuna. El següent número va ser quin programari incorporar. Inicialment vam considerar OpenCV, que era un programari lliure que permet realitzar diferents tipus de projectes de visió per computador i d’imatges. Un dels problemes aquí és que OpenCV és un fitxer enorme que ocupa molta memòria i es configura molt de temps. La configuració també té diverses etapes, deixant encara més marge per als errors. Hem trobat que per al nostre projecte específic, Motion era més senzill de configurar i treballar, però era molt més robust en la seva execució.
Fonts
Fonts del codi:
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
Crèdits fotogràfics:
Caracol SSH:
Logotip del correu:
Càmera web de Logitech:
Finestra SSH:
Recomanat:
Càmera de detecció de moviment Raspberry Pi a la carcassa de Floodlight: 3 passos
Càmera de detecció de moviment de Raspberry Pi a la carcassa de Floodlight: fa temps que faig jocs amb Raspberry Pi, les utilitzo per a una petita varietat de coses, però principalment com a càmera de circuit tancat de televisió per controlar la meva llar mentre estic fora de casa, amb la capacitat de veure una reproducció en directe de forma remota, però també rebeu correus electrònics amb captures d'imatges
Càmera de correu electrònic Arduino Security 3G / GPRS amb detecció de moviment: 4 passos
Càmera de correu electrònic Arduino Security 3G / GPRS amb detecció de moviment: en aquest manual, m’agradaria parlar d’una versió de la construcció d’un sistema de vigilància de seguretat amb un detector de moviment i l’enviament de fotografies a la bústia mitjançant l’escut 3G / GPRS. altres instruccions: instrucció 1 i instrucció
Càmera web més senzilla com a càmera de seguretat: detecció de moviment i imatges enviades per correu electrònic: 4 passos
Càmera web més senzilla com a càmera de seguretat: detecció de moviment i imatges enviades per correu electrònic: ja no cal que descarregueu ni configureu programari per obtenir imatges detectades de moviment des de la vostra càmera web fins al vostre correu electrònic; només cal que utilitzeu el navegador. Utilitzeu un navegador Firefox, Chrome, Edge o Opera actualitzat a Windows, Mac o Android per capturar la imatge
Guardian V1.0 --- Actualització de la càmera de mirall de la porta amb Arduino (funcions de gravació i descàrrega de detecció de moviment): 5 passos
Guardian V1.0 ||| Actualització de la càmera de mirilla de la porta amb Arduino (funcions de gravació i descàrrega elèctrica de detecció de moviment): he demanat una càmera de mirilla, però quan l’utilitzo em vaig adonar que no hi ha cap funció de gravació automàtica (activada per la detecció de moviment). Llavors vaig començar a investigar el seu funcionament. Per gravar un vídeo, hauríeu d’1- mantenir premut el botó d’engegada gairebé 2 segons
Presa controlada pel moviment: des d’una llum de detecció de moviment: 6 passos
Presa controlada pel moviment: des d’una llum de detecció de moviment: Imagineu-vos que sou un enganyós que aneu a la casa més terrorífica de la casa. Després de passar per davant de tots els dimonis, fantasmes i cementiris, finalment arribareu al darrer camí. Podeu veure els caramels en un bol que teniu al davant! Però de sobte un gho