基于树莓派的人体红外感应开灯研究

2020-12-08 08:40王洁松
无线互联科技 2020年19期
关键词:编程语言树莓红外

王洁松

(江苏航运职业技术学院,江苏 南通 226010)

0 引言

在网络时代下物联网技术诞生,现已逐渐渗透到学校领域,为创客教育的开展提供更加有力的技术支持。以树莓派为代表,以此为基础进行人体红外感应系统开发与设计,可更好地将技术应用于实践,使系统开发难度降低,并在智能家居等多个领域中得到广泛应用。

1 树莓派概念与特点

1.1 概念

树莓派即微型电脑,主要用于计算机编程教育之中。该电脑体积较小,与信用卡类似,在Linux基础上设计而成,在Windows10发布后可在Windows中运行树莓派。该设备虽然体积较小,但内在却十分庞大,具有视频、音频等多种功能,受到许多创客与计算机爱好者的认可和青睐。树莓派电脑 B型Rev1如图1所示。

图1 树莓派电脑 B型Rev1

1.2 性能指标

随着信息技术更新换代,新硬件加快了发展步伐。树莓派、Arduino等设备逐渐应用到院校创客教育之中,使底层硬件得以封闭,降低对物联网的开发难度。从硬件配置角度来看,与Arduino相比树莓派更具优势。树莓派作为微型电脑,其性能指标为:三代B型内存为1 GB,带有1.2 GHz四核处理器,GPU为VideoCore IV处理器,具有存储卡拓展槽,可依靠蓝牙、网线与WiFi等进行通信。该设备由英国组织开发而成,以miecroSD卡为硬盘,Python为编程语言,操作系统功能较为健全,不但具有主控制器的功能,可与传感器直接相连,实现物联网控制;还可借助网线、键盘与显示器等实现常规电脑的功能[1]。

2 树莓派基础下人体红外感应系统构建与实现

在树莓派基础上研究人体红外感应开灯,为物联网应用创造更加良好的实践案例,主要包括系统安装、硬件配置与软件实现等方面,具体内容如下。

2.1 系统安装

树莓派的功能在于学习计算机编程,其外表尺寸与信用卡相似,带有完善的传输接口,可与多种类型传感器相互连接,如光感应、LED、温湿度与人体红外等等。在实际操作中,只需输入简单的代码便可对相关设备进行控制。对此,在本文研究中以树莓派为主控器。该设备自身不具备操作系统,需要增加SD卡。在插入后便可正式进行系统安装,主要流程如下。

步骤一:登录官方网站,下载NOOBS,由其提供简易可用的界面进行系统安装;

步骤二:将刚刚下载的NOOBS文件进行解压,存储到SD卡中;

步骤三:将SD卡从电脑上弹出,安装到树莓派上;

步骤四:将树莓派接通电源,根据与其相连的屏幕逐一设置选项,最后便可正式完成系统安装。

2.2 硬件设置

人体红外传感器是在红外线技术基础上的自控模块,具有较强的可靠性、灵敏性特点,适用于非接触开关、防盗报警等方面。在本次研究中,通过调整传感器中的距离与延时电位器,可对其感应距离与延时进行设置。利用杜邦线将传感器的正极与树莓派的5 V相连,将负极与Ground引脚相连,将输出与BCM4相连。在接线完毕后,传感器可调整到工作状态,一旦有物体接近便会反馈电信号,BCM4引脚进行接收。各项设备的连接线路如图2所示[2]。

图2 设备线路连接

2.3 软件设置

2.3.1 编程语言

树莓派以Pythin为编程语言,相对简单,学习难度较低,且功能较为强大,属于高级程序语言。在Sublime Text环境下,更有助于对该编程语言和程序的开发与应用。对于Python文件来说,可缩写为.py,其带有一定的限制,即利用4个空格缩进方式编写成块代码。在Python版本下,程序运行的方式为:首先启动cmd进入命令行模式,然后输入指令“Python3[filename].py”便可以执行相应的程序,最后对执行结果进行显示。

2.3.2 代码设置

在Python版本下对该系统中的硬件进行操控。技术原理为:一旦检测到BCM4引脚有所输入时,访问连接在LED灯上的引脚便会接通,根据True的数值判断结果实现开灯操作,反之则利用Flase取值实现关灯操作。

(1)Python对树莓派的接口类库进行控制,一般在微型电脑中已经预装完毕,还需要将import导入其中。

(2)对各项指标进行初始化设置;一旦有人接近感应设备时,LED灯便会处于开启状态,待人走后便会自动关闭。

(3)设置相应的代码:setmode(mode)代表的是命名方式。其中,mode共有两个数值,BCM是指程序可以根据GPIO号寻找相应的针;BOARD则是根据物理位置针脚号探寻GPIO针。Mode参数将对后续output函数中的参数取值产生较大影响;.setup代表的是传输,可将标号为channel的针设置成state的模式。Channel便是利用针对相应指令进行传输。

(4)明确程序部署流程。首先,将显示器与键盘等硬件与树莓派相连,开启树莓派;其次,启动文本编辑器,将以上代码输入其中,并将存储文件命名为LED.py文件;输入指令开始执行LED.py程序;最后,要想达到LED灯开灯闪烁效果,可通过增加代码的方式拓展实验,可将时间模块引入其中,对闪烁时间进行控制,利用秒数函数设置灯光开启与休眠的时间,且是以秒为单位,支持小数如0.5 s休眠时间,即灯光的休眠时间为500 μs。

2.4 系统实现

在采集模块实现方面,可通过红外传感器检验是否有人经过。当其人体发出波长为10 μm的红外线,且被传感器感应到时,输出口可保持高电平。待延时结束后,可重复触发。如若再次感应到红外线,则仍然保持高电平,在延时完毕后传输口改为低电平。在本文研究的系统中,为了确保信息采集的合理性,当探测器感应到人时,便可开启LED灯,这样便可减少无效信息的采集,节约存储空间。

在分析模块实现方面,该模块的功能在于检验人员与传感器之间的距离。在该设计中采用特征算法,在PCA基础上对主成分进行分析,即在高维空间中映射到低维空间,将数据中的关键内容提取出来。该算法的应用流程为:首先,对训练数据进行读取,对平均距离进行计算;其次,对协方差矩阵与特征矢量进行计算;最后,将待识别图像投入特征空间,如若距离相对较小则阈值识别成功。在该模块中,先对人员图像进行训练后构建验证模型,在采集模块中获取相应的数据信息,通过特征算法检验人员与传感器间的距离是否与事先设定相符,如若相符则LED灯亮起,如若不相符则不会亮,以此达到节能环保的效果。

在控制模块实现方面,本系统主要采用的是树莓派3B,以SD卡为内存,带有音视频插孔、蓝牙模块与10/100以太网接口,可提供充足的接口,虽然体积较小但功能丰富,适用于系统平台的开发与LED灯的开关与闪烁。在系统测试中,在对相关指标进行设置后,对人员与感应设备间的距离进行训练。通过模拟人们在灯前经过,判断LED灯是否能够准时亮起。测试结果表明,红外探测模块具有较强的准确性,能够实现对LED等的开关控制[3]。

3 结语

综上所述,在本文研究的系统中,采用简易方式将树莓派与传感器接通,再在Python编程语言的支持性便对传感器数据进行检测,由此实现对灯光的开关控制。通过本文研究可知,红外探测模块具有较强的准确性,能够实现对LED等的开关控制。在信息技术教育中,将树莓派与Python结合起来,更易在计算机技术教育中推广应用。

猜你喜欢
编程语言树莓红外
网红外卖
压力-体积转换在CFC编程语言中的实现解析
闪亮的中国红外『芯』
Java编程语言的特点与应用
基于树莓派的骑行智能头盔设计
TS系列红外传感器在嵌入式控制系统中的应用
浅谈不同编程语言对计算机软件开发的影响
基于树莓派的远程家居控制系统的设计
基于快速递推模糊2-划分熵图割的红外图像分割
响应面法优化红树莓酒发酵工艺