WiFi技术在家庭无线网络中的应用的研究.doc

上传人:啊飒飒 文档编号:11380069 上传时间:2021-07-31 格式:DOC 页数:41 大小:178.50KB
返回 下载 相关 举报
WiFi技术在家庭无线网络中的应用的研究.doc_第1页
第1页 / 共41页
WiFi技术在家庭无线网络中的应用的研究.doc_第2页
第2页 / 共41页
WiFi技术在家庭无线网络中的应用的研究.doc_第3页
第3页 / 共41页
WiFi技术在家庭无线网络中的应用的研究.doc_第4页
第4页 / 共41页
WiFi技术在家庭无线网络中的应用的研究.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《WiFi技术在家庭无线网络中的应用的研究.doc》由会员分享,可在线阅读,更多相关《WiFi技术在家庭无线网络中的应用的研究.doc(41页珍藏版)》请在三一文库上搜索。

1、本科毕业论文题目:WiFi技术在家庭无线网络中的应用研究 摘 要 无线网络正快速进入家庭。本文通过对几种无线组网技术的比较,说明了WiFi在组建家庭无线网络时所拥有的无可比拟的优势。并详细介绍了基于WiFi技术、以家庭网关为核心的家庭无线网络体系结构,并着重从家庭网关和信息家电方面对基于WiFi的家庭无线网络的应用架构和实现原理进行了分析,讨论了一些具体实施时的关键技术。最后对基于WiFi的无线网络的发展和应用前景进行了展望 Intemet的迅速发展,使人们的生活发生了翻天覆地的变化。人们的日常生活已经越来越离不开网络。现在,人们已经习惯了在网上炒股、购物、查询账目、缴费和搜索资料。人们迫切希

2、望能够任何时间、在任何地方使用网络。很显然,无线网络是最佳的选择。随着电子技术的不断发展,越来越多的手机、笔记本电脑等支持WiFi的终端产品越来越流行。而基于WiFi标准的无线网络成为了最为普及的无线组网形式。在家庭中,如果我们能把现有的家用电器以及电子产品以某种形式连成无线网络,进行统一的管理和控制,并将其连入Internet进行远程调度,那将是多么令人惬意的事情啊1关键字: WiFi家庭网络家庭网关 无线上网技术;家庭无线网络;应用目 录1 无线组网技术 3 1.1 WiFi、HomeRF和Bluetooth 3 1.1.1 WiFi 3 1.1.2 HomeRF 3 1.1.3 Blue

3、tooth(蓝牙) 32 WiFi的优势 43 WiFil作方式 54 家庭无线网络中的WiFi的实现 6 4.1 以家庭网关为核心的家庭网络结构 6 4.2 WiFi技术在家庭无线网络中的实现 7 4.3 信息家电模块 7 4.4 家庭网关模块75 源文件85.1 airctl.cpp85.2 wlanscan.cpp175.3 wlanscanDlg.cpp216 结束语40参考文献411 无线组网技术1.1 WiFi、HomeRF和Bluetooth 目前,用于实现无线组网的主要有WiFi、HomeRF以及Bluetooth(蓝牙)。它们都工作在2.4CHz频段。该频段全球开放,即不用申

4、请就可以在世界的任何地方使用这一频段进行通信。 1.1.1 WiFi WiFi( Wireless Fidelity,无线保真技术)即IEEE802.11协议。是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。WiFi的第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层。规定了无线局域网的基本网络结构和基本传输介质,规范了物理层( PHY)和介质访问层(MAC)的特性l21。物理层采用红外、DSSS(直接序列扩频)或FSSS(调频扩频)技术。1999年又增加了IEEE802.lla、和IEEE802.llg标准。其传输速率最高可达54Mbps。能

5、够广泛支持数据、图像、语音和多媒体等业务。 1.1.2 HomeRF 库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。1.1.3 Bluetooth

6、(蓝牙) Bluetooth(蓝牙)是一种短距离无线通信技术,可把各种便携式电脑和蜂窝式移动电话用无线网络联系起来,达到计算机和通信的更加紧密的连接,提供随时随地的数据信息的交换和传输。传输速率lMbps。它有限的带宽和较小的传输距离无法满足人们日常应用的需求。 2 WiFi的优势 无线电波的覆盖范围广。蓝牙的电波覆盖范围很小,半径大约只有15米左右,而WiFi的半径可达100米。甚至可以覆盖整栋大楼。 WiFi的传输速度很快,最高可达54Mbps,符合个人和社会信息化的需求。在网络覆盖范围内,允许用户在任何时间、任何地点访问网络,随时随地享受诸如网上证券、视频点播(VOD)、远程教育、远程医

7、疗、视频会议、网络游戏等一系列宽带信息增值服务,并实现移动办公。 无须布线,可以不受现实地理条件的限制,因此非常适合移动办公用户的需要。只要在需要的地方设置“热点”,并通过高速线路将因特网接入。这样,在“热点”所发射出的电波的覆盖范围内,用户只要将支持无线LAN的笔记本电脑或PDA拿到该区域内,即可高速接入因特网。 4)健康安全。IEEE802. 11规定的发射功率不可超过100毫瓦,实际发射功率约60毫瓦-70毫瓦,而手机的发射功率约200毫瓦-l瓦间,手持式对讲机高达5瓦。与后者相比,WiFi产品的辐射更小。 WiFi应用现在已经非常普遍。支持WiFi的电子产品越来越多,像手机、MP4、电

8、脑等,基本上已经成为了主流标准配置。而且由于WiFi网络能够很好地实现家庭范围内的网络覆盖,适合充当家庭中的主导网络,家里的其他具备WiFi功能的设备,如电视机、影碟机、数字音响、数码相框、照相机等,都可以通过WiFi建立通信连接,实现整个家庭的数字化与无线化,使人们的生活变得更加方便与丰富。 3 WiFil作方式 WiFi定义了两种类型的设备。一种是无线站。通常通过一台PC机加上一块无线网卡构成。另一种称为无线接入点(Ac-cess Point,AP),它的作用是提供无线和有线网络之间的桥接。一个无线接入点通常由一个无线输出口和一个有线的网络接口(802.3接口)构成,桥接软件符合802.l

9、d桥接协议。接入点就像是无线网络的一个无线基站,将多个无线的接入站聚合到有线的网络上。WiFi定义了两种模式:infrastructure模式和ad hoc模式。m-frastructure模式,即无线网络至少有一个和有线网络连接的无线接入点,还包括一系列无线的终端站。由于很多用户需要访问有线网络上的设备或服务,所以基本上都会采用这种模式。ad hoc模式,也称为点对点模式(pear to pear模式)或IBSS(In-dependent Basic Service Set).4 家庭无线网络中的WiFi的实现 4.1 以家庭网关为核心的家庭网络结构 为了实现家庭内部网络与外部Intemet

10、相连互通,在家庭内网和外部Internet之间需要一个家庭网关。该网关是整个家庭无线网络系统的核心部分,它一方面完成家庭无线网络中各种不同通信协议之间的转换和信息共享,并且同外部网络进行数据交换,另一方面还负责对家庭中网络终端进行管理和控制。家庭中的网络终端也通过这个网关与外部网络连通。实现交互和信息共享。同时,该网关还应有防火墙能力,能够避免外界网络对家庭内部网络终端设备的非法访问和攻击。其结构如图1所示 4.2 WiFi技术在家庭无线网络中的实现 在家庭网络中,WiFi主要应用在各种信息家电和家庭网关上。我们可以使用个人电脑、手持网络终端或者遥控器与家庭网关进行连接,并通过家庭网关对各种信

11、息家电实施有效的管理和控制。因此,可以采用客户一服务器体系结构。网关充当服务器的角色,控制设备对各种信息家电的控制也通过网关完成。这样有利于实现胖服务器瘦客户端的结构。 3.2.1家庭网关模块 家庭网关是我们整个网络的核心部件。所有的信息家电以及控制设备都要连接到这个网关上。同时,网关还要与外部Intemet互连。那么网关需要实现WiFi,并提供如TCP/IP、HTIP、WebServer等高层应用和图形用户界面。完成此功能的协议结构如图2所示。其应用层采用统一设备管理协议( UniversalDevice Control Protocol,UDCP),用来进行整个网络中设备的添加、删除、状态

12、查询、参数配置等管理和控制。UDPC采用客户一服务器结构,服务器端位各信息家电和控制设备,客户为家庭网关。 家庭网关基于嵌入式Linux进行架构。由嵌入式Unux系统实现WiFi功能,并提供图形用户界面和TCP/IP、HTTP、Web-Server高层应用。用户可以通过身份鉴别后登录家庭网关,并使用系统提供的图形控制界面对信息家电进行控制和管理。 家庭网关同时支持嵌入式Web服务器。当我们合法登录后,就可以使用该服务器提供的Web页面对网络中的各种信息家电进行管理和控制。嵌入式的Web服务器可选用boa,它是嵌入式Lmux下应用最为广泛的HTTP服务器程序,功能全面。并且能够很好的支持CGI技

13、术进行服务器端的扩展。而且boa支持大家广泛熟悉的C语言来实现CCI程序。 家庭网关启动后,完成系统的初始化,并加载相关的服务。将接收到的用户的控制或查询命令进行处理,CCI程序将命令转换成为UDCP报文,通过WiFi模块发送给网络中的信息家电或控制设备。同时,家庭网关还通过WiFi来接收信息家电的当前状态信息,通过处理后将其反馈给控制设备,以便用户使用。4.3 信息家电模块 信息家电上的WiFi功能有两种实现模式。一种是信息家电自身带有WiFi功能。这是理想的状态。现在已经有很多家用电器比如电视机、DVD等都已经具备了此功能。第二种是对原本不带WiFi功能的家用电器进行WiFi扩展。可选用R

14、abbit公司的WiFi核心模块和其相应的开发包进行相关扩展。由于信息家电的高端功能都由家庭网关来完成,所以可以不用实现WiFi的上层协议,只实现对其的控制。 信息家电将自身采集到的各种状态信息传递给其自身的或者是扩展的微控制器,微控制器接收到这些数据后将其转换成UDCP报文,并通过WiFi模块将其发送给家庭网关。同时,信息家电还通过WiFi模块接受来自家庭网关的信息,处理后转换成对家电的控制或查询,并将其随后的状态信息由WiFi模块反馈给家庭网关。4.4 家庭网相关模块家庭网关是我们整个网络的核心部件。所有的信息家电以及控制设备都要连接到这个网关上。同时,网关还要与外部Internet互连。

15、那么网关需要实现WiFi,并提供如TCP/IP、HTTP、WebServer等高层应用和图形用户界面。完成此功能的协议结构如图2所示。其应用层采用统一设备管理协议(Universal Device Control Protocol,UDCP),用来进行整个网络中设备的添加、删除、状态查询、参数配置等管理和控制。UDPC采用客户服务器结构,服务器端位各信息家电和控制设备,客户为家庭网关。 5 源文件5.1 airctl.cpp#include StdAfx.h #include airctl.h /* * maybe increase it for yor own pupose */ #defi

16、ne SIZEOF_DEVICE_NAME 256 /* *Contructor. set them NULL */ airctl:airctl(void) m_handle =NULL; m_devices = NULL; m_pBSSIDList = NULL; /* *Destructor. free the memory */ airctl:airctl(void) if(m_handle != NULL) CloseHandle( m_handle); clearDeviceList(); /* * maybe increase it for yor own pupose */ #d

17、efine NUMBEROF_BSSIDS 10 /* * Scan for wlans. * the class will free it every scan * return returns the list. */ NDIS_802_11_BSSID_LIST* airctl:scan(void) ULONG oidcode ; ULONG bytesreturned ; clearDeviceList(); m_pBSSIDList = ( NDIS_802_11_BSSID_LIST *) VirtualAlloc( NULL, sizeof( NDIS_802_11_BSSID_

18、LIST) * NUMBEROF_BSSIDS, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE) ; if( m_pBSSIDList = NULL) return NULL;/error else memset( m_pBSSIDList, 0, sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS) ; oidcode = OID_802_11_BSSID_LIST_SCAN ; DeviceIoControl( m_handle, IOCTL_NDIS_QUERY_GLOBAL_STATS, &oidcod

19、e, sizeof( oidcode), ( ULONG *) NULL, 0, &bytesreturned, NULL) ; Sleep( 2000) ;/ i dont know.its seems we give him some time to let me know memset( m_pBSSIDList, 0, sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS) ; oidcode = OID_802_11_BSSID_LIST ; if( DeviceIoControl( m_handle, IOCTL_NDIS_QUERY_

20、GLOBAL_STATS, &oidcode, sizeof( oidcode), ( ULONG *) m_pBSSIDList, sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS, &bytesreturned, NULL) = 0) / List failed return NULL; else return m_pBSSIDList; BOOL airctl:get_device_info( int Index, char *key_name, char *device_info, char *device_description) H

21、KEY hkey ; DWORD size ; DWORD type ; BOOL retval ; retval = FALSE ; memset( device_info, 0, SIZEOF_DEVICE_NAME) ; if( RegOpenKeyExA( HKEY_LOCAL_MACHINE, key_name, 0, KEY_READ, &hkey) = ERROR_SUCCESS) type = REG_SZ ; size = SIZEOF_DEVICE_NAME ; if( RegQueryValueExA( hkey, ServiceName, NULL, &type, (

22、BYTE *) device_info, &size) = ERROR_SUCCESS) type = REG_SZ ; size = SIZEOF_DEVICE_NAME ; if( RegQueryValueExA( hkey, Description, NULL, &type, ( BYTE *) device_description, &size) = ERROR_SUCCESS) retval = TRUE ; RegCloseKey( hkey) ; return retval ; /* * Fills his own list with devices * return retu

23、rns true if there are some devices */ BOOL airctl:list_devices( void) char key_name SIZEOF_DEVICE_NAME ; char full_name SIZEOF_DEVICE_NAME ; char device_info SIZEOF_DEVICE_NAME ; char device_description SIZEOF_DEVICE_NAME ; this-clearDeviceList (); FILETIME file_time ; HKEY hkey ; int index ; DWORD

24、size ; index = 0 ; if( RegOpenKeyExA( HKEY_LOCAL_MACHINE, SOFTWAREMicrosoftWindows NTCurrentVersionNetworkCards, 0, KEY_READ, &hkey) = ERROR_SUCCESS) size = SIZEOF_DEVICE_NAME ; while( RegEnumKeyExA( hkey, index, key_name, &size, NULL, NULL, NULL, &file_time) = ERROR_SUCCESS) sprintf( full_name, SOF

25、TWAREMicrosoftWindows NTCurrentVersionNetworkCards%s, key_name) ; get_device_info( index, full_name, device_info, device_description) ; this-AddDevice(device_description,device_info); printf( Index= %dnName= %snDesc=%snKey=%snn, index + 1, device_info, device_description, full_name) ; index+ ; size

26、= SIZEOF_DEVICE_NAME ; RegCloseKey( hkey) ; if( index = 0) return false;/ printf( No devices foundnn) ; return TRUE ; /* *Opens the Device and saves the handle */ bool airctl:open( char *device_name) char device_file SIZEOF_DEVICE_NAME ; sprintf( device_file, .%s, device_name) ; m_handle = CreateFil

27、eA( device_file, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL) ; if( m_handle = INVALID_HANDLE_VALUE) return false;/ printf( Error: Device not availablenn) ; else / . open return true;/printf( Open Device:%snn,device_name) ; / CloseHandle( hdevice) ; / adds one devi

28、ce to the list void airctl:AddDevice(char * desc, char * name) deviceInfo *tmp= this-m_devices; deviceInfo *xtmp; xtmp = new deviceInfo; xtmp-description = new charstrlen(desc)+1; xtmp-name = new charstrlen(name)+1; strcpy(xtmp-description,desc); strcpy(xtmp-name,name); xtmp-next = NULL; if(tmp != N

29、ULL) while (tmp-next != NULL) tmp = tmp-next; tmp-next= xtmp; else m_devices = xtmp; / clears the intern list void airctl:clearDeviceList(void) if(m_devices = NULL) return; deviceInfo *tmp; while (m_devices != NULL) tmp =m_devices-next; delete m_devices-name; delete m_devices-description ; delete m_

30、devices; m_devices =tmp; / Frees the list of wlans void airctl:freeScanList(void) if(m_pBSSIDList !=NULL) :VirtualFree(m_pBSSIDList,sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS,0); m_pBSSIDList =NULL; 5.2 wlanscan.cpp/ wlanscan.cpp : Definiert das Klassenverhalten f黵 die Anwendung. / #include stdafx.h #include wlanscan.h #include wlanscanDlg.h #ifdef _DEBUG #define new DEBUG_NEW #endif / CwlanscanApp BEGIN_MESSAGE_MAP(CwlanscanApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp:OnHelp) END_MESSAGE_MAP() / CwlanscanApp-Erstellung CwlanscanApp:CwlanscanApp() /

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1