APP下载

基于WEB的智能家居系统设计

2019-01-08唐卫斌宋亚峰

商洛学院学报 2018年6期
关键词:浏览器应用程序智能家居

唐卫斌,宋亚峰

(商洛学院电子信息与电气工程学院,陕西商洛 726000)

智能家居是以住宅为平台,利用网络通信、自动控制、安全防范、综合布线、音视频等技术将有关家居生活的设施进行集成的高效住宅设施与家庭日常事务管理系统,能够提升家居舒适性、便利性、安全性和艺术性,打造环保节能的居住环境[1]。智能家居虽实现了人性化、舒适便捷的全新家居生活理念[2]。但随着人们生活水平的不断提高和住宅智能化的迅速发展,智能家居系统功能更加完善,涵盖范围更广,性能更加优化,系统也越来越复杂。互联网、云服务的迅速发展为智能家居提供了技术上的支持,构建智能家居系统,通过它控制和管理家居设备和外部通信,并集数字化、智能化、网络化于一体,已成为建设新型住宅的一个研究热点[3]。本文主要是对基于WEB的智能家居系统的研究和设计。在智能家居系统中实现的基本功能是:通过WEB浏览器登陆家庭IP实现室内环境状态信息查看、设备控制管理、防盗功能以及摄像头实时监控,并且可在系统的LCD上显示环境信息。

1 系统总体方案设计

1.1 系统总体结构

系统总体结构主要是用户在PC或手机上通过浏览器登陆IP地址访问WEB服务器上的HTML页面,点击相应界面按钮通过boa服务器去获取家居系统状况信息以及控制相关家居系统。具体系统总体结构如图1所示。

图1 系统总体结构图

1.2 系统硬件结构

整个系统分为Cortex A9 Exynos4412处理器模块、DDR 1G RAM、2G Emmc flash 存储、RGB接口LCD模块、USB接口Camera模块、温湿度模块、电机驱动模块、继电器模块、灯光控制模块等,如图2所示。

图2 硬件结构总体框图

其中Exynos 4412处理器模块采用友善之臂开发板Tiny 4412,LCD触摸屏采用RGB接口和Exynos 4412相连,温湿度模块采用ds18b20和dht11,Camera为USB接口可直接插在底板上。

2 系统硬件设计

2.1 嵌入式处理器主控板

Exynos 4412是32位ARM V7架构低功耗,性能优化Cortex-A9系列四核三星微处理器,Cortex-A9处理器基于最先进的推测型八级流水线所设计的,支持64位的NEON操作,32位的数据运算,能够很好地提升系统音频、视频、图像处理的性能,支持DDR3内存访问。Exynos 4412主频 1.5 GHz,128/64 位内部总线结构,32/32 KB的数据/指令一级缓存,1 024 KB的二级缓存,可以实现每秒2亿指令集的高性能运算能力[3]。

Tiny 4412是由友善之臂研发的高性能四核Cortex-A9核心板。它采用三星Exynos 4412作为主处理器,运行主频可以高达1.5 GHz。具有丰富的硬件资源[4]。

2.2 其它模块

LCD显示模块采用INNOLUX S702 7寸标清电容显示屏,分辨率是800×480,显示模式常白,透射,RGB接口与主控处理器exynos 4412相接,并且支持电容触摸,支持5点触控[5]。

Camera模块采用最经典稳定的中芯微301P方案,色彩逼真。速率30 fps·s-1,硬件像素30万,USB接口。感光器件是高品质CMOS 1/3 inch,支持 VGA、CIF 格式。

温湿度传感模块中的温度传感器选用DS18B20进行温度数据采集,并且此温度传感器采用单总线数据传输,精度高、电路连接比较简单。湿度传感器采用DHT11温湿度传感器进行湿度数据采集,考虑到精度不高,用它只是探测湿度。但其也具有响应快,抗干扰性强的优点。

ULN2003是一种高电流驱动器阵列,多芯片,智能仪表,PLC,数字输出卡控制电路,可直接驱动继电器等负载。输入5V TTL电平,输出可达500 mA/50 V[6]。本系统采用ULN2003来驱动4相8拍的步进电机模拟窗帘的升降。

本系统防盗功能主要采用基于红外技术的HC-SR501自动控制模块,热释电元件对人体发出特定波长10 μm左右的红外辐射比较敏感,而且灵敏度较高,可靠性强,模块本身不发任何类型的辐射,器件功耗比较小,隐蔽性好,价格低[7]。

本系统中为了控制家用220 V用电器,这里采用带光耦隔离的继电器模块。常开接口最大负载:交流250 V/10 A,直流30 V/10 A,采用贴片光耦隔离,驱动能力强,性能稳定[8]。

3 系统软件设计

3.1 linux设备驱动

设备底层驱动采用platform平台总线机制,能够实现对设备所占用的资源进行统一管理。其中DS18B20、DHT11、步进电机等外接传感器采用混杂设备的方式实现驱动。本系统实现了9种设备的底层驱动。

3.2 嵌入式WEB服务器

选用一些运行占用内存少并且能够处理少量用户请求的WEB服务器如boa。boa诞生于1991年,是开源的,能耗很小,内存占用非常少,是使用最多的嵌入式WEB服务器。广泛应用在嵌入式设备中,功能较为强大,支持CGI、HTTP认证等,可以配置成SSL/HTTPS和IPv6,单任务程序处理快速,支持虚拟主机功能[9]。

CGI全称通用网关接口(Common Gateway Interface),它是运行在服务器上的一段程序,提供同客户端HTML页面的接口,将网页和WEB服务器中的执行程序联系起来,它把HTML接收的指令传递给服务器,再把服务器执行的结果返还给HTML页。

服务器和CGI程序之间是通过标准输入输出进行数据传递的,在此过程同时需要配合环境变量来实现。首先服务器将URL指向一个应用程序(这个应用程序即CGI程序 *.cgi),然后服务器为应用程序执行做准备,执行应用程序后读取标准输入和相关环境变量的值,最后应用程序进行标准输出[10]。

3.3 系统软件设计方案

软件系统采用B/S模式即浏览器服务器模式,它是对C/S模式应用的进一步扩展和改进,主要包含三个部分:浏览器、WEB服务器和数据库服务器。本系统暂且没有使用数据库,B/S模式最大的特点就是操作简便,用户的主要工作都是通过浏览器来实现。维护时也很方便,只需修改服务器端的页面,所有用户即可实现同步更新。具体软件架构如图3所示。

图3 软件架构图

系统软件流程图主要介绍了应用层创建多线程并接收消息队列后调用内核各模块驱动的流程图,如图4所示。

图4 系统软件流程图

4 系统测试结果与分析

通过浏览器登陆智能家居网关IP地址192.168.1.186可见到注册登录页面,进入系统控制主页面,如图5所示。

通过主页面可以看到,智能家居系统的五大功能窗帘控制(curtain)、环境状况监测(environment)、用电器控制(application)、灯光(light)、视频监控(camera)和安全监控(safety),点击相关按钮可控制和获取相应信息。通过测试以上功能均正常工作。

本文根据智能家居系统的具体需求,选择了合理的嵌入式硬件开发平台,搭建了系统的软件开发平台和环境,包括linux 3.5内核的移植和编译、根文件系统的搭建等工作,再根据系统外设传感器,实现了linux底层硬件的驱动,最后设计了系统的整体结构和软件框架,在嵌入式WEB服务器boa的平台上,通过设计开发CGI程序与应用层进行数据通信进行视频监控和管理,最后还实现了在WEB界面上对窗帘、灯、防盗等设备的控制功能和获取环 境信息的功能。

图5 系统控制主页面

5 结论

对搭建的智能家居系统进行多次重复实验,结果表明,采用多种智能传感器及继电器,实现了多种家用电器和设施的智能控制。借助基于Linux的嵌入式系统设计实现的软件开发平台,使得该系统能实时显示当前状态,监控室内状况,且具有较低的待机功耗。由于合理的软硬件结合,该系统体积小且便于安装调试,具有性能强、灵活可扩展的优点,因而有较强的应用和推广价值。

猜你喜欢

浏览器应用程序智能家居
基于PLC的智能家居控制系统研究
删除Win10中自带的应用程序
反浏览器指纹追踪
谷歌禁止加密货币应用程序
基于Zigbee的无线通信技术在智能家居中的应用
关于智能家居真正需求的探讨
环球浏览器
智能家居更贴心
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序