未来智讯 > 智能家居论文 > 基于CC3200的智能家居监控系统设计

基于CC3200的智能家居监控系统设计

发布时间:2018-11-30 01:06:05 文章来源:未来智讯    
    基于CC3200的智能家居监控系统设计作者: 郭书军 范玉强   摘 要:本系统的设计主要包括硬件采集及抑制电路,Linux下的Apache网页服务器的搭建和Android手机客户端的设计,能够实现数据的存储和查询以及便携式移动抑制。主要选取CC3200作为数据采集及抑制端的微抑制器,通过其芯片内置WiFi模块把数据上传至服务器,并从服务器返回抑制信息,通过手机客户端访问服务器,服务器把数据返回手机客户端以实现远程数据传输和抑制。
  关键词:CC3200;WiFi模块;服务器;远程抑制
  中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2016)10-00-03
  0 引 言
  随着社会的发展及人们生活条件的改善,人们对平安问题越来越关注,尤其是家居平安方面。入室盗窃、煤气泄漏、火灾等情况时有发生,在家里安装平安报警装置是家庭平安保障发展的趋势。因此,我们设计了一种无线家居监控系统,充分利用互联网高速发展的优势,将互联网与家居、智能手机有机联合,实现了盗贼入侵报警、火灾报警、CO报警及远程检测室内环境变化并抑制家用电器的开关等功能。
  1 系统整体构成
  本系统主要由采集端、服务器和手机客户端组成。系统整体结构如图1所示。
  采集端负责CO、CO2、温湿度等传感器的数据采集并执行接收到的抑制信息。硬件平台由各种传感器和CC3200微抑制器组成,软件选取CC3200编程以抑制传感器的数据采集、上传数据以及执行抑制下令。
  服务器用于数据的中转,以便于数据远程传输与存储。服务器端使用PHP语言编写与采集端、手机客户端及后台数据库的接口程序。
  手机客户端用于实现实时监测及抑制。使用Android平台进行手机客户端软件开发。
  2 硬件模块设计与实现
  本系统的硬件设计主要集中在采集端的硬件设计上。
  2.1 硬件框图及各子模块功能
  2.1.1 采集模块
  采集模块包含CO传感器、CO2传感器、温湿度传感器、烟雾传感器等子模块。
  (1)CO传感器用于煤气报警检测;
  (2)CO2传感器、温湿度传感器、烟雾传感器用于火灾报警检测;
  (3)红外传感器用于盗贼入侵报警检测,有人闯入时能够进行远程手机报警;
  (4)光照传感器用于检测光照强度,根据光照强度的大小来抑制路灯的开关;
  (5)门铃选取一个按压式开关模拟,按下后可在手机端后台推送提示;
  (6)摄像头用于图像采集,图像传输到手机客户端后主人可根据图像内容来决定是否开门。
  2.1.2 受控模块
  受控模块主要分为两局部,最初用四线二项步进电机模拟门,手机客户端发送开门或关门下令来抑制GPIO口的时序,GPIO口抑制电机驱动模块,电机驱动模块驱动电机正转或反转(模拟门的开和关),而门的物理状态(开和关)通过按压式开关的状态反馈给CC3200;第二局部是继电器,用于抑制家用电气的开关。
  2.1.3 无线通讯模块
  无线通讯模块使用WiFi网络处理器,该模块内嵌于CC3200中,与服务器进行无线通讯。硬件框图如图2所示。
  2.2 硬件原理分析
  由于使用摄像头模块需要进行跳线调整,因此摄像头模块单独使用一个开发板,选取CF2020C模块。CC3200通过I2C总线抑制摄像头以捕获图片,并通过Camera接口进行数据传输;CO传感器、烟雾传感器、CO2传感器输出模拟信号,输入CC3200后进行ADC转换;温湿度传感器通过对IO口写时序来读取传感器的信息;光照强度传感器通过I2C协议进行通讯。CC3200把这些传感器采集到的数据通过WiFi模块上传到服务器或直接传送至手机客户端。
  驱动电机需要对照大的电流,CC3200不能直接驱动电机,因此需要一个电机驱动模块,这里选用L298N,其输入为四路IO口高低电平信号,两路为一组,在电机事务时,有一组IO口信号一高一低,产生驱动电流,两组驱动电流按照一定的规律间歇交替产生从而驱动电机转动。L298N模块的输入电压为12 V。门1、门2用以判断门的状态,电机驱动门打开或关闭时,会触动门1和门2开关的状态。
  (1)门1闭合、门2打开则表示关门状态;
  (2)门1打开、门2闭合则为开门状态;
  (3)门1和门2都打开则为正在开门或者关门。
  门的状态信息通过无线通讯模块上传到服务器。门铃通过一个按压开关来模拟实现。门铃未被按下时,对应管脚接地,即输入低电平,反之则表示按下门铃。由电路中的三个继电器来抑制家用电器(220 V电压)的开关。
  3 系统软件设计
  软件设计包括三局部:采集端的软件设计,即CC3200的软件设计,开发平台是IAR;服务器的软件设计,是在Linux下的网页服务器,使用的是PHP服务器编程语言;第三局部是手机安卓编程,使用的开发平台是Eclipse。这里着重介绍采集端和服务器的软件设计。
  3.1 CC3200软件设计
  在进行CC3200的软件设计时需考虑以下两个问题:
  (1)CC3200与服务器通讯周期:周期太短可能导致网络流量过大,影响通讯效率;周期过长会导致实时效果不佳。
  (2)在开门或关门这些需要时间较长的过程中,手机客户端必须可以继续抑制各个局部,包括在开门时可以执行关门下令,在关门时可以执行开门下令等。
  本设计一共用到三块CC3200开发板,大概的思维过程相同,都是先采集再发送最终通过返回信息来抑制。CC3200能够使用TI的Freertos操作系统,能够进行多任务操作。图3所示是其软件流程图。   任务1中未在循环体中的局部是建立网络连接,因此这里需要连入一个能够和服务器通讯的AP,由循环体采集数据并将传感器数据信息上传到服务器,同时在延时局部抑制CC3200与服务器的通讯速率。采集数据即对各种传感器进行数据采集。数据交互涉及到HTTP协议,对于CC3200来说需要用函数来实现HTTP协议,流程图如图3中最终一个所示。HTTP是基于TCP协议的应用层协议,TCP协议属于传输层协议,CC3200的函数库有实现TCP协议的API函数,所以对于TCP协议只需要填写对应服务器的网络地址及端口号。对于HTTP协议,我们需要做的是把必要的表单信息发送到服务器,至于需要哪些表单信息能够通过网络抓包获取,本设计中HTTP协议的表单内容如图4所示,最重要的是第一行内容,“GET”是请求方式,“/sundata.php”是请求路径标识符,“userid”、“uname”、“uname1”、“iren”是与服务器中.php文件中对应的参数变量,“HTTP/1.1”使用的是HTTP协议版本。
  任务2和任务3属于受控局部,抑制信息从任务1中的网络返回信息获得。
  3.2 服务器软件设计
  采集端、客户端以及后台数据库都围绕服务器运行,服务器端的软件设计主要为向采集端和客户端提供数据接口,接收数据并把数据存储到后台数据库。在Linux中,每个.php文件对应一个接口,PHP语言能够直接操作MySQL数据库。
  数据库操作主要为增、删、改、查。采集端与数据库对应的主要操作为“增”或“改”下令,“改”对应图5(a)中的第4到6行,其中“UPDATE”为执行“改”的下令,第一个“sundata”是表名,第二个“sundata”、“men”、“men1”、“ren”则对应表中的列名,“$_GET[userid]”是前面提到的CC3200发送的参数变量,CC3200将数据发送到这里后再到数据库中。返回信息语句为“echo"0";”,CC3200能够根据返回的信息来执行相应的程序。手机客户端与数据库对应的主要为“查”或“改”下令,“查”对应图5(b)的程序,第4行选中“caiji”表的“id”为1的行,执行事后,第7行选中“CO”对应列的数据将其输出。
  3.3 手机客户端软件设计
  手机客户端的软件设计使用基于Java的Android平台,Java对于网络访问有对照成熟的模块,所以对手机客户端的软件设计主要集中在界面设计。
  4 系统测试
  在局域网内测试时,进行灯光抑制时会有一定的延时,点击后开关会改变状态,但随后会有一小段时间返回原状态,等延时事后开关才为准确的状态。这个问题的主要原因是手机发送抑制信息到服务器,服务器再把抑制信息返回给CC3200的时间内有延时,而开关的状态则受服务器接收的CC3200发送的信息来抑制,因此在延时里若灯的新状态没有上传到服务器,则手机客户端灯的状态不变,直到服务器接收到新的灯的状态后,手机客户端的灯的状态才随之改变。
  摄像头模块采集的图片能够每秒4张的速度上传至服务器。而这主要受限于摄像头的捕获时间与上传时间。本次设计使用的摄像头模块捕获图片的速率经测试为每秒9张左右,周期大约为0.11 s,若1 s上传8张图片,则平均用时约为0.13 s,所以加和的周期为0.24 s左右,因此按照这种方式来上传图片,每秒可上传约4张。
  广域网测试需在Linux系统下部署nat123,将Linux的IP地址+网络端口映射到一个免费域名,然后通过手机4G网络访问该域名。由于网络延时大,因此手机抑制过程有对照大的延时,但可以实现该功能。
  5 结 语
  智能家居是发展的趋势,远程抑制也必将成为智能家居的一个热点,本系统的设计不过一个基本雏形,但总体系统完善,可以实现远程数据传输、远程抑制的效果,在网络延时较小的情况下,从手机客户端到受控模块的时延很小,基本能够达到实时抑制,由于芯片能够实现多任务操作,受控模块的一个子模块在执行任务时,不会影响其他子模块的运行。后续需要深入研讨CC3200内嵌WiFi模块,提高图片的上传速率。同时还应研讨如何把抑制芯片植入家电,实现更复杂的抑制功能。
  参考文献
  [1]郭书军.ARMCortex-M4+Wi-FiMCU应用指南[M].北京:电子工业出版社,2015.
  [2]TI.CC3200 SimpleLink Wi-Fiand Internet-of-Things Solution, a Single Chip Wireless MCU [R]. Texas Instruments, 2014.
  [3]谢希仁.计算机网络(第5版)[M].北京:电子工业出版社,2012.
  [4]姚文祥.ARMCortex-M3与Cortex-M4权威指南(第3版)[M].吴常玉,等,译.北京:清华大学出版社,2015.
  [5]林天峰.Linux服务器架设指南(第2版)[M].北京:清华大学出版社,2014.
  [6]耿兴隆,张莹,薛玉倩.PHP基础与案例开发详解[M].北京:清华大学出版社,2014.
  [7]威利.PHP和MySQLWeb开发(原书第4版)[M].武欣,译.北京:机械工业出版社,2009.
转载请注明来源。原文地址:https://www.7428.cn/page/2018/1130/49163/
 与本篇相关的热门内容: