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

步骤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 。..


英国Pickering公司推出新款微波开关设计工具 ,帮助简化LXI微波开关和继电器系统的配置
传感器对运动的捕捉有助于医疗的应用
武汉天马微电子G6产线二期已投产,目前正在开展量产准备工作
为什么MOSFET和IGBT特性不同?
影响工业路由器传输距离的因素有哪些
Raspberry Pi 3运动检测摄像机的制作
福特将打造的两个专用电动汽车平台
RK3288主板开源开发板的接口丰富且性能稳定
Andes晶心科技正式推出AndesCore® AX65全新RISC-V乱序执行、超纯量、多核处理器
【了不起的芯片】网上冲浪怎么才能不卡卡卡卡卡卡呢?
虹科Pico技术交流会:相约美丽羊城,开启汽修奇旅
闪光灯闪光范围/闪光模式
2023贵州建筑电气年会
如何避免MOSFET常见问题和失效模式
工业级模拟量采集模块的优点介绍
数码相机电池一般采用哪些电池?
2018年版的机器人发展史
iphone8、小米mix2全面屏手机即将发布,vivox20全面屏手机也要横插一脚
LPWAN商业圈摩拳擦掌,NB-IoT、LoRa、Sigfox各出奇招
音叉液位开关迟滞性的解决方法