基于树莓派的智能家居系统

2016-03-13 18:02松原职业技术学院张永安
电子世界 2016年15期
关键词:树莓窗帘智能家居

松原职业技术学院 张永安



基于树莓派的智能家居系统

松原职业技术学院张永安

随着信息化、智能化的发展,智能家居这一概念逐渐成为了主流名词。本文是以树莓派为载体和中继的智能家居系统作品设计。在作品中,我们围绕树莓派开发板,运用嵌入式系统,基于Linux系统,运用Python语言,从而实现手机控制灯的开关、窗帘的升降和GPIO口的使用,收听豆瓣FM,以及报警系统等等。

树莓派;智能家居;Linux;可控灯;可控窗帘;可控电源;可控FM;报警系统

前言

家居自动化的目标是让居家生活更加充满乐趣和效率,而智能家居技术正在通过引入“智能化”让这一切变为现实。充分利用了树莓派的开源特性,选择Linux作为底层系统。使用Python语言,充分利用了其便捷的语言特性。树莓派是一个完美的中继点,运用无线网络技术,实现了手机远程控制电灯,遥控窗帘,遥控开关从而给电水壶供电烧水,播放音乐来实现智能家居系统的娱乐功能,并实现报警功能,体现智能家居系统的安全性。

基于树莓派的智能家居系统开发充分利用底层系统的开源性来完成每一个细微的任务,将每一个细微的功能交互成一个整体的网络,达到智能化的要求。

一、走进树莓派

树莓派,是只有信用卡大小的卡片式电脑,基于Linux。开发过程中,选用树莓派的B型版,一款基于ARM的微型电脑主板,包括了一个ARM1176JZF-s 700Mhz 的处理器,一块Video Core IV GPU, 512M RAM,以SD卡为存储系统,有两个USB接口和一个网口,可连接电源、键盘、鼠标和网线,同时拥有HDMI视频输出接口,整合在一张仅比信用卡稍大的主板上,具备PC的基本功能。 树莓派外部接口丰富,处理器、存储设备不够强大,但其价格低廉,为我们提供了一个理想的嵌入式开发平台。

二、智能家居系统

1.灯光模块

(1)电脑命令行控制

将灯的正极接在树莓派的Pin 22(GPIO 25)上,负极接Pin 6(GND),使用python语言控制GPIO 25电平的高低,进而灯光的亮灭。

(2)开关控制

开关是对树莓派输入信号,因此要使用GPIO的输入功能,即将灯的正极与树莓派的GPIO 25相连,负极与地相连,同时,将开关的一端与Pin 1(3.3V)相连,开关的另一端与pin 18(GPIO 24)相连。在中断方式下编写python程序。使用时,运行ledstatus2.py,即可利用开关控制灯的亮灭。按下开关时,灯亮,再按一下开关,灯灭。

(3)使用WEBIO控制

用浏览器打开IP地址访问管理界面,若树莓派的ip地址为192.168.137.13,则打开http://192.168. 137.13:8000/webiopi/

(4)手机终端控制

通过手机终端软件来控制灯的亮灭

2.窗帘模块

本模块采用步进电机驱动,通过控制步进电机的转动来控制窗帘的升降。通过GPIO口控制步进电机的转动方向以及速度。

步进电机采用的驱动芯片是ULN2003A,因此可用ULN2003A设计一个驱动板,驱动板上有4个输入口:IN1~IN4,这4个口用来接树莓派的4个GPIO口,我们将树莓派上的GPIO 17、18、21、22口分别接到步进电机驱动板上的IN1、IN2、IN3、IN4口,利用Pin 2给步进电机提供5V电源。依次把驱动板的IN1~IN4置为高电平,就可以驱动步进电机,也就是说,要把树莓派的4个GPIO输出口依次置为高电平。

通过终端发送运行指令,来完成一次拉开或关闭窗帘的动作。

3.电水壶模块

利用GPIO接口控制电水壶开关的通断。当GPIO接口为高电平时,电水壶开关打开,电水壶的电阻加热,电水壶执行烧水功能,利用DS18B20检测温度,当温度达到100℃时,GPIO接口自动变为低电平,电水壶开关自动断开,停止烧水,执行保温功能,并启动报警功能,提醒主人水已烧开。当GPIO接口为低电平时,则不执行烧水功能。

4.音乐模块

本模块借助GitHub上的一个开源项目修改而来,可以实现利用豆瓣FM播放音乐,操作简单,把树莓派作为一个低功耗音乐电台使用,为家庭生活增添欢乐气息。

5.报警模块

本模块采用人体红外感应模块HC-SR501,本模块的核心器件是人体红外热释电传感器,将红外热释电传感器与蜂鸣器连成如下电路:

运行python程序后,红外感应模块每隔一定时间检测,如有人靠近,蜂鸣器则发出报警声,并在屏幕打印提示有人靠近,人若离开,则停止鸣叫,屏幕上显示没有人靠近。

6.远程控制

鉴于现在市面上Android手机比较普遍,在手机端远程控制方面,我们选择Android手机作为实验平台。通过树莓派 Command 和RPi_Automation手机端APP,可以轻松实现手机端对树莓派GPIO电平的控制,并且实现一键发送预先设置好的指令,以完成复杂任务。并且这些APP具有可编程性,可以根据自身需求来修改指令,从而满足不同人的不同需求。

通过手机端,可以远程控制电灯的亮灭,控制窗帘拉开或者关上,播放豆瓣FM,或者是控制热水壶烧水,从而大大方便了使用者的生活,解放了双腿,使生活更智能化。

三、软件源

树莓派搭载Debian系统形成的Raspbian系统,是官方推荐树莓派的首选操作系统。Python语言具有完全免费、面向对象、简单易学、可移植性强等特点,并且可实现对硬件底层的访问和控制,是基于树莓派控制硬件的不二选择。

四、总结

本文充分展现了家居智能化的概念,总体来说,我们成功搭建了一个智能家居模型和软件平台。在硬件方面,我们做到了以树莓派为控制器,以电脑和手机等不同终端的控制方式,成功实现了对灯光、窗帘、电水壶的控制,并且实现了音乐播放功能和报警功能,将智能家居的理念做到了实处。在软件方面,我们以python语言为工具,以Linux系统和树莓派为平台,通过编写python程序成功实现了对硬件的控制。实践证明,我们的理论是正确的,可行的。

[1]陈建皓.树莓派入门指南[M].北京:人民邮电出版社,2014.

[2]Brendan Horan. 树莓派树莓派实作应用[M].北京:人民邮电出版社,2014.

[3]李龙棋,方美发,唐晓腾.树莓派平台下的实时监控系统开发[J].闽江学院学报,2014(05).

[4]郑世珏,徐虹.基于树莓派的远程监测系统的设计与实现[J].微型机与应用,2014(19).

[5]Simon Monk.树莓派 Python编程入门[M].北京:科学出版社,2014.

[6]https://github.com/turingou/douban.fm.

[7]http://shumeipai.nxez.com/2015/02/09/run-python-scriptwhen-the-raspberry-pi-start.html.

猜你喜欢
树莓窗帘智能家居
基于PLC的智能家居控制系统研究
赶路人
基于树莓派的骑行智能头盔设计
基于Zigbee的无线通信技术在智能家居中的应用
基于树莓派的远程家居控制系统的设计
巧做窗帘
相思湖
关于智能家居真正需求的探讨
响应面法优化红树莓酒发酵工艺
智能家居更贴心