510 likes | 718 Views
Outline of this Presentation. 1, Introduction to our FYP. 2, Wireless Technology and Architectural Evaluation. 3, Hardware Evaluation. 4, Introduction to WinSock. 5, Introduction to DirectX. 6, Introduction to our Own Libraries. 7, Our Testing Program. 8, Future Plan.
E N D
Outline of this Presentation 1, Introduction to our FYP 2, Wireless Technology and Architectural Evaluation 3, Hardware Evaluation 4, Introduction to WinSock 5, Introduction to DirectX 6, Introduction to our Own Libraries 7, Our Testing Program 8, Future Plan
1, Introduction to our FYP There are three main Objective for our FYP: 1, Provide Wireless Technology and Architectural Evaluation 2, Develop Software and System Infrastructure 3, Create Wireless Quality Education Service and Content
2, Wireless Technology and Architectural Evaluation 2.1 What is a Wireless LAN? A wireless local area network (LAN) is a flexible data communications system. Using radio frequency (RF) technology, wireless LANs transmit and receive data over the air. 2.2 Why use Wireless LAN? - Mobility - Installation Speed and Simplicity - Installation Flexibility - Reduced Cost-of-Ownership - Scalability
2, Wireless Technology and Architectural Evaluation (Cont’d) 2.3 Some Examples uses of Wireless LAN - Doctors and nurses in hospitals use PDA or HPC with wireless LAN capability deliver patient information instantly - Warehouse workers use wireless LANs to exchange information with central databases, thereby increasing productivity. - Training sites at corporations and students at universities use wireless connectivity to ease access to information, information exchanges, and learning 2.4 Security in Wireless LAN - Many people thin that Wireless LAN should be less secure than traditional wired LAN. - It is not true ! - It is extremely difficult for unintended receivers (eavesdroppers) to listen in on wireless LAN traffic - Complex encryption techniques make it impossible for all but the most sophisticated to gain unauthorized access to network traffic.
A simple wireless peer-to-peer network Multiple access points and roaming Use of an extension point The use of directional antennas 2, Wireless Technology and Architectural Evaluation (Cont’d) 2.5 Some Wireless LAN Configurations
3, Hardware Evaluation 3.1 Proxim RangeLan2
RangeLAN2 7401/02 PC Card RangeLAN2 Ethernet and Token Ring Access Points 3, Hardware Evaluation(Cont’d) 3.1 Proxim RangeLan2 (Cont’d)
3, Hardware Evaluation(Cont’d) 3.2 Lucnet Technologies WaveLAN
WaveLAN IEEE PC Card WavePOINT-II Access Point 3, Hardware Evaluation(Cont’d) 3.2 Lucnet Technologies WaveLAN (Cont’d)
3, Hardware Evaluation(Cont’d) 3.3 Apple iBook Airport
3, Hardware Evaluation(Cont’d) 3.3 Apple iBook Airport (Cont’d) Apple iBook and the Airport station
3, Hardware Evaluation(Cont’d) 3.4 BlueTooth - It is not a Wireless device. - It is a standard for future Wireless communication. - It is interface between the communication devices. - It answers the need for short-range wireless connectivity within three areas: a, Data and Voice access points b, Cable replacement c, Ad hoc networking
WinSock Application WinSock API Hardware API 4, Introduction to WinSock - WinSock is the network application-programming interface (API) for Microsoft Windows Operating System. - It shields the programmers from the details of low-level network protocol. Physical Network - It includes the most Berkeley sockets API. - It use client/server approach to communicate. - Two fundamental types of client/server application pair exist in WinSock also: connection-oriented and connectionless application.
4, Introduction to WinSock (Cont’d) Why we use WinSock ? - Multi-protocol support - Asynchronous I/O and event objects - Quality of Service
5, Introduction to DirectX What is Direct X? - Direct X is an API for microsoft windows. - Provide a standard way of accessing many different hardware devices - Consists of five main sections: - DirectDraw (2 dimensional graphics capabilities, surfaces, double buffering, etc) - Direct3D (A relatively extensively functional 3D graphics programming API.) - DirectSound (Sound; 3D sound) - DirectPlay (Simplifies network game development) - DirectInput
Request Request HAL HEL Request Hardware 5, Introduction to DirectX (Cont’d) Structure of Direct X: Direct X
5, Introduction to DirectX (Cont’d) Advantages: 1. It provides the lowest possible level access to hardware. 2. Developers no need to concern about the implementation details of that hardware. 3. After installing the newer version of direct x and the computer will support the new hardware automatically. Why use Direct X in our project? 1. We want to write a fancy and interactive application. 2. The generic APIs provided by visual C for sound and graphics are too weak.
A. Direct Draw libraries • Encapsulate the implementation details of the Direct Draw. B. Direct Sound libraries • Encapsulate the implementation details of the Direct Sound. C. Our Own Class • Manipulate the graphical data. 6, Introduction to our Own Libraries What we have done?
Functions for initialization: Functions for handling bmp file: Functions for double buffering: • DDStartup(); • CreateDesktopWindow( Window_handler, Direct_X_object ); • DDFullConfigure( Direct_X_Object ); • DDWinConfigure( Direct_X_Object ); • DDLoadPalette( Bmp_file, Palette_object ); • DDLoadBitmap( Bmp_file, Surface_object); • DDSetColorKey( Surface_object, Key_color ); • DDMakeOffscreenSurface(); • DDCreateFlipper( Flipper_Object); • DDCreateFakeFlipper( Flipper_Object ); • DDFlipping(); • DDFillSurface( coordinates, color ); • DDTextOut ( Surface_object ); 6, Introduction to our Own Libraries(Cont’d) A. Direct Draw libraries we created
Picture: Content of the picture file: 6, Introduction to our Own Libraries(Cont’d) What is Palette? • DDLoadPalette( Bmp_file, Palette_object );
Background surface: Foreground surface: Color Key: Without color key: Using color key: 6, Introduction to our Own Libraries(Cont’d) What is Colorkey? • DDSetColorKey( Surface_object, Key_color );
Mixer problem in Direct Sound: The same sound buffer cannot be overlapped itself! 6, Introduction to our Own Libraries(Cont’d) B. Direct Sound libraries we created The features of our audio library: 1. Support Wav file with different sample rate. 2. Different sounds can be overlap at the same time.
6, Introduction to our Own Libraries(Cont’d) 3 possible solutions for the Mixer problem: 1. Create duplicate buffers for the same sound file 2. Create a constant number of buffers, load the sound file into the buffer only when it needs to play. 3. When play a sound buffer, check whether it is being played. If yes, stop the sound and play again from the beginning. We have used method 3 for the solving the problem.
A. Class “Sprite” B. Class “Frame” C. Class “Region” • For handling the information of picture. • For handling the information of Frame. • For handling the information of Region. 6, Introduction to our Own Libraries(Cont’d) C. Our Own Class We have written 3 class for manipulating the graphical data:
6, Introduction to our Own Libraries(Cont’d) Class “Sprite”: We have defined a file type called spt file. Class “sprite” is use to handle the data of a spt file. Sometimes, we will create some objects such as a robot, a man or a dog in our application. Spt file can store the information of those objects. Spt file can link up the information of the object and the pictures of the object together.
For example, Content of the spt file: 6, Introduction to our Own Libraries(Cont’d) Class “Sprite”:
6, Introduction to our Own Libraries(Cont’d) Class “Frame”: In the previous example, the spt file only store the general information of the pictures. It is not enough! Sometimes, there are interactions between frames. We need to find a systematic approach for storing the interactions. “Frame” is a class for storing the information and interaction for each frame.
For example, 6, Introduction to our Own Libraries(Cont’d) Class “Region”: Region is an attribute of Frame. It stores the coordinates of a rectangle in the action picture. The 2 main purposes: - Simplify the collision detections between pictures - Regions can represent buttons, different parts of a body or other interactive objects on the picture.
6, Introduction to our Own Libraries(Cont’d) Example of using our classes: • Specification for the refrigerator: • The user can open and close the refrigerator by clicking on the handle of the doors. • There is a cake inside the refrigerator. • The user can eat the cake when click on it. • But if the cake can only be eaten once.
6, Introduction to our Own Libraries(Cont’d) Example of using our own class: Define the region for each frame:
Region 0,1 R0: 1 “open refrigerator” R1: 1 “open refrigerator” Region 1 R0: 3 “eat the cake” R1: 0 “close refrigerator” Region 0 R0: 3 “cannot eat!” Region 0,1 R1: 3 “close refrigerator” Region 0 Region 1 R0: 3 “open refrigerator” R1: 2 “open refrigerator” 6, Introduction to our Own Libraries(Cont’d) Example of using our own class: DFA for the refrigerator: Content of the spt file: Frame0: Frame1: Frame2: Frame3:
7, Our Testing Program Program 1 (WinTalk)
7, Our Testing Program Program 1 (WinTalk) Aim for writing this program: • 1. Try to use Visual C ++ and Microsoft Foundation Class (MFC). • 2. Try to use Winsock. • 3. .Try to use Asynchronous mode of communication with event-driven • programming paradigm Outcome: • Finally, we have achieved all the goals.
7, Our Testing Program Program 2 (Reversi)
7, Our Testing Program Program 2 (Reversi) Aim for writing this program: • 1.Try to get more experience with Visual C ++ and MFC • 2. Try to use MFC to display bitmap (bmp) files Outcome: • Finally, we have achieved all the goals. • However, we find that the performance for using MFC to display • bitmap is extremely poor
7, Our Testing Program Program 3 (Plane)
Frame pictures: Frame Engine: 7, Our Testing Program Program 3 (Plane)
7, Our Testing Program Program 3 (Plane) Aim for writing this program: • 1. Try to use our Graphical and Audio Libraries. • 2. Try to use Winsock, Direct Draw and Direct Sound together in • the same program. • 3. Try to implement the synchronous connection (1 to 1). Outcome: • Finally, we have achieved all the goals. • We have faced some problems when combining Winsock and Direct X • libraries together.
7, Our Testing Program Program 4 (Ball)
7, Our Testing Program Program 4 (Ball) Aim for writing this program: • 1. Try to combine Winsock and Direct X libraries together • 2. Try to implement the synchronous connection (1 to 1). 3. Evaluate the differences between the wire and wireless network Outcome: • Finally, we have achieved all the goals.
7, Our Testing Program Program 5 (ChatRoom)
7, Our Testing Program Program 5 (ChatRoom) Aim for writing this program: • 1. Try to use write a multi-client program • 2. Try to write a generic server • 3. Try to design a protocol for a application Outcome: • Finally, we have achieved all the goals.
Registration Updated Accept/Error Registered Registered Registered Client Client Client Our Generic Server Registration of Client Client Server database
Send To Server Get all Client info. Send From Server Send From Server Send From Server Client Client Client Our Generic Server Sending data from Client Client Server database
A. Direct Draw B. Direct Sound C. WinSock D. Use of spt files E. Frame Engine F. Chat room G. Generic server 8, Fun with Learning English Aims of writing Fun with Learning English: I. Integrate all of the components and libraries we developed
A. Fancy and User friendly interface B. Suitable for a wireless environment C. Use of Multi-media D. Allow teacher to design some Interactive Teaching material E. Provide a good Interaction between teacher and students F. Maximize the potential use of our software 8, Fun with Learning English Aims of writing Fun with Learning English: II. Design a education software for wireless environment
9, Future Plan Here is some of our future plan: 1, Try to integrate Video Streaming Function into FWLE. 2, Try to implement our FWLE to work with a database server. • 3, Try to extent our project to other thin client devices • such as PDA and HPC.