基于Cortex A8的智能家居控制系统

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:ycy111
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着现代化水平不断提高,人们对智能要求也越来越高。为了提高家居的智能化控制,设计一种使用计算机无线网络基于CortexA8的智能家居控制系统。该系统以CortexA8和ZigBee为核心,采用WEB服务器以B/S进行控制和数据采集,通过移植Linux系统,移植sqhte数据库,移植驱动程序实现。
  关键词:智能家居;ZigBee;无线传感网络;监控
  中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2017)14-0193-03
  物联网在人类生活中有着广泛的用途,但同时物联网的发展进展缓慢,影响物联网发展的一个重大因素就是它非常灵活,在系统中存在大量处于不同网络的设备,这些处于不同网络的设备相互通信很困难,因此设计一个物联网的通用控制平台尤为重要,通过此平台和网络监控可以实现智能家居控制系统,在本文中设计此平台并通过该平台就实现家居中常用设备的控制,除此以外还能进行温湿度采集、有毒有害气体的检测等,在实际应用中有着广泛的应用。
  1系统简介
  该系统是一个智能家居控制通用平台,考虑到设备间的兼容性,在系统中采用B/S方式进行设计。因此系统结构主要由底层感知层,核心通信层和应用业务层这三层组成。
  底层感知层是系统最终被控制或者采集数据的层次,包括各种传感器和执行器。核心通信层是系统中唯一不变的层次,它为整个系统构建框架,在这个层次中包含多个网络服务器程序:隧道服务器、反向代理服务器、SN分配服务器、数据库服务器等。应用业务层是根据开发人员的实际需求,开发出相应的应用程序。由于系统采用B/S的方式,因此系统具有很大的延展性和可扩展性。在这一个层次中,可以使用多种编程语言实现。
  2系统工作原理
  本系统控制原理是采用嵌入式Linux WEB服务器,通过CGI程序向Linux驱动程序写入命令字,再通过Linux驱动程序控制ARM的GPIO的高低电平来控制电磁继电器的方式来实现。传感器则是单片机通过I/O收集来自传感器的数据、通过串口发送到ARM开发板。步进电机的控制原理则是ARM发送命令数据给CC2530,CC2530输出高地电平控制ULN2003步进电机驱动芯片。从而达到控制步进电机的目的。ARM开发板内移植有Sqlite数据库。收集的数据储存在数据库内。用于显示的CGI程序读取数据库里的值显示到HTML网页。嵌入式WEB服务器的登录认证是由CGI JS cookie配合完成的。
  由于IPV4的限制,使其它网络的用户无法访问位于本地局域网内部的WEB服务器,因此系统提供了能访问内网WEB服务器的反向代理程序。它是通过MAC地址对系统中每一个作为物联网网关的ARM开发板提供独一的sN编号,它可使其用户直接输入即可访问。整个系统通过移植linux系统,WEB服务器,Sqlite数据库和CCGI库实现。
  1)linux系统的移植
  采用天嵌公司TQ210开发板,这款开发板采用S5PV210作为CPU内核,它的架构是ARM Cortex-A8,可在其上移植好linux内核以及相应必要的驱动程序后就可以开始进行WEB服务器的移植。
  2)WEB服务器的移植
  市场上有很多的嵌入式WEB服务器,对于嵌入式WEB服务器基本要求是占用内存小,实时性高。对于我们的系统而言,必须支持CGI程序。比较好的嵌入式WEB服务器有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appweb和apache等。Apache是主流的WEB服务器但是占用内存多,开销很大。因此不适用于嵌入式WEB服务器。对比了其他服务器后,最终采用boa服务器,boa服务器占用资源很少,并且支持CGI。在www.boa.org上下载boa的源码,解压后进行交叉编译,然后再把boa的可执行文件可配置文件拷贝到开发板上,boa就可以开始运行。
  3)Sqlite数据库的移植
  Sqlite是一种小型的可用在嵌入式设备上的关系数据库。它主要是用来存储由传感器采集的数据。在www.sqlite.org上下载sqlite的源代码,解压后交叉编译,将可执行文件和库拷贝到开发板上即可。
  4)CCGI库的移植
  CCGI库是一个C语言库,用于C语言编写CGI程序的一个函数库,下载解压后用VIM打开Makefile文件,将里面的编译器改为交叉编译器即可。
  3核心通信层
  作为系统的核心,核心通信层为整个系统提供框架,为上层的应用业务层提供设备的控制和采集接口,同时也为底层的底层感知层提供平台支持。
  核心通信层可以划分为两个功能模块:一个是网络通信,它主要提供数据的传输,如隧道转发、SN分配、上层接口调用;另一个是嵌入式WEB服务器(采用B/S通信方式),它主要提供WEB服務和底层驱动程序以及安全认证,以便于数据的传输以及对底层感知层的支持。
  3.1核心通信层嵌入式WEB服务器设计
  系统采用B/S方式进行控制和数据采集,因此嵌入式WEB服务器是整个系统的核心,在实际项目中嵌入式WEB服务器实际上就是物联网系统的物联网网关。在本文中采用ARMlinux平台实现嵌入式WEB服务器。嵌入式WEB服务器结构图如图1所示。它主要通过网络将物联网网关(嵌入式WEB服务器)的端口转发客户端模块与云服务器建立隧道通信和反向代理服务。同时嵌入式WEB服务器提供WEB服务,收集来自协调器的数据后保存在sqlite数据中,再由CGI程序输出和控制。端口转发客户端模块将嵌入式WEB服务器转发到云服务器使得外网用户也能访问。
  3.2核心通信层网络通信设计
  通信设计是物联网中的核心。在本系统中,由于采用B/S方式进行通信,外网的客户端不能够访问内网的服务器,而物联网系统是一个分布式网络,它负责连接所有的设备,因此网络通信模块主要是解决这个问题。网络通信模块主要实现如下三大功能:SSH隧道转发,代理服务及SN分配。   1)SSH隧道转发
  因为嵌入式WEB服务器一般处于局域网内部,因此想要访问嵌入式WEB服务器必须依靠隧道转发技术,这种技术能让用户访问处于内网或者让其他的网络中的客户端进行访问。公网服务器会分配一个端口号,用于监听来自对嵌入式WEB服务器的请求。
  2)代理服务器
  在这个物联网系统中的代理服务器是一个反向代理服务器,启动隧道转发后,在公网服务器上就会有一个监听端口。这个端口是处于公网服务器的防火墙的内部的。为了数据的安全性因此必须用防火墙对数据进行过滤。反向代理服务器的作用就是将处于防火墙内的端口代理出防火墙外,这样一来有利于数据的安全性。在此系统中,反向代理服务器中常用的是Hap-roxy代理服务器,它将本地的嵌入式WEB服务器端口80映射到公网服务器上时,公网服务器程序会分配一个端口。此时这个端口为127.0.0.1:port,再由Haproxy反向代理出去,并且生成一个URL,这个URL就是嵌入式WEB服务器的控制链接。每一个嵌入式WEB服务器的URL不同,因为在实际应用中,可能存在多个嵌入式WEB服务器。
  3)SN分配
  在实际中系统中可能存在不仅一个嵌入式WEB服务器。这些不同的嵌入式WEB服务器控制和采集对应的执行器和感知器。SN分配的功能就是将不同的嵌入式WEB区别开,SN号在整个系统中独一无二,SN对应这一个嵌入式WEB服务器。SN分配的原理是端口转发。嵌入式WEB服务器进行端口转发时,服务器会分配一个端口号来进行监听WEB端口请求,而数据库对SN和端口号进行关联。服务器端程序流程和设备终端程序流程分别见图2和图3。
  4底层感知层
  TQ210与Zigbee通信采用串口通信。Zigbee CC2530电路图如图4所示。该系统中控制步进电机的原理则是CGI程序发送串口数据,Zigbee接收数据后,对命令进行解析,从而实现对步进电机的控制,而家居设备中的灯则是则是通过GPIO的高低电平来来控制电磁电器闭合实现其开、关状态。传感器则是由Zigbee收集数据,通过串口发生给TQ210。CGI程序通过串口收集到数据后,将数据存入数据库,再由用于显示的CGI程序,读取数据库中的数据,最后进行显示,从而实现所需功能。
  5应用层
  应用层为用户提供输入SN号的操作平台,并且注册用户名、已经通过用户输人的SN来跳转到对应的智能家居网关控制監控页面。
  在此系统中,应用层以网站形式呈现,而在核心层服务器已经生成好了页面的链接,该网站只需要根据用户输入的SN号跳转到对应的页面即可。
  6结束语
  本文实现了基于Cortex A8的智能家居控制系统,能对家居设备进行自动开、关,能通过步进电机实现对电扇的顺时针和逆时针旋转,还能对温湿度和气体进行检测,通过多次实验表明,此设计方案较好地搭建了智能家居控制平台,达到了预期效果,这些思路和方法在实际中都值得借鉴,在工业上也有很高的应用价值。
其他文献
摘要:高职计算机程序设计课程普遍存在“难教”“难学”的状况,翻转课堂将学习的主动权还给学生,节约了大量课堂时间,为改变程序设计课程的教学现状提供了可能性。基于翻转课堂的程序设计课程实施主要包括“课前准备与学习”和“课堂内化”两个部分。  关键词:高职;程序设计;翻转课堂  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)23-0059-02  随着信息技术的发展和教育
采用一种新的固相连接方法——刚性拘束热自压连接方法,对纯钛和Ti6Al4V(TC4)钛合金进行固相连接。通过不同加热时间刚性拘束热自压连接界面光学显微镜观察、元素成分能谱分
通过高温热压缩实验研究喷射成形7055铝合金的热变形行为,实验温度为340-450℃,应变速率为0.001-1 s^-1。将Johnson-Cook模型、改良Fields-Backofen模型和Arrhenius模型应用
通过混合粉末半固态成形法制备B4C增强铝基复合材料。先将Al7075元素粉末在机械搅拌状态下逐渐添加到酒精溶液中,然后通过高能球磨将Al7075元素粉末与B4C颗粒混合,最后将Al70
Windows 98提供了隐藏某个磁盘驱动器(包括软驱、硬盘、光驱)的功能,我们只需手工对注册表数据库进行修改即可达到隐藏光驱的目的,当然也就同样达到了禁用光驱的目的。
摘要:在藏语句子中藏文动词通常是位于句子的末端,但是它在藏语句子中占有非常重要的地位。因为藏语动词是整个句子的核心,句子中的其他成分都是直接或间接的依存这个核心成分,再加之藏语属于格语法范畴,其句法以格为主,特别是部分格中体现了“论元”结构语法,这些为藏语动词的配价方式研究藏语句子生成提供了很好的研究基础。在动词的配价中的“价”一般我们会涉及三个层面的因素,句法、语义、语用,在该文中我们不考虑语用
采用放电等离子烧结(SPS)法将元素钛粉和镍粉制备成Ti-51%Ni形状记忆合金(SMAs)。研究目的是采用自由锻二次加工以提高SPS合金的性能。对自由锻前后合金的显微组织、相变温度
对疲劳后AZ31镁合金的拉伸行为和显微组织之间的关系进行研究。轴向疲劳实验在PLG-100疲劳实验仪上进行,其疲劳载荷为50和90 MPa。从载荷为50和90 MPa疲劳样上截取的拉伸样分
研究挤压态AZ61-xSm(x=0,1.5,2.0,2.5,质量分数,%)镁合金在半固态等温热处理中的Al2Sm相演化和分布规律。结果表明,含Sm的挤压态AZ61镁合金在半固态等温热处理中可以得到更细小
在计算机辅助设计(CAD)快速发展的今天,用普通CAD软件将形体的三维数据进行动画及真实感渲染处理已成为可行,在这个过程中生成的三维图形将产生多重应用,为加工、装配、操作、维修以及产品的改造提供指导。 本文介绍计算机三维图形及三维动画在水泵机械生产行业中的应用。对在水泵生产中如何应用通用CAD软件中的三维图形进行分析,并提出初步的设想及实施的步骤。