摘要:利用网络技术与控制技术,由AT89C51单片机控制各家庭设备,家庭计算机利用RS-232接口与单片机通讯并通过Internet与主控计算机进行信息交互,实现家庭远程控制。
关键词: 远程控制;ASP;单片机;NetmeetingAbstract: AT89C51 single chip processor is used to control electrical appliances, by use of the technologies of network and control, communication of computer and single chip processor is achieved and the information is exchanged by Internet.
Keywords: Remote control, ASP, Single chip processor, Netmeeting
1 引言
随着经济的发展和科技的不断进步,微电脑技术的应用越来越广泛。大量家用电器,如空调机、音响以及电视机等,均采用微电脑技术进行控制。利用微电脑技术控制家用电器的启停时刻,控制家电处于指定的功能状态。随着微电脑控制的家用电器和计算机应用的逐渐普及以及网络技术的快速发展,采用网络技术进行家庭远程控制已经成为可能。2 系统总体设计
整个系统包括远程用户、家庭计算机、硬件部分以及家庭设备。通过硬件部分采集家庭设备状态信号,送至家庭计算机,经过系统软件程序的运行,将家庭设备的状态信息呈现给远程用户[1,2]。远程用户即可根据家庭设备所处状态进行远程控制,实现远程用户利用Web站点控制家庭设备。
系统工作过程如图1所示。ASP通过Internet接收远程用户指令,经过数据库的存储与调用,将指令转变为数据传至VB控制程序,通过程序运行,将控制指令传送给单片机89C51;单片机89C51根据指令控制步进电机、继电器等电器进而控制家庭设备。
3 系统硬件设计
本系统的硬件部分由单片机、步进电机、继电器、磁感应开关、Max232以及家庭计算机等组成。为了控制摄像头方向以捕捉室内各方位的状况,系统采用步进电机驱动摄像头旋转,通过步进电机的旋转带动摄像头改变方向。利用继电器进行空调和电灯控制,采用6个继电器分别控制空调的开关、温度加、温度减、运行模式、风速、定时;2个继电器控制电灯开关。系统硬件总体构成如图2所示。
3.1器件的选择
微处理器的选择:微处理器是系统硬件的核心部件,它直接影响整个系统的软、硬件设计,并对系统的功能起决定性作用。本系统的微处理器选用高档八位单片机AT89C51。
步进电机具有良好的应答性,常被应用在开环控制系统中,不需要复杂的反馈控制,符合本系统的控制要求,因此本系统选用42BYG131型步进电机控制摄像头视角的改变。
另外,本系统选用TXD2-5V型继电器以及GA-2型磁感应开关。
3.2 硬件接线
89C51单片机P0口的P0.0-P0.7引脚分别接8个继电器,用于控制相应的家用电器开关。P1口的P1.0-P1.3引脚分别接4个磁感应开关,用于检测4个窗户的状态。P2口的P2.0-P2.3引脚接步进电机,用于控制摄像头角度。家庭计算机通过RS-232接口与89C51单片机进行串行通讯,并采用Max232进行电位匹配[3]。
步进电机的工作电流较大,89C51单片机的输出电流不能满足,因此外接额定电流较大的ULN2003A芯片以加大电流驱动马达。
4 系统软件设计
在系统软件设计方面,网站建设采用Microsoft 公司的IIS信息服务软件;将ASP与Frontpage 2000相结合进行网页设计,网页中的动画采用Flash制作;控制程序采用Visual Basic 6.0编写。
IIS(Internet Information Server)是一种集World Wide Web Server、Gopher Server以及FTP Server为一体的组合信息服务软件。它具有编辑环境界面、全文检索以及多媒体等功能。
ASP(Active Server Page)是由Microsoft 公司推出的一种面向网络应用程序设计而开发的环境,应用程序存放于服务器中,允许不同的浏览器访问。
网页设计时出现三种窗口:normal默认窗口、HTML窗口和preview窗口。通过HTML窗口查看由Frontpage自动生成的HTML代码,preview窗口通过Internet Explorer显示网页。
4.1 程序间的交互
ASP与VB之间通过Microsoft Access 98版数据库进行信息交互。VB通过Mscomm控件与单片机89C51进行交互,由家庭计算机的RS-232接口将数据传至单片机89C51。
利用Access建立数据库存储家庭设备的状态值以及远程用户通过Internet设置的新状态值。VB控制程序可直接访问状态值,并通过RS-232接口传至89C51单片机进而控制家庭设备。将数据库中的状态值通过AD0显示在网页上,用户通过Internet查看家庭设备的运行状态,并通过AD0将设置的新状态值传送给数据库[4]。
网页中嵌入了家庭计算机的Netmeeting界面,即可将摄像头捕捉到的家庭画面显示在网页上。
89C51单片机接收远程用户指令并控制家庭设备状态。89C51单片机通过RS-232接口将VB传送过来的控制指令进行比较运算,得出控制代码,并输出到指定端口,根据各端口相应数据位的电平数值控制家庭设备;各设备的状态值可通过输入端口反馈至89C51单片机,89C51单片机将状态值转变成控制代码传送至VB控制程序,实现对各家庭设备的控制。
本系统采用步进电机控制摄像头视角的调整。步进电机的转动引起摄像头旋转,实现对摄像头视角的调整。
在窗户上安装磁感应开关,根据磁感应开关的输出信号监测各窗户的开关状态。
其它电器采用继电器进行控制。
4.2 VB控制程序设计
采用VB进行系统控制程序设计,程序流程为:
(1)状态初始化,将各器件设置为初始状态。
(2)检测RS-232接口是否有数值传来。若有则将数值转换为相应的数据库字段值;否则继续向下执行。
(3)判断数据库字段新值与原值是否相同。若不同则将新值转换为相应的值传至RS-232接口;否则跳转至选择模块继续检测RS-232接口。
4.3 单片机控制程序设计
利用89C51单片机进行系统的控制,其控制流程如图3所示。该控制流程为循环执行过程。程序执行过程中首先进行单片机的初始化,标志位清零并将相应的寄存器设置为初始状态,设置堆栈区以及串行传输的工作环境;检测设备状态是否改变,若已改变则按照指令执行,否则检测磁感应开关是否有输出信号;如有输出信号则反馈至计算机,否则返回继续检测是否有设备状态改变。
5 远程控制系统设计
5.1 家庭远程控制网站的设计
本系统采用Flash技术进行网页动画设计。点击系统首页的“登录系统”按钮后,弹出认证界面,提示用户输入用户名及密码。如果输入的认证信息不正确,系统将继续停留在认证界面,不能进入主控界面。
受控装置所处状态均显示在主控界面,如图4所示。主控界面由四部分组成,分别为监视窗口(jianshi)、状态窗口(zhuangtai)、选择窗口(xuanze)以及控制(kongzhi)窗口。
左上角为监视窗口。该窗口通过嵌入Netmeeting程序显示主控计算机上摄像头捕捉到的画面。左下角为状态窗口,利用ASP程序在该窗口显示数据库中的信息资料,监控各受控设备的状态。右上角的选择窗口与右下角的控制窗口相互配合操作。控制空调机时,在选择窗口中单击空调机按钮,各控制选项即出现在控制窗口中,选择相应的按钮对空调机进行控制。
5.2 远程控制的实现
本系统的受控装置包括4个窗户、2个灯、步进电机以及空调机。
在4个窗户上各安装1个磁感应开关以检测窗户开关状态。窗户开关状态改变,磁感应开关即输出信号,将该信号传送至数据库系统,主控界面随之改变。窗户被打开时,状态窗口的窗户状态栏更新为醒目的红色字体“开”,如图5所示。
对电灯的控制,通过点击相应按钮对其进行控制。按下电灯按钮时,控制窗口即显示电灯的控制选项,可选择开灯或关灯。电灯开关状态的改变同样在状态栏显示。
对摄像头视角的控制,通过步进电机的旋转带动视角的改变。按下摄像头按钮后,控制窗口即出现步进电机的控制选项,通过选择相应选项即可控制摄像头的转向,如图6所示。
在对空调机进行控制时,首先要开启电源,否则对应的按钮为灰色,无法激活。选择相应的按钮即可对空调机进行控制。
6 结束语
本研究采用单片机、继电器以及磁感应开关控制家用电器,由单片机通过RS-232接口与家庭计算机进行通讯,利用网络技术实现家庭远程控制。
本文作者创新点:
(1)以Internet作为系统信息传输平台,实现真正意义上的远程控制。
(2)利用数据库作为Web与监控程序沟通的桥梁。
温馨提示:内容为网友见解,仅供参考