吴义黄+唐丹宏+郭坤+朱赟浩+黄飞鸿
摘要:针对科技的迅速发展、人民生活质量的提高、智能家居产业的迅速发展,对智能家居控制系统进行分析和研究,提出一种低成本、易扩展,适用于家庭应用的家居控制系统。设计出一种基于树莓派的智能家居控制系统。利用树莓派、Cortex-M0模块、ZigBee模块、GPS和GPRS模块来实现家居的控制。该系统最终实现了微信控制,移动通信,北斗定位和树莓派协同工作的智能家居多网系统。结果表明:该系统硬件设备简单、成本较低、系统可靠、易于扩展。
关键词:智能家居;树莓派;Linux;定位;传感器
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)31-0208-03
智能家居是在传统住宅的基础上实现家电信息数字化、网络化,设备自动化,并实现了管理、系统、结构的一体化,从而构建了新型的舒适、便利、高效、安全、环保的家居环境。利用先进的计算机技术、网络通讯技术、综合布线技术,将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,实现“以人为本”的全新家居生活体验。
我国的智能家居行业兴起于20世纪90年代后期,以上海、广州、深圳等一线城市为典型并逐渐向二三线城市发展。随着科技的进步,网络化进程的加速,信息化建设也得到了广泛的普及。目前我国家庭拥有Internet入网设备的比例达到70%,而一线城市有50%的住宅将实现智能化。国家设立信息网络技术体系研究及产品开发重点专项项目以及家庭信息网络技术委员会等措施也将加速我国的家居智能化的进程。
本系统进行了以下的创新,它是一种基于树莓派的智能家居多网系统。通过在树莓派中搭建Linux操作系统,并运行智能家居控制程序,形成主控系统,实现家居智能化管理,同时为了达到智能控制功能,我们还设计了定位系统、传感器系统两大系统来辅助主控系统。定位系统是用来实时收集家居主人位置信息,主要跟随家居主人随身移动,使得主控系统可以根据家居主人是否在家中作出智能控制。传感器系统则用来接收和发送家居信息。
1 系统的主要功能和总体结构设计
我们设计了一个在搭载着Linux系统的树莓派上建立一个智能家居主控系统,同时协调控制基于Cortex-M0的传感器子系统和定位子系统,以此建立一个家居智能化系统,系统通信使用ZigBee和3G通信的方式,系统控制则通过微信的方法進行控制。
主控系统可以实现远程监控功能,同时建立微信端提供用户交互界面,使得用户可以给传感器系统发送控制命令和接收传感器所采集到的数据,让家居主人可通过微信访问来查询、控制智能设备。
传感器系统分为控制端和采集端,控制端可接收来自主控系统的控制命令,实现智能设备的控制,在我们的设计中可控制小灯的开关和风扇的开关,采集端用来采集各传感器数据,例如温度数据、湿度数据等,最终显示到主控系统中的微信页面上。
定位系统主要提供家居主人的实时位置信息,并通过Internet传送到阿里云服务器端,最终主控系统会根据家居主人的位置信息来实现一些自动化的控制,在我们的设计中家居主人的位置一旦出现在家半径500米内,即可触发传感器系统中的报警器。
2 系统的硬件设计
硬件设计介绍了本系统中主控系统、传感器系统、定位系统的硬件模块选择以及硬件连接。下文在介绍时将先给出三大系统的总体硬件设计,然后分别介绍所选用的硬件模块
2.1 主控系统硬件设计
主控模块采用树莓派作为主控系统,外围协调一个USB摄像头作为监控,同时接上ZigBee与传感器模块进行控制通信。Raspberry Pi作为主控系统有以下的优点:1.设计为树莓派选择搭载Raspbian系统,它相对于小巧的arch Linux ARM系统更加完善,因此其镜像文件体积也比较大。它本身自带ssh,免去了复杂的ssh移植过程,而且可以运行C、C++、JAVA和Python等程序,为本系统接下来所编写的代码提供便捷的运行环境;2.设计选用的是ARM+Linux+Internet的模式,对此树莓派可以出色地实现这些功能,硬件的简化又恰好诠释隐蔽的特点;3 .软硬件可裁剪的嵌入式系统。我们选用中兴微zc301USB的Linux免驱摄像头,通过树莓派的USB 2.0接口与USB摄像头模块相连,即可实现USB摄像头与控制平台的数据连接和交换。USB摄像头主要用来采集数据图像,存储至树莓派中,并对数据帧中的数据进行压缩解码,我们还选用了ZigBee芯片为TI CC2530F256,将此芯片通过USB串口与树莓派进行连接,即可通过树莓派编程驱动ZigBee模块工作,与传感器系统中的ZigBee模块进行通信,以达到主控系统控制传感器系统工作的目的。
2.2 传感器系统硬件设计
传感器系统采用Cortex-M0来协调ZigBee与各个传感器(温度传感器、红外接收发送传感器等)相互之间通信。当主控系统通过ZigBee发送或接受信息,传感器系统中ZigBee将接收到控制信息反馈给Cortex-M0,最终通过Cortex-M0去控制各个传感器模块。
2.3 定位系统硬件设计
定位系统通过采用Cortex-M0来协调GPRS模块与GPS模块相互之间通信。当GPS模块采集到位置信息反馈给Cortex-M0,Cortex-M0去控制GPRS模块将位置信息通过Internet传输到阿里云服务器。
2.3.1 GPS模块
本系统选用的GPS模块为和芯星通的UM220-III。该芯片主要是为车辆监控和导航、气球探空等应用而设计的北斗/GPS双系统模块。UM220-III采用和芯星通完全自主知识产权的低功耗GNSS SoC芯片,是目前市场上尺寸最小的完全国产化的北斗/GPS模块,其优点是集成度高、功耗低,非常适合对尺寸、功耗要求高的北斗规模应用。
2.3.2 GPRS模块
本系统选用SIMCOM公司生产的SIM900A系列开发板,本开发板上的SIM900A模块主要用来提供3G功能,其具有标准AT命令接口,可以提供GPRS數据通信、语音通话、短信手法等功能。SIM900A模块用途较为广泛,包括智能电表、车载通信、安防监控、无线POS、无线医疗等。通过AT指令就可以驱动SIM900A工作,是对SIM900A模块实现相应的功能。该开发板使用串口与外部进行连接,通过给串口发送相应的AT指令就可以控制SIM900A模块实现相应的功能
3 系统的软件设计
3.1系统平台的搭建
软件设计将主要介绍主控系统的软件设计。首先将对树莓派所搭载的操作系统进行介绍,然后是介绍主控系统所需搭建的服务器,最后详细介绍主控程序。
3.1.1 Raspbian操作系统简介
Raspbian的基础是Debian操作系统。 Raspbian拥有以下几个特点:更快的网页浏览速度;针对树莓派的硬件,对内核和应用程序进行优化;优化了ARMV6的memcpy()和memset()程序;开源,更新换代及时;支持多种硬件平台,开发工具丰富。
3.1.2 微信公众平台的搭建
微信公众号:微信公众号是开发者或商家在微信公众平台上申请的应用账号,该帐号与QQ账号互通,通过公众号,商家可在微信平台上实现和特定群体的文字、图片、语音、视频的全方位沟通、互动 。形成了一种主流的线上线下微信互动营销方式。
我们主要使用了微信平台的开放API接口,按照微信官方的给定的方式进行调用。最后将树莓派作为我们的微信公众号的挂载服务器,以提供稳定的运行环境。
3.1.3 视频服务器(MJPG-streamer)
MJPG-streamer是通过从Webcam摄像头采集图像数据,并以视频流的方式通过IP网络将其传输至网络浏览器。用户可以通过手机和PC等平台通过浏览器打开视频流。MJPG-streamer利用某些Webcam的硬件压缩功能来降低服务器内核CPU的消耗。
MJPG-streamer提供一个Input-plugin插件来产生Jpeg格式图片并复制到内存,同样,MJPG-streamer提供众多的Output-plugin插件将图片上传到网络浏览器,而它自身只充当一个中间者的角色。
4 系统测试
4.1 启动服务器
4.2 微信端服务界面
4.3 传感器系统测试
当在家居信息页面,选中小灯状态为开,点击确定时,传感器模块上的小灯便会打开。小灯亮,表示传感器模块测试成功。
当选中蜂鸣器状体为开时,蜂鸣器产生响声,测试成功。
当选中风扇按钮大于0时,风扇便会转动。0,1,2是调节风扇转速,测试成功。
4.4 定位系统测试
当GPS一旦定位到位置信息,系统会通过GPRS将位置信息通过网络传输到阿里云服务器上,服务器中会将会与百度鹰眼进行交互,最终在百度鹰眼上形成行车轨迹,图8显示了行车轨迹。并且当车位于途中红色1号点时,传感器系统中蜂鸣器开始报警(地理围栏中心设定在1号点半径范围500米内)。
5 结束语
本文设计了一种基于树莓派和ZiggBee的嵌入式智能家居系统,利用ZigBee网络以及传感器控制电路进行家庭设备信息的采集和状态控制,并且可以将设备状态信息更新给互联网上的服务器以及发送到指定的用户,用户可以通过微信端对家居系统进行远程操控或者查看家居信息。本系统功能强大、功耗低、实现简单,达到了对家庭家居设备的智能化管理和远程监控目的,具有广阔的应用背景。
参考文献:
[1] 卜益民.基于物联网智能家居系统技术与实现[D].南京邮电大学,2014.
[2] 杨亚锋.基于C8051F005的智能家居室内控制系统设计[D].长安大学,2012.
[3] 刘曦.智能家居手机遥控器的设计与实现[D].东南大学,2012.
[4] 吕长飞.智能小区管理控制系统的设计研究[D].河北农业大学,2008.
[5] 丽娜.嵌入式系统在智能家居中的研究与实现[D].大连海事大学,2012.
[6] 李倩.基于ZigBee的智能家居网络组网设计及节能技术研究[D].哈尔滨工业大学,2013.
[7] 崔宝才.基于Linux的智能家居系统设计与实现[D].南开大学,2014.
[8] 陈婵.基于嵌入式Linux的远程数据采集与发布系统[D].华中师范大学,2012.