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

2018年12月18日 05:37来源于:科技创新与应用

李庆光+++覃晓+++黄芳贵

摘 要:结合单片机STC89C52控制终端,以OpenWRT为系统的RT5350智能路由器,进行智能家居的系统设计。该系统以RT5350智能路由器为核心,对该路由器进行OpenWRT系统移植并在路由器上构建服务器应用程序,通过因特网网络的功能,以求完成家庭内部环境的监测及内部家居设备的监控。

关键词:智能家居;OpenWRT;RT5350;智能路由器;STC89C52

1 概述

本次设计采用宏晶公司推出的STC89C52RC作为主控MCU,通过网络访问路由器,再通过路由器的串口与MCU进行通讯。OpenWRT作为一个开源Linux嵌入式系统平台,适用于路由器,且操作便捷。本次设计通过对该系统的学习,设计出了结合STC89C52、OpenWRT智能路由器、可控终端的智能家居系统,进而实现便捷的智能家居。

2 系统整体设计

本次系统设计采用EasyMIPS-RT5350开发板并装载OpenWRT系统作为智能路由器,EasyMIPS-RT5350外置接口配置丰富,拥有多个串口、I/O和USB口,引脚还可以通过信号指示。经过该模块公司多年研究,其技术已越发成熟、功能日渐丰富,充分满足智能路由器的研究开发。

系统工作流程图如图1:

3 硬件设计

3.1 智能路由器设计

本次创新设计,主要信息传递核心设定为智能路由器。综合考虑可行性、成本、时效性等因素后,决定采用RT5350开发板作为智能路由器的硬件平台,Openwrt作为路由器嵌入式系统。Openwrt系统的固件开发主要平台为安装Ubuntu12.04系统的VMware虚拟机,在此系统完成固件的编译以及软件包的制作以及集成。将制作成功的Openwrt固件通过tftpd32和SecureCRT软件烧录至路由开发板完成智能路由器的制作。制作完成后电脑PC端或者APP通过WIFI连接到智能路由器,智能路由器通过串口线与单片机进行通讯,再由单片机通过I/O口控制相应外部设备完成控制。以下为智能路由器各个模块功能的详细介绍。

3.1.1 RT5350

RT5350作为本次设计的硬件平台主控芯片,基于设定的Openwrt固件,只要使用者提供很少的外部設备就可以实现性价比非常高的2.4GHz 802.11n无线产品,由于其具备802.11n无线技术,可以完成大范围高吞吐量的网络要求。

3.1.2 Openwrt

Openwrt是本次设计路由器系统,是路由固件行列的一匹黑马,作为完全开放式的小型Linux系统,源代码完全开放,更易于我们的开发,可比喻为一部智能手机,而且其开放的软件包丰富多样,路由器只需安装OpenWRT系统之后,将可以按照自身需要,安装、卸载软件包,以求满足我们的功能需要,升级方便快捷。综上所述,本次路由开发,决定使用OpenWRT作为路由器基础固件,在此过程中,又刷入了视频检测、数据无线传输等软件包,以求实现基础要求,Make menuconfig对固件设置,令其满足路由板硬件要求。Make V=99,进行固件编译,首次编译时将花费较长时间,编译成功后通过tftpd32烧写路由固件。而路由器硬件则选择RT5350开发板,并给板子添加1602LCD显示屏、无线传输模块等外部设备,组成本次设计使用的智能路由器硬件条件。

3.1.3 设置路由器IP地址

由于研究设计过程中,我们也会涉及到其他路由器的实用,而路由器的IP地址一般都为192.168.1.1,以防开发板与其他路由器IP重复,需要修改开发板IP地址才能进行深入的研究。

3.1.4 路由器添加Web界面

在完成路由器基础固件的搭建后,还需要添加Web界面至自己的开发板,添加时需要将LuCI配置入Openwrt源码中,进入Openwrt顶层源码目录为第一步,紧接着输入Make menuconfig指令。

在弹出的可视化配置窗口中对其进行正确配置,并打上*给系统配置上Web界面,紧接着再次make V=99编译,编译完成后再次将固件通过Tftpd32烧写入开发板,之后就可以通过浏览器访问路由器Web界面对路由器的详细信息进行了解了。

3.1.5 开发板与Windows互传文件。作为智能路由器,我们有时需要登录路由器查看或移动其中的软件包,而移动文件我们需要用到SSH服务器。SSH建立在应用层和传输层基础上的安全协议。SSH是相对其他网络协议更可靠的网络协议,旨在提供安全协议进行远程登录会话和其他网络服务。SSH最初是UNIX系统上的一个程序,后来迅速扩展到其他操作平台。使用正确时,可以弥补网络漏洞SSH。SSH客户端为多个平台。几乎所有的UNIX平台-包括HP-UX,Linux和AIX,Solaris和Digtal UNIX,IRIX等平台,都可以运行SSH。

3.2 终端模块

3.2.1 温湿度传感器

为了测量室内的温湿度,使用的传感器为DHT11,该传感器包括一个电阻式湿度测量装置和一个NTC温度测量装置,以及与一个高性能的8位微控制器相连。由单片机微处理器简单的做出电路连接之后能够局部湿度和温度的实时采集。

3.2.2 人体红外传感器

热释电红外传感器是一种能检测人或动发射的红外线而输出电信号的传感器。热释电晶体已广泛用于红外光谱仪、红外遥感以及热辐射探测器,它可以作为红外激光的一种较理想的探测器。

4 软件设计

4.1 STC89C52单片机控制程序编写

本次主控MCU的控制程序所用的编程平台是Keil uVision4,Keil uVision4是凯尔德国公司生产的51系列兼容单片机C语言软件开发系统,采用传统的C语言的语法,通过与汇编语言比较,C语言的功能,结构,可读性、维护上优势明显,很容易使用,而且还大大提高了工作效率和降低项目开发周期,他还可以嵌入汇编,你可以在关键的位置嵌入,接近编译程序所能达到的效率。

4.2 Openwrt智能路由器固件编译

本次Openwrt智能路由器所用的固件编译平台为虚拟PC机Ubuntu 12.04. Ubuntu是一个基于Linux的桌面操作系统,它的名字来自南部非洲祖鲁语“的ubuntu”一词,意思是“人性化”,“我的存在是因为我们的存在”,是一个传统的非洲价值观,类似中国社会的“仁”。Ubuntu不仅是免费的还很稳定。

参考文献

[1]李磊.利用CGI程序实现动态的Web的方法[J].科学技术与工程,2009,9(6):1611-1613

[2]张小军.嵌入式系统在家庭网关中的应用研究[D].辽宁工程技术大学,2011.

[3]张振生.家庭网关及其关键技术研究[D].西安电子科技大学,2002.

 
免责声明:

     本文仅代表作者/企业观点,与【名品家电网】无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅供读者参考,并自行核实相关内容。

     【名品家电网】刊载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

      如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行;新闻纠错: lwl#youngchina.cn

关键词: 路由器 家庭 文章