基于树莓派的安全系统设计
摘要
作为许多机构安保和防护措施中的关键组成部分,视频监控通过提供对财物、人员、环境和场所的即时监管,在众多实例中展现了其重要性和优势。本文探讨了一种基于树莓派单板计算机(SBC)的嵌入式实时监控装置的设计方案,用于入侵检测,增强监控技术,为我们的生活及相关控制与警报操作提供基本安全保障。所提出的安防解决方案依托于我们将摄像头与动作检测器创新性地集成到网络应用之中。树莓派负责运行并控制动作检测器和视频摄像头,实现远程感知与监控,同时传输实时视频并将其存储以供后续回放。此外,本文重点在于开发一种能够检测陌生人并迅速响应的监控系统,通过拍照并利用无线模块将图像发送给所有者。这种基于树莓派的智能监控系统实现了对远程区域进行监控的概念。该建议方案提供了一种成本效益高、无处不在、环保且易于实施的监控解决方案。
此外,本文还提出了利用图像处理进行运动检测与跟踪的技术。此类技术在监控与安全领域具有重要意义。实时视频流可用于展示如何对物体进行检测与跟踪。检测与跟踪过程基于像素阈值。
关键词 :嵌入式系统,树莓派,监控系统,运动检测,跟踪,视频处理
1. 引言
当今对视频监控系统的需求正在迅速增长。人们首先想要了解的是,他们的监控系统是否能够通过互联网连接以实现远程查看。过去,安防系统必须由一名警卫全天候待在房间内监视监视器,以确保不会发生任何意外。另一种选择是事后回看录像,但此时可能已经造成了损失。因此,研究人员和科学家不得不设法克服这些问题,从而大幅提升安全性。
商业场所、医院、大学、仓库和赌场需要具备警报和存档功能,同时能够持续监控入侵者视频流的视频拍摄系统。视频监控技术的进步使得实时查看成为可能从世界任何地方的联网PC或智能手机远程监控您的数字摄像头。这包括使用闭路电视(CCTV)(数字视频录像机(DVR))系统和网络协议(IP)摄像头。这项技术非常先进,但其实施成本已被证明是小型家庭应用的一大障碍。
因此,新的创新技术主要围绕产品的成本可承受性以及实现的便捷性展开。树莓派同时满足了这两个标准,它是一种价格低廉且高效的计算机,可以与其他模块连接,以实现功能强大的系统。其应用范围广泛,包括电机调速、自动照明、虚拟专用网(VPN)服务器、安全系统等。
树莓派微型计算机能够为各种应用提供有效的防护装置。这种现代新兴的安防技术为小型住宅提供了便利和安全的环境。该系统的各项功能包括检测入侵者、拍摄入侵者的图像,并向房主发送警报信息。通过这种方式,实现了对住宅的远程监控,用户可随时随地查看家中情况。
所要设计的系统无法完全取代闭路电视和IP监控摄像头的作用,尤其是在大型商业场所中,但将使低收入房主能够以非常实惠的价格轻松监控其住宅。除了树莓派开发板价格低廉之外,本系统所使用的摄像头相比其他类型也较为便宜。整个安全系统的电路结构简单,易于实现。
图像处理是指对作为输入的图像或视频帧进行处理,处理结果可能是图像相关参数的明确集合。图像处理的目的是可视化,即观察那些无法直接看到的物体。人体运动评估是数字图像处理领域中最新且热门的研究课题之一,其中人体运动是人体检测和动作分析的关键部分,其目的是从视频序列的背景图像中识别人体的运动。这也包括检测和跟踪。物体跟踪技术是从视频帧中分割出感兴趣区域并记录其运动和位置。关于本论文主题的大量研究工作可在文献[1‐5]中找到。
2. 设计方法
为了使嵌入式实时监控系统能够有效用于监控和报警,该系统必须具备至少三个功能:检测、图像处理和报警机制。因此,基于树莓派的安全系统主要由两部分组成:硬件设计和软件设计。
2.1 硬件设计
整个系统模块由七个部分组成:
1. 树莓派 Model B+控制器;
2. PIR运动传感器;
3. RJ45以太网连接器;
4. Pi摄像头模块;
5. Micro‐SD卡;
6. LED灯和220欧姆电阻;
7. USB供电线缆。
2.1.1 树莓派型号B+
这是本文选择用于实现工作的模型。与其他模型相比,它具有以下优点:增加了通用串行总线(USB)端口数量以及大量的通用输入/输出(GPIO)引脚。
2.1.1.1 启动树莓派模型
Raspbian ‘Wheezy’ 镜像被写入 4GB Micro‐SD卡。这是选择在树莓派上运行的操作系统,因为该操作系统已经针对树莓派的ARM架构进行了优化和移植。该操作系统与硬件具有良好的集成性,并预装了图形用户界面(GUI)和开发工具。
插入Micro‐SD卡后,使用RJ45以太网电缆将树莓派和装有Putty软件的个人计算机连接起来(Putty是一种安全外壳(SSH)客户端,用于从运行在Windows平台上的计算机远程访问和控制树莓派),然后为系统供电。接着启动Putty软件,并在主机名字段中输入树莓派的默认静态IP地址。在此过程中,需将Windows PC设置为手动IP配置,以便其能够与树莓派通信。
2.1.1.2 在树莓派上设置互联网连接
互联网是必需的,以便树莓派能够通过网络协议进行通信,从而安装必要的Python包。图1中的架构用于实现这一目标。
由于广播路由器使用动态主机配置协议(DHCP)向连接的设备分配IP地址,因此需要将树莓派的IP地址从静态改为动态。这可以通过使用以下命令编辑网络接口文件来实现:
2.1.1.3 启用Pi相机
这款摄像头专为树莓派设计。它通过摄像头串行接口(CSI‐2)电气端口连接到树莓派,该端口速度极快。要配置并启用摄像头,需在树莓派的命令行界面(CLI)中执行以下命令:
完成这些配置设置后,系统重启。这是为了确保摄像头在内存中分配到足够的空间。摄像头拍摄500万像素图像,分辨率为1080乘890。为了确保摄像头配置正确且功能正常,执行以下命令。
默认情况下,此命令会拍摄三秒钟的图像并将其保存在名为 image.png 的文件中。
2.1.2 设置被动红外传感器
这构成了主要的运动传感器。它用于控制整个系统。此处使用的设备是HC501SR被动红外传感器。检测范围为7米,140度锥形角度。其延迟时间为16秒,但可调节。环境温度为253K‐323K。它通过5V直流电源引脚直接由树莓派供电。其输出连接到可编程GPIO引脚作为输入。
2.1.3 自动灯光模拟
发光二极管(LED)用于模拟自动灯光控制。该功能设计为通过被动红外传感器(PIR)传感器的动作来控制。该设备通过一个220Ω电阻连接到通用输入输出引脚。
2.2 硬件架构
整个系统模块如图2所示相互连接。
2.3 软件设计
2.3.1 基于树莓派的安全系统的流程图
图3所示的流程图用于设计和记录安防系统。它描述了从入侵事件开始到发出警报为止的一系列事件。该算法通过Python脚本实现。
2.3.1.1 系统初始化与配置
这涉及以下任务:
1. 导入Python库和软件包:这些库是预定义的,有助于使接口模块正常工作。
2. Pi相机设置与配置。
3. GPIO设置与引脚初始化:通道使用博通(BCM)通道编号进行设置。被动红外引脚通道设置为读取模式,而LED通道设置为驱动/写入模式。
a. 读取通道。要读取任何GPIO引脚的值,只需输入:GPIO.input(通道)
b. 驱动通道。要驱动GPIO引脚的通道,请输入:GPIO.output(通道,状态)
这一系列事件可以通过图4所示的框图进行详细说明。
2.3.1.2 生成和发送电子邮件
在配置系统向预定义的订阅者发送警报后,接下来需要生成并发送邮件。此时调用并使用多用途互联网邮件扩展(MIME)包来生成附件。MIME支持ASCII以外的字符、非文本附件(如音频、视频和应用程序)等,从而扩展了电子邮件的格式。然后使用简单邮件传输协议(SMTP)程序将邮件从树莓派发送到已配置的邮件中心。
2.3.1.3 伪代码
- 系统重启时,向邮件主机发送包含分配的启动IP的电子邮件。
- 检查GPIO引脚的状态。如果引脚为低电平,则GPIO输出引脚13应保持低电平,系统处于空闲状态。否则,如果引脚突然变为高电平,则将其解释为中断事件。
- 当输入GPIO引脚的值为高电平(中断事件)时,将引脚13设置为高电平,此时LED灯闪烁。调用启动Pi相机的函数。
- 摄像头拍摄一段10秒视频并保存到文件中。
- 系统检查树莓派上是否启用了互联网。
- 如果有互联网连接,则向指定的邮件主机发送电子邮件;如果没有互联网连接,则等待5秒后再次检查。
将PIR传感器引脚重置为低电平,并在2秒后再次检查状态。这将使程序返回主循环。
2.3.1.4 开发完整代码列表
为了能够在树莓派的命令行界面开发执行流程图中定义算法的Python脚本,需在树莓派的命令行界面执行以下操作:
1. 启动树莓派,并创建一个目录 mkdir命令
2. 在目录内,使用 touch 创建一个文件命令并使用 sudo chmod +x (文件名) 设置为可执行。
3. 然后使用nano命令打开编辑器完整的Python代码在其中,使用以下命令执行脚本:
2.4 OpenCv – Python视频处理
OpenCv 是一个用于分析图像和视频文件的非常强大的工具。其基本处理流程如图5所示的流程图中所述。在运动检测的实现中,选择了阈值处理作为图像处理的技术。在视频流中进行跟踪。选择使用OpenCv – Python进行脚本编写,是因为Python本身不支持视频处理。目前Python中尚无视频处理库。因此,OpenCv提供了实现图像处理所需的平台。
2.4.1 伪代码
- 启动摄像头并设置为捕获视频流。
- 从视频流中获取一帧图像。如果成功获取帧,则继续处理;否则停止。将该帧初始化为当前帧。
- 将捕获的帧转换为灰度图像,然后进行高斯模糊以去除灰度图像中的噪声。
- 捕获另一帧图像,并重复上述第二步。
- 检查像素阈值是否达到足以判断为检测到运动的水平。
- 在检测到运动的区域周围绘制矩形。
3. 结果
3.1 使用PIR传感器进行检测
成功执行Python脚本后,得到了表1-3中所示的结果。
可以看出,PIR传感器在不同的灵敏度级别下,其检测范围各不相同。传感器的灵敏度越高,检测范围越大。此外,从表1-3的结果可以准确得出,PIR传感器构成了主要的运动检测装置,因而成为第一道防护线。所有其他模块都完全依赖于PIR的GPIO引脚变为高电平。如果该传感器失效,则所设计的整个安全程序都将失效。
表1. PIR传感器的最大灵敏度
| 距离(米) | LED开/关 | 发送警报 |
|---|---|---|
| 15 | OFF | NO |
| 10 | OFF | NO |
| 8 | OFF | NO |
| 6 | YES | YES |
| 5 | YES | YES |
| 4 | YES | YES |
| 3 | YES | YES |
表2. PIR传感器的中等灵敏度
| 距离(米) | LED开/关 | 发送警报 |
|---|---|---|
| 15 | OFF | NO |
| 10 | OFF | NO |
| 8 | OFF | NO |
| 6 | OFF | NO |
| 5 | ON | NO |
| 4 | ON | YES |
| 3 | ON | YES |
表3. PIR传感器的低灵敏度
| 距离(米) | LED开/关 | 发送警报 |
|---|---|---|
| 15 | OFF | NO |
| 10 | OFF | NO |
| 8 | OFF | NO |
| 6 | OFF | NO |
| 5 | OFF | NO |
| 4 | OFF | NO |
| 3 | ON | YES |
3.2 使用摄像头进行检测与跟踪
运行Python-OpenCv代码在树莓派上未能取得成功结果。这是因为大型视频文件或实时视频流需要较高的处理器速度。树莓派的运行频率为700MHz。因此,该脚本在笔记本电脑上以不同方式实现。获得了表4中的结果。
根据表4的结果可以得出结论:改变摄像头像素阈值能够实现检测与跟踪操作。然而,检测仅在一定范围内有效。这一点可以通过比较图6-8中标注的说明看出。当像素阈值为= 25时,可实现运动检测与跟踪;而当像素阈值为100像素时,则无法进行检测和跟踪。
表4. 更改摄像头的阈值水平
4. 结论
本文讨论了基于树莓派的安全系统的设计与实现。系统方面包括使用PIR传感器进行运动检测、利用Pi相机进行视频捕捉以及发送警报通过电子邮件。然而,由于系统限制(即处理器速度),树莓派未能实现图像处理选项。
1326

被折叠的 条评论
为什么被折叠?



