Raspberry Pi 3运动检测摄像机的制作

电子说

1.3w人已加入

描述

步骤1:设置您的Pi

现在让我们设置您的Pi

要开始,请确保您已经最后一步中的所有必需项。然后,按照Raspberry Pi网站上的步骤在您的Microsd卡上安装Raspbian Jessie(位于此处)。

一旦在Pi上安装了Raspbian,就该设置一些基本功能了。

p》

WiFi

充分利用Pi的第一步是将其连接到互联网。您可能已经完成此步骤,方法是在Pi主屏幕的右上角找到WiFi符号并登录,或者在最后一步安装Raspbian之前执行相同的操作。如果您无法从Pi的桌面界面登录WiFi网络,则可以按照此处的说明通过命令行设置WiFi。

SSH

使用Pi时可以使用的一种非常方便的工具是通过无头设置向Pi发出命令的选项。通过使用Secure SHell或SSH,您可以从计算机远程控制Pi。使用这种方法,您需要编辑Pi的全部功能就是保持它的电源,而无需再使用显示器和键盘!

第2步:通过SSH进入您的PI

通过SSH进入Raspberry Pi既简单又非常有用,因为该过程允许可以从没有WiFi连接的任何计算机向Pi发出命令。

要将SSH连接到Pi,您需要遵循以下3个简单步骤。

首先,您需要在Pi上启用SSH。为此,请在您的Pi中打开一个命令窗口,然后键入:

sudo raspi-config

此命令可让您进入配置菜单。从那里,您将需要使用箭头,标签和输入键,首先进入接口选项,然后启用SSH和摄像头,然后退出并重新启动pi。

下一步,您需要找到您Pi的IP地址。在命令终端中,输入:

sudo ifconfig

,您的IP地址应该在弹出的wlan0部分中,就在Link encap:ethernet下。在上面的演示图片中,IP地址为192.168.1.10。

最后,您需要在Mac上打开内置的终端应用程序,或者查找并按照Windows第三方SSH应用的说明进行操作。在“终端”应用程序中,输入:

ssh pi @ 您的IP地址

如果您在Raspi-config中没有更改密码,则您的提示时输入的密码将是默认密码:raspberry。

从那里开始,您应该一切顺利!

步骤3:在引导时通过电子邮件发送IP地址

在此步骤中,我们将重点介绍如何访问Raspberry Pi,无论您所处的网络如何。根据网络的不同,Pi的IP地址也会改变。而且,如果没有监视器设置,则需要将其插入Pi才能触发运动检测协议,更改运动首选项或访问设备上的其他任何东西。为了解决这个问题,我们将编写一个Python脚本,在启动时通过电子邮件将Pi的IP当前IP地址发送给我们。 python脚本如下,并存储在标记为“ background”的目录中。

#start在主目录中

cd〜

#create background文件夹

mkdir后台

#create python脚本

sudo nano emailip.py

#在emailip.py

导入套接字

s = 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

。MIMEMultipart导入MIMEMultipart

from email.MIMEText import MIMEText

fromaddr =“ 您的地址”

toaddr =“ 接收地址“

msg = MIMEMultipart()

msg [‘From’] = fromaddr

msg [‘To’] = toaddr

msg [‘Subject’] =“ IP地址”

body = xmsg.attach(MIMEText(body,‘plain’))

server = smtplib.SMTP(‘smtp .gmail.com’,587)

server.starttls()

server.login(fromaddr,“ 您的密码”))

text = msg.as_string()

server.sendmail(fromaddr,toaddr,text)

server.quit()

#然后在重启时执行此操作

sudo nano/etc/rc .local

#enter在/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:安装和设置Motion

#update pi

sudo apt-get更新

sudo apt-get升级

#download

sudo apt-get install motion

#现在通过以下更改编辑该文件

sudo nano/etc/motion/motion.conf

#设置一个本教程的标准,将

###################

守护程序打开

stream_localhost关闭

webcontrol_localhost关闭

ffmpeg_output_movies上

target_dir/var/lib/motion

############### #####

#本地Web浏览器流选项

##################

stream_maxrate 100#这将允许实时流式传输,但需要更多的带宽和资源

帧速率60#这将允许每秒捕获60帧#此值越高,视频处理越慢

宽度640#此c挂起显示图像的宽度

高度480#这将更改显示图像的高度

###################

。..在。../motion.conf中破坏视频设置

##################

#删除“; “在行的前面,分号将行注释掉

on_event_start python/home/pi/background/motionalert.py%f

on_movie_end python/home/pi/background/motionvid.py%f

##################

#astectics

#### ##############

#文件中描述的选择

输出图片locate_motion_style

####### ###########

#然后更改

sudo nano/etc/default/motion

#说

start_motion_daemon =是

#last,启动B ****

sudo服务动作开始

#您可以将命令更改为“停止”或“重新启动”

第5步:在检测到运动时通过电子邮件发送视频

在运动时发送电子邮件检测到:

#在家中启动

dircd〜

#创建运动警报python脚本

sudo nano/home/pi/background/motionalert.py

#write

从日期时间导入smtplib

从电子邮件导入日期时间

从电子邮件中导入。MIMEMultipart导入MIMEMultipart

from email.MIMEText impor t MIMEText

fromaddr =“ YOURADDRESS”

toaddr =“ RECIEVINGADDRESS”

msg = MIMEMultipart()

msg [‘From’ ] = fromaddr

msg [‘To’] = toaddr

msg [‘Subject’] =“检测到运动”

body =‘已经有运动了 nTime:%s’%str(datetime.now())

msg.attach(MIMEText(body,‘plain’))

server = smtplib.SMTP( ‘smtp.gmail.com’,587)

server.starttls()

server.login(fromaddr,“ YOURPASSWORD”)

text = msg。 as_string()

server.sendmail(fromaddr,toaddr,text)

server.quit()

电子邮件保存视频时的动态视频:

#在家中开始

dircd〜

#创建动态视频python脚本

sudo nano/home/pi/background/motionvid.py

从电子邮件导入smtplib

。MIMEMultipart导入从电子邮件.MIMEMultipart

。MIMEText导入来自电子邮件的MIMEText

。来自电子邮件导入编码器的MIMEBase

来自电子邮件导入的编码器

fromaddr =“ 您的电子邮件”

toaddr =“ 您发送至的电子邮件地址”

msg = MIMEMultipart()

msg [‘From’] = fromaddr

msg [‘To’] = toaddr

msg [‘Subject’] =“已激活运动凸轮”

body =“检测到运动的视频”

msg。 attach(MIMEText(body,‘plain’))

导入操作系统

rootpath =‘/var/lib/motion ’

filelist = [os.listdir(rootpath)中f的os.path.join(rootpath,f)]

filelist = [如果os.path.isfile(f)中filelist中的f的f/p》

最新=最大值(文件列表,键= lambda x:os.stat(x).st_mtime)

文件名=最新

导入操作系统

rootpath =‘/var/lib/motion ’

文件列表= [os.listdir(rootpath)中f的os.path.join(rootpath,f)]

文件列表= [如果是os.path.isfile(f),则f为文件列表中的f]

最新=最大值(文件列表,键为lambda x:os.stat(x).st_mtime )

attachment = open(newest,“ rb”)

part = MIMEBase(‘application’,‘octet-stream’)

part.set_payload( (附接).read())

encoders.encode_base64(部分)

part.add_header(‘Content-Disposition’,“附件; filename =%s“%filename)

msg.attach(部分)

服务器= smtplib.SMTP(‘smtp.gmail.com’,587)

server.starttls()

server.login(fromaddr,“ 您的密码”)

文本= msg.as_string()

server.sendmail(fromaddr,toaddr,text)

server.quit()

步骤6:故障排除和来源

故障排除:

由于该项目有多个阶段,因此可能会出错。一些可能发生的错误以及如何纠正这些错误。

设置pi以便通过电子邮件将其当前IP地址发送给您时,至关重要的是如前所述编辑rc.local文件

在编辑motion.conf文件时,请确保删除该文件,因为这会在重新启动程序后将其激活之前稍有延迟,否则pi将无法连接到wifi,并且电子邮件也不会发送。在某些参数前面的分号。请执行给定的操作,否则更改将不会生效。

motion.conf文件井井有条且详细。可以根据自己的喜好随意更改设置,但要了解它们可能会影响运动捕捉系统的成功。

设置电子邮件警报和电子邮件视频选项后,需要注意的是,运动检测到的视频的电子邮件要比发送初始警报电子邮件花费更长的时间。这是因为视频在不再检测到运动后几秒钟结束,并且因为电子邮件附件可能很大,需要几分钟才能收到。在某些情况下,如果运动持续很长时间,则可能太大而无法发送。因此,在收到初始警报电子邮件后检查直播始终是一个好主意。

为什么要运动?:

当第一次着手这个项目时,我们考虑了几种不同的资源。首先,我们考虑使用PiCam,这是专门为覆盆子pi构建的相机单元。 PiCam当然是一种功能强大的设备,具有许多应用程序,但仅限于使用专门为其设计的程序,并且与廉价的多用途网络摄像头相比,它相对昂贵。因此,为了使该项目能够为更多的用户使用,我们决定使用通用的USB网络摄像头。下一个问题是要合并的软件。我们最初考虑的是OpenCV,它是免费软件,可用于许多不同种类的计算机视觉和影像项目。这里的一个问题是,OpenCV是一个庞大的文件,占用大量内存并需要很长时间设置。设置也有多个阶段,甚至有更多的出错空间。我们发现,对于我们的特定项目,Motion的设置和工作更加简单,但其执行却更加强大。

结果

来源

代码来源:

http://www.techradar.com/how-to/computing/how-to-b 。..

https://pimylifeup.com/raspberry-pi-webcam-server/

的http://www.pyimagesearch.com/2015/06/01/home-surve 。..

http://naelshiab.com/tutorial-send-email-python/

HTTPS://www.raspberrypi.org/documentation/linux/us 。..

HTTPS://learn.adafruit.com/adafruits-raspberry-pi -。..

HTTPS://learn.adafruit.com/adafruits-raspberry-pi -。..

https://pinout.xyz/pinout/i2c

照片来源:

SSH蜗牛:http://static.charlieharvey.org.uk/graphics/geeker 。..

邮件徽标:http://www.telegraph.co.uk/content/dam/technology/。..

Logitech网络摄像头:https://assets.logitech.com/assets/55370/hd-webcam.。.

SSH窗口:https://cdn-learn.adafruit.com/assets/assets/000/0 。..
       责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分