论文部分内容阅读
【摘要】 提出一种利用B/S架构设计的智能家居远程控制系统的设计。将智能家居系统控制主机接入互联网,在控制主机上架设网站,用户可以利用网站对连接到主机的USB设备进行操作,从而通过USB设备控制家庭内的智能家居。该系统利用了B/S架构的优点,用户能够很方便地对家庭智能家居系统进行远程控制。
【关键词】 B/S架构 智能家居 远程控制 USB
随着科技的发展,物联网技术愈加成熟,智能家居已经越来越深入到人们的生活当中[1]。智能家居的出现令生活更加方便,主人可以通过特定的网络连接到家庭里的控制中心设备,对家里的情况进行监控与操控。典型的智能家居系统采用家庭内部自组织小型局域网,通过控制中心连接到外部,进行远程控制[2]。这些系统在进行远程控制时,大都采用了C/S模式,这样就必须在用户的移动终端上安装特定的软件才能进行远程控制[3]。因此采用B/S架构来实现远程控制方式,只要用户能够使用上网设备连接到互联网,比如使用笔记本或手机通过有线网络、wifi或3G连接到互联网,就能够让很方便地打开一个网页,对家里的情况进行监控或控制。
本文提出了一种基于B/S架构的智能家居远程控制系统,该控制系统的硬件主要有一个USB设备,该USB设备连接到控制中心主机上。主机架设相应的网站,并联接至互联网上。当用户需要监控或控制时,只需要在电脑或手机上网打开该网页,就可以对USB设备进行操作,该USB设备再通过ZigBee对家居进行状态查询或控制。
一、相关技术
B/S(浏览器/服务器)架构即浏览器(Browser)/服务器(Server)架构,用户的操作界面就是浏览器,使用浏览器来访问服务器提供的服务。相较于传统的C/S架构模式来说,B/S架构让用户对服务器的访问更加快捷方便。本系统采用B/S架构在控制主机上搭建网站,利用网站来控制USB设备运作。网站的开发使用ASP.NET技术,采用Microsoft Visual studio 2008工具进行开发。ASP.NET作为微软Microsoft.NET框架的一部分,由.NET框架提供的编程类库组成,并为Web应用提供程序模型。使用ASP.NET开发页面可有犹如开发软件程序一般,使软件程序员在开发网页应用也变得非常简单。在本文的设计当中,USB设备的驱动程序可以单独开发成动态链接库,然后使用ASP.NET调用动态链接库里的程序来达到页面对USB设备的直接控制。
USB总线技术在当前已经应用非常广泛,技术也十分成熟,大部分的设备上现在都存在USB接口,是一种很通用的接口协议。本系统的设计当中控制主机与外设之间的通信接口也采用USB连接方式。接口芯片采用了Cypress公司开发的CY7C68013A,该芯片是一款内部集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器、16KB的RAM、4KB的FIFO存储器、I/O接口、数据总线、地址总线和通用可编程的外围接口(GPIF)的强大功能的芯片[4]。该芯片负责主机与ZigBee模块之间的通信连接。
二、系统设计
系统主要分为3个部分:智能家居通过ZigBee构成的本地网络、USB设备与控制主机形成的本地控制中心和用户的移动终端。如图1所示。本文将重点描述USB设备的设计以及Web页面通过USB设备对智能家居的控制程序设计。
本系统的USB设备采用56脚的CY68013A芯片作为接口芯片,该芯片集成了USB通信接口以及8051内核,可以很方便的进行USB通信的设计。该芯片有独立的USB接口管脚“DPLUS”和“DMINUS”可与USB线缆直接连接,同时拥有三组通用I/O接口可连接ZigBee设备(如CC2430)与智能家居进行无线通信,如图2所示。芯片的固件程序采用类似51单片机的编程以及CYPRESS公司为用户提供的子函数,主要完成的功能是:向主机提交VID和PID;对Interface(接口)配置和Endpoint(端点)的配置;通过固件程序的调度,完成ZigBee设备与主机之间的数据通信。
为了让用户能够利用Web页面通过USB对智能家居进制控制,Web主机需要实现对USB设备进行控制与通信的人机交互界面程序,并将该程序在页面上实现。该程序对USB设备的控制需要通过USB驱动程序,而驱动程序可以通过修改CYPRESS公司提供的EZ-USB通用驱动程序的INF文件获得。在本系统的设计中,将这些驱动程序封装成为动态链接库dll文件,然后在ASP.NET页面代码中,调用动态链接库里的函数来达到对USB设备的控制,流程如图3所示。
本系统的网站设计采用的工具是Microsoft Visual studio 2008,可以通过在软件中点击[文件]—[新建]—[网站],并在新建网站选择ASP.NET类型网站来创建一个新的网站,同时网站的编程语言采用了C#。为了能够通过网站控制USB设备,需要完成以下步骤:
(1)首先将USB设备的驱动程序动态链接库USBdev.dll存放在主机的系统文件夹System32中以保证网站程序能够对动态链接库函数的调用;
(2)然后在页面代码中添加将动态链接库中的函数导入到网页程序的语句,以便调用,如下面语句中的函数scan_device()和dev_open()。
完成以上步骤后,在页面编程过程中,就可以直接调用已经导入的驱动程序函数来与USB设备进行通信。与USB设备的通信过程主要是为了向某个家居设备发送指令或读取状态,由于家居设备的类型有很多,需要的参数都不相同,因此控制主机与USB设备的通信过程需要制定指令格式对家居设备进行控制。指令包含的参数有:指令类型、操作对象ID、操作类型、操作参数等。指令格式可以根据实际应用进行相应调整,在这里就不进行详细解释。网站页面的设计,可以根据用户家庭内的智能家居种类和数量来进行设计,利用VS2008提供的各种页面控件可以很容易实现一个简洁的页面。
三、结束语
本文设计了一种利用B/S架构搭建智能家居远程控制系统,通过ASP.NET对USB设备进行控制来达到Web页面与硬件设备的通信。该系统的设计方案技术成熟、性能稳定,且成本较低容易普及。系统的界面简单,操作方便,用户可以通过普通的上网浏览网页方式,就可以对家里的智能家居进行控制。而且随着网络服务的进步,通过Web网站的控制方式可以进行丰富的扩张,例如流媒体、云技术等。当然,通过Web网站进行智能家居的控制方式还需要考虑的安全保密等问题,这也是将来需要研究的一个问题。
参 考 文 献
[1] 娄亚楠. 中国智能家居应用前景与挑战[J]. 中国公共安全,2013(Z1):80-83.
[2] 林旭东. 智能家居系统相关技术及发展趋势[J]. 科技创新导报,2008(7):6.
[3] 任荣. 基于B/S结构的智能家居系统的研究和实现[J]. 广东通信技术,2012(12):25-29.
[4] 钱峰. EZ-USB FX单片机原理编程及应用[M]. 北京:北京航空航天大学出版社,2006.3.
【关键词】 B/S架构 智能家居 远程控制 USB
随着科技的发展,物联网技术愈加成熟,智能家居已经越来越深入到人们的生活当中[1]。智能家居的出现令生活更加方便,主人可以通过特定的网络连接到家庭里的控制中心设备,对家里的情况进行监控与操控。典型的智能家居系统采用家庭内部自组织小型局域网,通过控制中心连接到外部,进行远程控制[2]。这些系统在进行远程控制时,大都采用了C/S模式,这样就必须在用户的移动终端上安装特定的软件才能进行远程控制[3]。因此采用B/S架构来实现远程控制方式,只要用户能够使用上网设备连接到互联网,比如使用笔记本或手机通过有线网络、wifi或3G连接到互联网,就能够让很方便地打开一个网页,对家里的情况进行监控或控制。
本文提出了一种基于B/S架构的智能家居远程控制系统,该控制系统的硬件主要有一个USB设备,该USB设备连接到控制中心主机上。主机架设相应的网站,并联接至互联网上。当用户需要监控或控制时,只需要在电脑或手机上网打开该网页,就可以对USB设备进行操作,该USB设备再通过ZigBee对家居进行状态查询或控制。
一、相关技术
B/S(浏览器/服务器)架构即浏览器(Browser)/服务器(Server)架构,用户的操作界面就是浏览器,使用浏览器来访问服务器提供的服务。相较于传统的C/S架构模式来说,B/S架构让用户对服务器的访问更加快捷方便。本系统采用B/S架构在控制主机上搭建网站,利用网站来控制USB设备运作。网站的开发使用ASP.NET技术,采用Microsoft Visual studio 2008工具进行开发。ASP.NET作为微软Microsoft.NET框架的一部分,由.NET框架提供的编程类库组成,并为Web应用提供程序模型。使用ASP.NET开发页面可有犹如开发软件程序一般,使软件程序员在开发网页应用也变得非常简单。在本文的设计当中,USB设备的驱动程序可以单独开发成动态链接库,然后使用ASP.NET调用动态链接库里的程序来达到页面对USB设备的直接控制。
USB总线技术在当前已经应用非常广泛,技术也十分成熟,大部分的设备上现在都存在USB接口,是一种很通用的接口协议。本系统的设计当中控制主机与外设之间的通信接口也采用USB连接方式。接口芯片采用了Cypress公司开发的CY7C68013A,该芯片是一款内部集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器、16KB的RAM、4KB的FIFO存储器、I/O接口、数据总线、地址总线和通用可编程的外围接口(GPIF)的强大功能的芯片[4]。该芯片负责主机与ZigBee模块之间的通信连接。
二、系统设计
系统主要分为3个部分:智能家居通过ZigBee构成的本地网络、USB设备与控制主机形成的本地控制中心和用户的移动终端。如图1所示。本文将重点描述USB设备的设计以及Web页面通过USB设备对智能家居的控制程序设计。
本系统的USB设备采用56脚的CY68013A芯片作为接口芯片,该芯片集成了USB通信接口以及8051内核,可以很方便的进行USB通信的设计。该芯片有独立的USB接口管脚“DPLUS”和“DMINUS”可与USB线缆直接连接,同时拥有三组通用I/O接口可连接ZigBee设备(如CC2430)与智能家居进行无线通信,如图2所示。芯片的固件程序采用类似51单片机的编程以及CYPRESS公司为用户提供的子函数,主要完成的功能是:向主机提交VID和PID;对Interface(接口)配置和Endpoint(端点)的配置;通过固件程序的调度,完成ZigBee设备与主机之间的数据通信。
为了让用户能够利用Web页面通过USB对智能家居进制控制,Web主机需要实现对USB设备进行控制与通信的人机交互界面程序,并将该程序在页面上实现。该程序对USB设备的控制需要通过USB驱动程序,而驱动程序可以通过修改CYPRESS公司提供的EZ-USB通用驱动程序的INF文件获得。在本系统的设计中,将这些驱动程序封装成为动态链接库dll文件,然后在ASP.NET页面代码中,调用动态链接库里的函数来达到对USB设备的控制,流程如图3所示。
本系统的网站设计采用的工具是Microsoft Visual studio 2008,可以通过在软件中点击[文件]—[新建]—[网站],并在新建网站选择ASP.NET类型网站来创建一个新的网站,同时网站的编程语言采用了C#。为了能够通过网站控制USB设备,需要完成以下步骤:
(1)首先将USB设备的驱动程序动态链接库USBdev.dll存放在主机的系统文件夹System32中以保证网站程序能够对动态链接库函数的调用;
(2)然后在页面代码中添加将动态链接库中的函数导入到网页程序的语句,以便调用,如下面语句中的函数scan_device()和dev_open()。
完成以上步骤后,在页面编程过程中,就可以直接调用已经导入的驱动程序函数来与USB设备进行通信。与USB设备的通信过程主要是为了向某个家居设备发送指令或读取状态,由于家居设备的类型有很多,需要的参数都不相同,因此控制主机与USB设备的通信过程需要制定指令格式对家居设备进行控制。指令包含的参数有:指令类型、操作对象ID、操作类型、操作参数等。指令格式可以根据实际应用进行相应调整,在这里就不进行详细解释。网站页面的设计,可以根据用户家庭内的智能家居种类和数量来进行设计,利用VS2008提供的各种页面控件可以很容易实现一个简洁的页面。
三、结束语
本文设计了一种利用B/S架构搭建智能家居远程控制系统,通过ASP.NET对USB设备进行控制来达到Web页面与硬件设备的通信。该系统的设计方案技术成熟、性能稳定,且成本较低容易普及。系统的界面简单,操作方便,用户可以通过普通的上网浏览网页方式,就可以对家里的智能家居进行控制。而且随着网络服务的进步,通过Web网站的控制方式可以进行丰富的扩张,例如流媒体、云技术等。当然,通过Web网站进行智能家居的控制方式还需要考虑的安全保密等问题,这也是将来需要研究的一个问题。
参 考 文 献
[1] 娄亚楠. 中国智能家居应用前景与挑战[J]. 中国公共安全,2013(Z1):80-83.
[2] 林旭东. 智能家居系统相关技术及发展趋势[J]. 科技创新导报,2008(7):6.
[3] 任荣. 基于B/S结构的智能家居系统的研究和实现[J]. 广东通信技术,2012(12):25-29.
[4] 钱峰. EZ-USB FX单片机原理编程及应用[M]. 北京:北京航空航天大学出版社,2006.3.