论文部分内容阅读
家居生活是人们日常生活中很重要的一部分。近几年,智能家居的出现颠覆了传统的住房概念,给人们带来了与众不同的家居体验。通过智能家居人们可以方便地控制家电,同时又能获得安全。本课题基于目前市场需求,设计了采用以太网进行网络通讯的家居环境检测和家电控制系统,并通过Android应用程序实现最终的检测和远程控制,实现了继电器控制家电、红外学习控制系统、语音提示和温度、湿度、光照度测量等功能。本课题的研究内容主要分为以下几个部分:1.分析了检测和控制系统的设计要求,将系统分为主控制器和客户端两部分。主控制器完成硬件操作,客户端实现远程监控,由以太网实现两者间的通信。2.分析了智能家居系统的通信模式和外设需求,本课题采用32位的微处理器STM32F107作为硬件设计核心,它具有体积小、性价比高等特点。该互联型芯片内置的介质访问控制和专用的DMA控制器可以方便地实现以太网传输控制,在现有的网络设备基础上实现可靠的网络通信。本系统提供了多种监测和控制前端:通过继电器或者红外学习模块实现对家庭用电器的控制;提供温、湿度及光照度的环境监测;通过语音合成模块进行提示或者警报。3.主控制器软件部分包括硬件驱动和通信协议两部分。驱动部分先配置好主控制芯片STM32的上电参数和时钟系统,再进行各个模块的驱动设计,其中使用到RS232串口通信、ADC模数转换、I2C总线通信等。为节约数据端口的使用,以太网模块设置为RMII通信模式;语音合成模块和红外学习模块均有自己的命令帧格式,通过串口与STM32联系,本设计采用MAX3232实现RS232通信;继电器可直接通过GPIO端口进行操作;传感器模块中温度传感器有特定的工作时序、湿度传感器使用ADC采集、光照传感器采用I2C通信协议。4.本系统采用轻量级通信协议uIP。移植uIP协议分为三个步骤:编写网卡驱动、配置uIP时间系统和设置相关参数。在uIP协议的基础上,设计了易用的应用层协议CTP(命令传输协议),用于实现命令发送、接收以及判断并最终驱动硬件。5.远程客户端应用程序是通过Android实现的。在搭建好平台后,通过Android的不同控件来完成界面设计,主要有登录和注册、主控制和子控制功能的实现。该应用程序通过Socket与控制主机进行通信,然后在主控制或子控制界面实现对不同继电器的控制、学习红外遥控器并进行控制、读取环境数据等功能。整个系统经过测试和应用,各个模块能正常工作,符合设计要求。