Creating Web-Based Laboratories


C. C. Ko, Ben M. Chen, National University of Singapore
Jianping Chen, Nanyang Technological University

Springer, New York, London, 2004 (¥ click on this link to order ¥)

Advanced Information and Knowledge Processing Series, xvi/300 pages / ISBN 1-85233-837-7


From the Back Cover:

Remote web-based experimentation, enabling students and researchers to access the laboratory anytime via the Internet, is becoming an increasingly attractive way to complement or even replace traditional laboratory sessions. Placing a video camera & microphone before the equipment and apparatus to capture what is actually happening in the laboratory allows the images and audio data to be streamed to the client side. Researchers in different countries can share equipment and conduct research cooperatively and remotely.

The authors summarise their research and discuss the development of the 5 web-based laboratories launched from the National University of Singapore. The principles, structure, and technologies required for the creation of Internet remote experimentation systems are discussed with particular emphasis on the integration of hardware and software systems. Also highlighted is the design and development of interfaces and components for use in typical web-based laboratories or similar web-control applications.

Students, engineers, researchers and teaching professionals working in areas related to the Internet, distance education and collaborative research will find Creating Web-based Laboratories very useful reading. It also provides a good reference for those interested in how hardware and software can be integrated to form a web-based experimentation system.


Table of Contents

 
 
   *   Preface  {vii} 
  
   1.  Introduction  {1}
       1.1 A Brief Description of the Internet
       1.2 World Wide Web       
           1.2.1 HyperText Markup Language             
           1.2.2 Universal Resource Locator
           1.2.3 Web Browsers and Web Servers          
       1.3 Overview of Web-Based Laboratories          
           1.3.1 The Internet for Education            
           1.3.2 Web-Based Laboratories 
       1.4 Target of the Book           
           1.4.1 Web-Based Laboratories at National University of Singapore     
           1.4.2 Coupled-Tank Experiment               
           1.4.3 Helicopter Experiment  
           1.4.4 Oscilloscope Experiment       
           1.4.5 Frequency Modulation Experiment               
           1.4.6 Hardware Structure            
           1.4.7 Software Structure            
       1.5 Organization of the Book     
 
   2.  Server and Client  {21} 
       2.1 Introduction 
       2.2 Network Programming          
           2.2.1 Protocols              
           2.2.2 IP Address             
           2.2.3 Port Numbers           
           2.2.4 Socket Pairs   
       2.3 Double Client/Server Structure      
           2.3.1 Client         
           2.3.2 Server Entity in the Web Server               
           2.3.3 Client Entity in the Web Server       
           2.3.4 Controller      
       2.4 Single Client/Server Structure
  
   3.  Client GUI Design  {39}  
       3.1 Introduction         
       3.2 Frequency Modulation Experiment     
           3.2.1 Circuit Board  
           3.2.2 Spectrum Analyzer      
           3.2.3 Frequency Counter             
           3.2.4 Signal Generator       
           3.2.5 Voltmeter      
       3.3 Java and OOP         
           3.3.1 Java Applet    
           3.3.2 Class   
           3.3.3 Class Creation
 
   4.  Components  {51} 
       4.1 Introduction         
       4.2 ImgButton Class              
           4.2.1 Class Definition and Constructor      
           4.2.2 initImage() Method     
           4.2.3 Other Methods  
       4.3 Knob Class           
           4.3.1 Class Definition and Constructor      
           4.3.2 initImage() Method     
           4.3.3 Other Methods  
       4.4 Connector Class      
           4.4.1 Class Definition and Constructor  
           4.4.2 initImage() Method
           4.4.3 Other Methods          
       4.5 DataDisplay Class
           4.5.1 Class Definition and Constructor  
           4.5.2 Other Methods
  
   5.  Panels  {71} 
       5.1 Introduction  
       5.2 Classes for Device Canvases 
           5.2.1 Class Definition and Variables 
           5.2.2 Constructor    
           5.2.3 initImage() and Other Display Methods         
           5.2.4 Methods for Client/Server Communications  
           5.2.5 Methods for Instrument Handling   
           5.2.6 Methods for Switching the Instrument on and off    
           5.2.7 Methods for Connectors   
           5.2.8 update() and paint() Methods   
       5.3 Classes for Devices  
           5.3.1 Class Definition and Variables        
           5.3.2 Overriding the init() Method          
           5.3.3 Methods for Detecting the Mouse over Controls
           5.3.4 Methods for Mouse Movement and Dragging       
           5.3.5 Methods for Mouse Events      
 
   6.  Interface Cards  {97} 
       6.1 Introduction  
       6.2 LabVIEW       
           6.2.1 Front Panel    
           6.2.2 Block Diagram  
           6.2.3 Subprogram     
       6.3 General-Purpose Interface Bus  
           6.3.1 Data Transfer Signals  
           6.3.2 Network Topology       
           6.3.3 Examples of GPIB Instruments  
           6.3.4 Controlling GPIB Instruments          
       6.4 Data Acquisition Card        
           6.4.1 Drivers 
           6.4.2 Controlling Card       
       6.5 Digital Signal Processing Card 
 
   7.  Audio and Video  {119} 
       7.1 Audio/Video Server   
           7.1.1 H.323 Protocol         
           7.1.2 H.323 Architecture     
       7.2 Microsoft NetMeeting 
           7.2.1 Server and Client Setup       
           7.2.2 Active X Control              
       7.3 Camera Control       
           7.3.1 Client         
           7.3.2 Server
         
   8.  Controlling Physical Systems  {147} 
       8.1 Introduction    
           8.1.1 Mathematical Model     
           8.1.2 Control System         
       8.2 Modeling of the Coupled Tank Apparatus      
       8.3 Control Algorithms   
           8.3.1 Manual Control 
           8.3.2 PID Control            
           8.3.3 General State-Space Control           
           8.3.4 Fuzzy Knowledge-Based Control         
       8.4 Controlling the Coupled Tank        
           8.4.1 VI Programs            
           8.4.2 MATLAB Script
         
   9.  Multicast Design  {167} 
       9.1 Introduction    
       9.2 IP Multicast         
           9.2.1 Multicast Protocols           
           9.2.2 Multicast Groups              
           9.2.3 Time-to-Live           
           9.2.4 Internet Group Management Protocol    
           9.2.5 Developing Multicast Groups           
       9.3 System Architecture  
           9.3.1 Hardware               
           9.3.2 Software       
           9.3.3 Double Client/Server Mode             
       9.4 System Implementation        
           9.4.1 User Authentication           
           9.4.2 Real-Time Transfer of Spectrum Analyzer Display          
           9.4.3 Real-Time Transfer of Command Strings
  
   10. An Implementation Example  {183} 
       10.1 Introduction        
       10.2 Camera Control Subsystem           
       10.3 Video Transmission Subsystem               
       10.4 Client Interface    
            10.4.1 index.htm    
            10.4.2 doexp.htm    
            10.4.3 exp1.htm             
            10.4.4 exp2.htm, exp3.htm, and exp4.htm            
            10.4.5 manualcontrol.java          
            10.4.6 pidcontrol.java, generalcontrol.java, and fuzzycontrol.java
            10.4.7 NetMeeting   
       10.5 Coupled-Tank Control and Algorithm 
            10.5.1 exp1.htm             
            10.5.2 doexp.vi and control.vi     
            10.5.3 fuzzycontrol.m       
            10.5.4 generalpre.m and generalnopre.m
         
   Appendix A: Source Codes for Camera Control  {201} 
       A.1  camera_control_console.vbp          
       A.2  MainForm.frm
         
   Appendix B: Source Codes for Interface Design  {207} 
       B.1  index.htm     
       B.2  doexp.htm           
       B.3  exp1.htm     
       B.4  exp2.htm     
       B.5  exp3.htm 
       B.6  exp4.htm     
       B.7  manualcontrol.java          
       B.8  pidcontrol.java             
       B.9  generalcontrol.java         
       B.10 fuzzycontrol.java
         
   Appendix C: Source Codes for Coupled-Tank Control  {289} 
       C.1  fuzzycontrol.m              
       C.2  generalpre.m 
       C.3  generalnopre.m
         
       References  {295} 
 
       Index  {299} 
 

Link to the page of Ben M. Chen's Books……