多方位智能监控系统设计相关技术
2020-04-26刘建宏丁兆硕杨建旭
刘建宏,丁兆硕,杨建旭,余 刚
(1.合肥即理科技有限公司,安徽 合肥 230000;2.安徽南瑞继远电网技术有限公司,安徽 合肥 230001)
0 引 言
现代科学技术在不断进步,传感器技术日趋成熟,监控系统的功能越来越多,作用也越来越大。当一个区域内布置了监控摄像头时,安保人员只需通过观看屏幕就可以通过监控摄像头监控该区域。合理运用监控系统可预防犯罪的产生,减少大众对安全问题的忧虑。在日常生活中,监控系统已越来越常见,如今在医院、学校以及街口等地方都可以看到不同的监控摄像头发挥不同的作用,监控系统正在为人们的安全做出贡献[1-3]。
1 多方位智能监控系统设计相关技术
1.1 人体红外感应技术
人体红外感应技术是一种利用感应红外线进行工作的技术,可以通过温度的不同来进行人体识别。当探头接收到人体产生的红外线时就会向外释放电荷。如今,人体红外感应技术多被应用在不同的监控系统中。本文设计的多方位智能监控系统中选择了HC-SR501这款人体红外感应模块,其目标主要是检测人体,所以对人体产生的红外辐射相当敏感,此外该模块还拥有菲涅耳透镜,通过透镜人体红外感应模块探头的灵敏度将大幅提升[4]。
1.2 嵌入式系统相关技术-树莓派
随着科技的发展,在一些复杂的场景下,51单片机的性能已不足以应付。现在许多公司开发了不同的单片机给人们进行开发应用,而近几年出现的树莓派就是其中很重要的一种。它不同于一般的单片机,整合了一台电脑的大部分东西到一个开发板上,CPU性能也远超大部分单片机。树莓派的系统基于Linux,同时拥有视频输入输出接口和网络接口。随着树莓派的更新换代,现在树莓派也出现了不同的版本,在多方位智能监控系统设计中通过树莓派控制系统的实时监控进行拍照操作。
1.3 Arduino
Arduino平台拥有以下两个特点。一是Arduino IDE可在Windows、Linux以及Macintosh平台上运行且其系统原理图、硬件电路图及核心库相关文件都可以查看。二是Arduino灵活性高,基于wiring语言开发,经简单学习可快速进行开发。
1.4 OpenCV
OpenCV是一个跨平台视觉库,并不像一般计算机的视觉软件,如MATLAB和Halcon。这种商业软件需要耗费大量金钱,兼容性较好。
2 硬件系统设计
2.1 硬件整体设计框架
多方位智能监控系统设计的硬件框架如图1所示。树莓派和Arduino通过数据线进行连接,树莓派控制摄像头模块的实时监控及拍照保存,Arduino控制人体红外感应模块,当摄像头启动后会开始录像。在人体红外感应模块感应到人体后将信号传送到Arduino,然后通过数据线向树莓派发送数据,树莓派控制摄像头拍摄照片并进行保存,同时Arduino上的LED灯会闪烁提醒,此时可通过Arduino控制舵机旋转控制摄像头模块。每过一段时间,人体红外感应模块会重复检测是否出现人体并会再次发送拍摄照片保存命令,而图片保存时将会获取当前时间并以当前时间进行命名[5]。
图1 硬件整体设计框架
2.2 多方位智能监控系统模块设计
2.2.1 人体红外感应模块
在多方位智能监控系统设计中,选择HC-SR501作为本次系统的人体红外感应模块。实物如图2所示,人体红外感应模块的感应范围如图3所示。
图2 HC-SR501实物图
图3 人体红外感应模块的感应范围
2.2.2 摄像头模块
在这次多方位智能监控系统设计中,选择的摄像头模块感光芯片为1/4英寸CMOS,其动态分辨率为1 280×720,通过USB线连接。
2.2.3 舵机模块
本次多方位智能监控系统设计中舵机的型号为SG90,工作电压为4.8~6 V,舵机的尺寸为21.5 mm×11.8 mm×22.7 mm。
3 系统软件开发
3.1 软件系统框架
Arduino控制人体红外感应模块与舵机模块,并和树莓派搭建通信环境,如果人体红外感应模块检测到有人则通过Arduino发送信号给树莓派,树莓派则负责摄像头模块的实时监控以及等待接收Arduino发送的信号并获取当前时间,对拍摄的照片进行命名。
3.2 相关任务模块
人体红外感应模块任务处理流程如图4所示,摄像头模块任务处理流程如图5所示,舵机模块任务处理流程如图6所示。
图4 人体红外感应模块任务模块处理流程
图5 摄像头模块任务处理流程
图6 舵机模块任务处理流程
3.3 树莓派的安装和连接
设计里需要通过树莓派来控制多方位智能监控系统的摄像头模块进行实时监控并拍摄保存照片。树莓派连接时,如果在Windows系统使用SSH传输数据,那么则需要PuTTY,通过网线SSH连接笔记本电脑时,在PuTTY上输入树莓派的网络地址即可,需要注意的是树莓派需要设置能使用SSH登录,然后还需要与笔记本电脑连接到同一个网络[6-9]。
3.4 搭建Arduino开发环境
Arduino程序基础开发流程为新建文件→保存文件→编写代码→验证,编译(CTRL+R)→选择开发板型号以及端口→上传(CTRL+R)。
3.5 搭建树莓派与Arduino通信环境
多方位智能监控系统设计通过搭建树莓派与Arduino通信环境让人体红外感应模块的信号可以通过串口传到树莓派,树莓派串口接收到信号后可控制摄像头模块进行拍摄并保存照片[10]。搭建树莓派与Arduino通信环境首先需要在树莓派上安装RPi.GPIO,在终端输入sudo apt-get install python-rpi.gpio,如图7所示。然后验证是否安装成功,接着在终端输入python后再输入import RPi.GPIO,没有错误提示就表示安装成功,如图8所示。
图7 在树莓派上安装RPi.GPIO
图8 验证是否安装成功
4 多方位智能监控系统测试
一个完整项目的开发,不仅仅要完成硬件整体的开发和软件的开发,而且还需要详细测试该项目,确保项目各方面的安全性和稳定性,减少消费者和厂商因为项目出现问题导致不必要的损失。此次测试将会测试以下4个方面。一是摄像头录制测试,测试摄像头模块是否可以完成实时监控功能,按下Q键是否会保存监控视频并退出监控画面。二是Arduino的LED灯是否闪烁,同时摄像头模块是否将此时的照片进行拍摄并保存。三是舵机旋转摄像头测试,测试舵机是否可以控制摄像头进行旋转达到多方位智能监控系统设计中可多方位监控的目的。四是整体测试,完整测试整个多方位智能监控系统,检验整个系统的稳定性。
5 结 论
现在随着科技的发展,监控系统可逐渐走向智能化和自动化,越来越多的新型传感器应用于监控摄像头。本文的主要工作是完成了多方位智能监控系统设计,通过使用舵机来做到多方位监控,使用人体红外感应模块来监控一个区域,通过自动保存图片在需要查看监控的时候可以快速找到所需要的视频片段。