Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
WebArc: Control and monitoring of building systems over the Web
(USC Thesis Other)
WebArc: Control and monitoring of building systems over the Web
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
INFORMATION TO USERS This manuscript has been reproduced from the microfilm master. UM I films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand comer and continuing from left to right in equal sections with small overlaps. Each original is also photographed in one exposure and is included in reduced form at the back of the book. Photographs included in the original manuscript have been reproduced xerographically in this copy. Higher quality 6” x 9” black and white photographic prints are available for any photographs or illustrations appearing in this copy for an additional charge. Contact U M I directly to order. Bell & Howell Information and Learning 300 North Zeeb Road, Ann Arbor, Ml 48106-1346 USA 800-521-0600 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. NOTE TO USERS This reproduction is the best copy available UMI Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. WEB ARC: CONTROL AND MONITORING OF BUILDING SYSTEMS OVER THE WEB. by Vagish Narang A Thesis Presented To The FACULTY OF THE GRADUATE SCHOOL SCHOOL OF ARCHITECTURE UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree MASTER OF BUILDING SCIENCE MAY 1999 Copyright Vagish Narang 1999 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. UMI Number: 1395676 UMI Microform 1395676 Copyright 1999, by UMI Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. UMI 300 North Zeeb Road Ann Arbor, MI 48103 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. U N IV E R SITY O F S O U T H E R N C A L IF O R N IA T H E G R A D U A T E S C H O O L U N IV E R S IT Y P A R K L O S A N G E L E S . C A L IF O R N IA 8 0 0 0 7 This thesis, written by V A N I S H NM*r\K>G»________ under the direction of kis. Thesis Committee, and approved by all its members, has been pre sented to and accepted by the Dean of The Graduate School, in partial fulfillment of the requirements for the degree of M k S f g g . O F 5 UlLC>iM£, S O E N 1C E D tO M Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Table of Contents: 1. Introduction........................................................................................................................1 1.1. Abstract........................................................................................................................ 1 1.2. Web Arc: An Introduction.......................................................................................... 1 1.3. Hypothesis....................................................................................................................2 1.4. Aim...............................................................................................................................2 1.5. Goals.............................................................................................................................4 2. Related Works...................................................................................................................5 2.1. Jini Technology...........................................................................................................5 2.2. Universal Plug and Play.............................................................................................. 6 2.3. Implications..................................................................................................................7 3. Proposed Solution............................................................................................................ 9 3.1. Background...................................................................................................................9 3.2. Problems and Methodology.......................................................................................9 3.3. Resources Used.......................................................................................................... 11 3.3.1. Software resources.........................................................................................11 3.3.2. Hardware resources....................................................................................... 12 4. Package Produced...........................................................................................................13 4.1. Software components.................................................................................................13 4.2. Hardware components.............................................................................................. 13 4.3. Functions and Features of components.................................................................... 14 4.3.1. Software components.................................................................................... 14 4.4. Using the components...............................................................................................20 4.4.1. Initial setup.....................................................................................................20 4.4.2. Starting the service........................................................................................20 4.4.3. Server: Finger module...................................................................................21 4.4.4. Server: Lookup module.................................................................................22 4.4.5. Connecting from the client............................................................................22 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 4.4.6. Client: Fetch module..................................................................................... 23 4.4.7. Client: Control module................................................................................. 24 4.4.8. Client: Monitor module................................................................................ 25 4.4.9. Client: Schedule module...............................................................................26 4.4.10. Client: Mail module....................................................................................... 27 4.4.11. Customizing for a building plan................................................................... 27 5. Test/Working...................................................................................................................30 5.1. Working o f the software components.......................................................................30 5.1.1. The client at front-end................................................................................... 30 5.1.2. The server at back-end.................................................................................. 30 5.1.3. The customizer...............................................................................................30 5.1.4. The parallel port driver................................................................................. 31 5.1.5. Software description..................................................................................... 31 5.2. Working of the hardware components.................................................................... 32 5.2.1. Custom hardware...........................................................................................32 5.2.2. X I0 Hardware................................................................................................32 6. Analysis............................................................................................................................ 34 6.1. Evaluation................................................................................................................... 34 6.1.1. Usage...............................................................................................................34 6.1.2. Data................................................................................................................. 34 6.2. Comparative Analysis................................................................................................34 6.3. Advantages and Disadvantages................................................................................37 7. Suggestions for future work......................................................................................... 38 7.1. Research work in related fields.................................................................................38 7.2. Future work on the WebArc..................................................................................... 38 7.3. Conclusions.................................................................................................................39 8. Bibliography....................................................................................................................40 8.1. Books.......................................................................................................................... 40 8.2. Web Links...................................................................................................................40 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. IV 9. Appendices.........................................................................................................................41 A. Concepts and key terms.....................................................................................................41 1. Server............................................................................................................................41 2. Client.............................................................................................................................41 3. TCP/IP Protocol...........................................................................................................41 4. IP Address.....................................................................................................................42 5. Port................................................................................................................................ 42 6. Socket............................................................................................................................42 7. X10 Protocol................................................................................................................ 42 B. Networking in Java............................................................................................................ 43 1. History...........................................................................................................................43 2. The concept of networking.........................................................................................43 3. Elegant networking in Java.........................................................................................43 C. Operating system independence in Java....................................................................... 44 1. Operating systems....................................................................................................... 44 2. Works everywhere...................................................................................................... 44 D. Flow chart: Object oriented model of WebArc server....................................................46 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. List of figures: Fig. 1.0 Flow chart: Prototype implementation. Fig. 1.2 Composite picture shows WebArc and the various elements, including graphs, image selection screen and device controlling GUI. Each of the components is discussed in later sections. Fig. 2.1 The hierarchy at which Java and Jini work (Jini logo on right), source http://j ava.sun.com/j ini. Fig. 3.1 The custom hardware connected to an electrical device through a regular socket. The striped wire (lower) is connected to the parallel port. Fig. 4.1 Custom hardware connected to parallel port (on left), Radio shack X I0 controller and receptor (on right). Fig. 4.2 Above shown is main GUI of the server program. Various utilities can be seen under tabbed panels. Fig. 4.3 The main GUI of the client program, different modules can be seen on tab panels. Fig. 4.4 The control module o f the client program. Fig. 4.5 The monitor module o f the client program. Fig. 4.6 The schedule module of the client program. Fig. 4.7 Main GUI of the customizing program, plan image source: Pierre Koenig; house plan of W.C. Bailey. Fig. 4.8 Main GUI of the server program. Various utilities can be seen under tabbed panels. Fig. 4.9 Main GUI of the server program, finger module. Various other utilities can be seen under tabbed panels. Fig. 4.10 Main GUI of the server program, lookup module. Various other utilities can be seen under tabbed panels. Fig. 4.11 First GUI window of the client program. Fig. 4.12 Main GUI of the client program, fetch module. Other different modules can be seen on tab panels. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. vi Fig. 4.13 Main GUI of the client program, control module. Other different modules can be seen on tab panels. Fig. 4.14 Main GUI of the client program, graphic dialog box. Fig. 4.15 Main GUI of the client program, temperature data dialog box. Fig. 4.16 Main GUI of the client program, schedule module. Fig. 4.17 Main GUI of the client program, mail module. Fig. 4.18 Main GUI of the customizing program, plan image source: Pierre Koenig; house plan of W.C. Bailey. Fig. 5.1 Flowchart: Working of WebArc. Fig. 5.2 Schematic connection from the parallel port to the electrical device. Fig. 5.3 A 110V fan connected to a X I0 receptor, driven by parallel port driver. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Acknowledgement This thesis would have been incomplete without the help and direction of my guides and professors Marc Schiler, Douglas Noble, Karen Kensek, and the support of all my friends and colleagues. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Keywords: Building systems, Control, Monitor, Java, TCP/IP Networks 1. Introduction 1.1 Abstract This thesis documents the development of WebArc1 , a software package which senses and controls building systems and devices through the web. The prototype o f the WebArc package controls and acquires data from a server located and connected within a building. A remote user sends a signal to the server which in turn controls the electrical building devices, using a parallel port2. WebArc also notifies the users with alerts and warnings through pagers and cellphones. WebArc can be used in areas of experiments and live implementations in buildings and laboratories for remote controlled operations, and remote data acquisition. 1.2 W ebArc: An Introduction The name of this project “WebArc” comes from an effort to integrate Architecture with the Web. This project is intended for all the architects and building managers who realize the need for a remote control to operate and monitor variable buildings characteristics from design through the implementation stage. It is also useful for the users who would like to control and monitor the indoor environment o f their domain from any computer with web access. The aim of this project is to connect and operate any electrical device and to manage buildings. A controlled building environment leads to a increased efficiency (including energy efficiency) and an improved quality of living space. 1 Title o f this thesis project. See section 12. 2 A hardware port, through which a computer communicates with a number o f external devices. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 2 1.3 Hypothesis Reliable, conclusive data can be obtained through computer (web) based data acquisition methods on a full-scale facility, where influencing variables can be tested, monitored, controlled and implemented. The fact that Sun Microsystems, Microsoft and Honeywell are researching in the related directions (See section 2) demonstrates broad interest in this hypothesis. Currently being developed are comprehensive research and development tools by these organizations, that include a variety of issues pertaining to the actual operation, maintenance, and technology requirements for building control systems and all other electronic devices. 1.4 Aim The aim of this project was to connect and operate (See Fig. 1.0) any electrical device, from an existing computer network, using a software program (client) running on a remote platform. It was necessary to incorporate some widely accepted resources/protocols in the solution, such as a standard web browser for graphical user interface3 (GUI) controls(Java), TCP/IP4 for networking, and a parallel port for attaching custom made hardware to the controlling computer (server). This aim was achieved, by producing a working prototype, in the form o f hardware (custom X I0 devices3 ) and software components (server and client programs). All of these elements are discussed later in Section 5.2-5.3 in detail, under “Working of Software/Hardware Components”. J A windows based systems to view and control information. 4 Transmission control protocol/Internet protocol, widely accepted protocol for networks. 5 X10 is a protocol used by electrical devices to communicate over the regular household wiring, see appendix A. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. A user logs on to the client, a remotly located computer and connects to the server running in the building. The user can now control or monitor the building devices. TCP/IP :ommunication Every thing below this line is within ................................................................Jmm " m e building.................... Windows NT running on a PC Server grants access to the users connecting from a remote loca tion outside the buildnig. It also lets the users control and moni tor building devices. Controlling Application vbportexe, Native to the Winl6/32 operating system Existing parallel port on the server, controlling the custom hardware e.g. XI0 devices. The database files store all the building data with timestamp. Monitoring Application Native to the Win 16/32 operating system Existing port on the server, sensing the data from the con- nected hardware e.g. datalogger. rnctfim p»l«v/ o i? '1 ' J m i ’ switch controller fl used for control- ling building devices. Device Existing Controller Collecting data from sensors Existing device and wiring within the building Fig. 1.0 Flow chart: Prototype implementation. T h e flow chart shows a typical case of WebArc implementation; it shows the link from the user to the devices . Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 1.5 Goals The goal is to include features, in modular6 form, which might be essential to make this project complete, and so that future additions can be made to it easily. It includes improving the existing graphical interface and make it more user friendly, an interface with which a user would be able to visually (from an image plan) select a device in a building and change its attributes and see the current status. It also includes making use of X I0 devices, so that existing utilities in the buildings can be used, rather than providing the building with new hardware and wiring system and an alert system, which can be used to notify pagers and cellular phones. Trying to fetch bidding data... I Btdcfrtg data fetched. 09-M ar*Sj Trying to load bukfing sensor c Bidding sensor data loaded 05 10002 |100G3H Q-Feb-9911:2&38 PM 1-80 ll00G3fiQ-Feb-9911:28:38 PM{0 10003110*Feb»99 11:28:38 PM 150 btnnryw n g^K.OQ-t.1 - 0 0 - 0 0 ou*a> - [*tt*WebAic S e iv e i ldefatit00Ti>g I 1 0 0 Q 2 III are a t usc04/128.125225.15 ServerSocket(dddr«Q.0.0.0/0.0.0.O.port-OJocalport-8189] Service started at port 8189...09*Mar-99 7:30:21 PM Fig. 1.2 Composite picture shows WebArc and the various elements, including graphs, image selection screen and device controlling GUI. Each o f the component is discussed in later sections. 6 Basic concept o f object oriented programming, where every thing is made up as a software component. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 2. Related works 2.1 Jini Technology7 As per Sun Microsystems “Jini Technology” enables computers and devices to quickly form impromptu systems unified by a network. Such a system is a federation of devices, including computers, that are simply connected. Within a federation, devices are instant on, no one needs to install them. The network is resilient and one can simply disconnect devices when needed, e.g. A user might want to connect his Microwave oven to network so that he get freshly cooked food as soon as he reaches his home. Several smart and flexible independent devices simply connected. This creates a work environment where the tools are ready to hand and largely invisible. The Java programming language is the key to making Jini technology work. Devices in a network o employing Jini technology are tied together using Java Remote Method Invocation (RMI). By using the Java programming language, a Jini connection architecture is secure. The discovery and join protocols, as well as the lookup service, depend on the ability to move Java objects, including their code, between Java virtual machines. Svrn Microsystems puts that Jini technology not only defines a set of protocols for discovery, join, and lookup, but also a leasing and transaction mechanism to provide resilience in a dynamic networked environment. The underlying technology and services architecture is powerful enough to build a fully distributed system on a network o f workstations. The Jini connection infrastructure is small enough, that a community of devices enabled by Jini connection software can be built out of the simplest devices. For 7 A Java tool developed by Sun Microsystems, refer http://java.sun.com/Jini for detailed documentation. 8 Set o f protocols developed using Java to establish communication between remotely located programs. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. example, it is entirely feasible to build such a device community out of home entertainment devices or a few cellular telephones with no "computer" in sight. Fig. 2.1 The hierarchy at which Java and Jini work (Jini logo on right), source http://java.sun.com/jini. Fig. 2.1 shows the layout of Java and Jini technology in relation to the operating system. This layer o f Java virtual machine in between the operating system (OS) and the Jini technology, removes the platform dependency of Java technology, and makes it suitable to work on any OS and even on consumer gadgets. The light weight nature and low memory consumption of Java make it suitable to work on many small building 2.2 Universal Plug and Play1 0 Microsoft, however, has a similar vision, called "Universal Plug and Play" which analysts expect will combine Internet and Windows technologies to instantly network Windows CE and Windows 98 enabled devices. Universal Plug and Play will compete head to head with Jini and will do its best to derail Sun's efforts from the outset. Microsoft has been actively marketing the concept of Universal Plug and Play to the 9 Building devices include thermal sensors, HVAC regulators, electronic locks and triggers. 1 0 Technology developed by Microsoft to establish inter-device communication. Refer http://www.microsoft.com/research for detailed documentation. Service Application jini Technology Java Technology Operating System network Transport devices9. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. same set of consumer electronic vendors currently studying the adoption of Jini. This Microsoft effort could slow Jini adoption if it creates enough distraction or confusion among hardware providers. Both of these technologies are a set of computer protocols and not products themselves. Interested device manufacturers should be using these protocols as soon as the protocols specifications are finalized (visit http://java.sun.com to learn latest information about Jini technology and http://www.microsoft.com/research for Universal Plug and Play). Some of the hardware manufacturers, which are making products relating to control of electrical devices using computers, include Honeywell1 1 , IBM, Radio Shack and few other companies. Till now there is no specific protocol defined or accepted as a standard. Sim is doing its best to ensure that device manufacturers completely understand the differences between Jini and Universal Plug and Play, and points to the fact that Jini is available to manufacturers now, whereas Universal Plug and Play has yet to appear. 2.3 Implications The effort of WebArc is to provide a small yet scalable and rapid implementation version (using existing protocols) of the technologies (Jini and Universal Plug and Play) which are under development as mentioned above. It also intends to facilitate an immediate solution to those who need to utilize this building technology. This solution introduces a clear vision o f building technology, and takes a step further into the networking and digital communication age. WebArc and other related projects will provide a new level of control to building managers and all other users, while removing the complexities of building technology in the process, by providing an abstraction layer. 1 1 Honeywell is a company involved in production and research related to home automation devices (refer http://www.honeywell.com for more company documentation). Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. These technologies can enable the user to operate home appliances remotely in numerous useful ways. A few of the examples related to building technology include adjusting the lamps, window louvers1 2 or HVAC1 3 system before a user reaches home from his office or vice versa, scheduling these tasks to be executed at a future time and receiving alerts in case of break-ins or fire. Architects and building scientists can use these tools to control and monitor building design features in labs before implementing them in real projects. 1 2 Refer “An Automated Louver Overhang System Using Temperature Sensors and X-10 Protocols”, Song Chu Ho, Marc Schiler, and Douglas Noble, School o f Architecture, University o f Southern California. 1 3 Heating ventilation and air conditioning. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 9 3. Proposed Solution 3.1 Background When WebArc was started, similar products (software/hardware) were commercially available from Honeywell, IBM, Radio Shack and few other companies. Ail of them were related to the control of building systems (wherein the controlling computer was located within the building). None of these technologies used the omnipresent TCP/IP network to control the building from a remote location. The key behind WebArc was to provide a solution, which would act as a remote control, and provide a flexible tool to architects, building managers and researchers, with which to control and monitor the building environment using the web as an interface. 3.2 Problems and M ethodology When this project w as started, the appropriate tools that could be used to develop this project were unclear. Java has been widely accepted as the development tool for web applications. After realizing its potential (as discussed below), it was selected as the language to be used for this thesis project. Some of the many critical reasons for its selection are mention below. A networked environment was the key to this whole project. Initially, there were issues of establishing a communication link between two programs (the client and the server) over a TCP/IP network. This problem was solved by the networking utilities1 4 in Java programming language. The controlling program (client) had to be flexible so that it could access the server from any operating system (Unix, NT, Mac). 1 4 These include Socket, Port, Server, Client and TCP/IP protocol (for details, refer appendix A and B). Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. This feature would give the user an option and flexibility to use any computer he/she feels is comfortable. Java code has platform independence as its primary feature, which helped solve this problem. In WebArc, a parallel port on the server controls all the building devices. The server program is an executable file compiled to run on Win NT OS. This server sends a signal to the parallel port, which in turn controls the devices connected to it. Accessing the parallel port was another obstacle, since Windows NT does not allow access of parallel port directly by any program. A small shareware software driver from a third party vendor, Upper Canada Technology1 3 , solved this problem. Developing an appropriate graphical user interface for the client program was another important issue. A graphical user interface was provided, through which a user could see the building plan and select the device to control or monitor. This development was a big step forward in making this project user friendly and more comprehensible. WebArc was intended to be flexible enough to be used and customized for any building plan. In order to customize this package for any building plan, an additional critical software component was added. Using this customizing element a user could define devices and sensors (hotspots1 6 ) on the building plan or view, and use them later to control or monitor the building. Warning and alerts are needed if dealing with critical data; thus, other important tools and features were added, such as paging and alert systems, which would notify the user in case any variable reached beyond a certain limit. In the development phase of this project, a device was needed which could transform signals from the parallel port to signals that could control the building 1 5 This company provides Active X as well as other software-related solutions (refer http://www.uct.on.ca). 1 6 Location on the plan where devices are actually located. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. devices. A custom hardware was developed to control and operate the devices in the building. After passing through initial stages and reviews, it was realized that it would be more appropriate to use currently available commercial devices and integrate them with this program. Hence, an existing technology was selected; in this case, devices (X10 controller and a dimmer module) from Radio Shack were customized and connected to the parallel port and operated from a remote terminal. 3.3 Resources utilized in WebArc 3.3.1 Software Resources Due to its modular design, this project uses a number of software resources. They include built components from other vendors, installation utilities and data from external programs. The software components used externally are discussed below. Symantec JIT, Microsoft Visual J++, Visual C++, Visual Basic and Java compilers were used to compile different components of this project. Symantec JIT and Microsoft Visual J++, were used for developing the Graphical User Interface of WebArc. These are few of the best visual tools available in the market (as per http ://developer.com). Visual C++ and Visual Basic compilers were used to compile the parallel port driver which is native to the MS Windows NT/98/95 operating system. The compiled programs are usually faster if using C++ than Visual Basic, although Visual Basic is easier to use1 7 . A simple text editor, e.g. “notepad” or “pico”, can be used to view the building data file (e.g. demo defaultOO 1 .txt) generated by the customizer. Data files (e.g. 1 7 For detailed comparative analysis, see http://www.microsoft.com/products. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. demo default0011og.xls, default001sensor.xls) are generated by the customizer. These files store data related to building environment (e.g. temperature, RH). Microsoft Excel (any version) can be used to view tabulated data from these files. This data can be exported and further used for analyzing the building. The image files from any of the image editors are utilized for building plans and views; *.jpg and *.gif are the acceptable forms of image formats. Plans from Adobe PhotoShop or image plans from AutoCAD are directly used to place and identify devices (hotspots). 3.3.2 Hardware Resources During the early phases, a custom hardware controller was made (to be attached to the parallel port, see Fig 3.1). Later, an X10 controller and receptor from Radio Shack were modified and used to connect to the parallel port. 5V reed relays (also from Radio Shack) were used to switch low voltage input signals from the parallel port to high voltage output signals. Cables, lamps and few other electrical appliances were used. Fig. 3.1 The custom hardware connected to a electrical device through a regular socket. The striped wire (lower) is connected to the parallel port. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 13 4. Package produced 4.1 Software Components Various Software components were produced and added to make this network oriented project work. The function of each of these components is discussed later in section 4.3, following is the list of the components produced/used: W ebArc Server: server.exe, WebArc Client: client.exe, WebArc Customize: custom.exe. Supporting executable files: vbport.exe, mail.exe, LoadDrv.exe, snjreg.exe, wintdist.exe, Supporting DLL files: snjawtll.dll, snjbeansll.dll, snjnetll.dll, Snjresll.dll, snjrtll.dll, Symbeans.dll, Msvbvm50.dll. Demonstration files: default001.jpg, default001.txt, default001log.xls, defaultQ01sensor.xls and other required files: schedule.xls, client.xls. Usage of each file is discussed under Function/Features of the components in Section 4.3. 4.2 Hardware Components The hardware components, which were produced, are custom made switching devices, connectable to parallel port, as shown in Fig 4.1, and a modified version of X I0 controller1 8 and receptor switching device. Fig. 4.1 Custom hardware connected to parallel port ( left). Radio shack X I0 controller and receptor (right). 1 8 Hardware used to control devices connected to X10 receptors, which are connected to 110V supply. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 14 4.3 Function/Features o f the components 4.3.1 Software Components WebArc Server: server.exe, is an executable file compiled to run on Windows NT/98/95 operating system. On startup (See Fig 4.2) server.exe shows the name and address of the computer user who is currently logged on, this name or IP address1 9 is used by the client to locate and connect to the server. The server starts a service for WebArc clients runn in g on remote machines. It can start multiple services at different software ports. It uses TCP/IP protocol, which is the most widely used and accepted protocol for network communication programs. j||||W e b A rc S erver U are at: usc04/128.125.225.53 Fig. 4.2 Main GUI o f the server program. Various utilities can be seen under tabbed panels. The server provides all the building related data to the clients upon request and one can suspend a WebArc service temporarily. The server is multi-threaded2 0 thus 1 9 A unique address o f the computer connected to a network. See appendix A. 2 0 More than one process running simultaneously in the computer memory (Eckel, 1998). Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. multiple WebArc clients can connect to it at the same time. Using the WebArc server one can view all associated data and demo files located on the server machine (hardware). The “Lookup” tool can help locate the IP address and hostname o f other computers, and the “Finger” tool can help locate people working on other systems. These tools might be useful especially when implementing this project. For the purpose of compatibility and flexibility, a very light weight interface was used. An expert user can use a regular telnet client (telnet.exe) to connect to the server, for control and monitoring of data; in this case it would provide the user with raw data. The server can also be used to reset the parallel port pins in case one needs to test and swap the hardware. ^ B u il d in g Control Client defaultOOl schedule, xls fig.4.j hlain OUl oj the client program, different modules can be seen on tab panels WebArc Client: client.exe, is an executable file (See Fig. 4.3) compiled to run on Windows NT/98/95 operating system. On startup client.exe shows the name and address Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 16 of the computer the user is currently working on. It can connect to any WebArc server accessible from the network, on a known TCP/IP address, and connects to the server at the desired IP address and port #. More than one client session can be opened from a remote machine, to connect to the server. The client has five modules: Fetch, Control, Monitor, Schedule, and Mail, which help in specific tasks. Fetch: Gets and displays building-data, log-data or any other file from the server. In this module, using ping, one can check if the server on the network is responding and is online. (See Fig. 4.3) Control: (See Fig. 4.4) helps in selecting a device and controlling it. Any device can be selected from a list or graphically from a floor plan. The status of the device can be changed to on or off. The device can be controlled for variable intensity (for light) or speed (for motors).The action on a specific device can scheduled or executed right away. ^2^ B u ild in g C o n t i o l C lie n t U are at usc04^128.125.225.37 Fig. 4.4 The control module o f the client program. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Monitor: (See Fig. 4.5) Temperature and relative humidity readings can be viewed from this module. The graph in the reading box will show the last 10 readings from a sensor. Individual readings can also be viewed in the graphic thermometer. It also shows the date and time of the reading. The upper/lower range of critical values can be viewed and changed interactively. Base color of the chart can be altered interactively, vising a color dialog box. B uilding C ontrol C lient |U are a t u sc04/128.125.225.37j Fig. 4.5 The monitor module o f the client program. Schedule: Using this function, a task can be scheduled for a particular time and date in the future. Tasks can also be executed right away. The server would execute the saved task. Scheduled tasks are stored and can be seen in the schedule.xls file. A task’s instructions can be manually added or client can do it for the user. A task can include operating an electrical device or sending an alert. (See Fig. 4.6) Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. B uilding C o n tro l C lient U are a t u sc 0 4 /l 28.125.225.37 W ed Apr 0 7 1 3 :5 2 3 8 P D T 1999 Zclock Fig. 4.6 The schedule module o f the client program. Mail: Mail module can be used for sending regular emails and to schedule an email for later delivery. It can also alert a pager with any critical information, from the building log, or schedule a page for later delivery. Cellular phones, pagers and voice mail boxes can be used for alert output. Supporting executable files are: vbport.exe, mail.exe, LoadDrv.exe, snjreg.exe. “vbport.exe” is used to access and control the parallel port, “mail.exe” is used for mailing or paging. “LoadDrv.exe” is used to give vbport.exe access of parallel port in Windows NT and “snjreg.exe” is used to register all the DLLs. Demonstration files provided are: default001.jpg, default001.txt, default0011og.xls, default001sensor.xls. In a case where the building name is “default” and floor # is 001 by this programs’ protocol, files are be Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. named as "default001.jpg”, “default001.txt”, “defaultOOilog.xls”, “defaultOOl sensor.xls”. “defanlt001.jpg” is the name of the buildings’ floor #001 image, “default001.txt” contain information about the building plan and location of devices on it. “defaultOOl log.xls” keeps log of the actions performed on the controllable devices, “default001sensor.xls” keeps the readings of all the sensors in the building plan. Other required files: schedule.xls, client.xls. schedule.xls keeps record of all the tasks which are currently scheduled to run. “client.xls” keeps track of all the clients and the timestamp. WebArc Customize: custom.exe, is a Windows NT executable file. It helps to customize for any building plan and creates the files, e.g. default001.txt, default0011og.xls, default001sensor.xls. It also stores information for sensing and controlling points separately. The URL of the building plan can be specified, stored and edited in defaultOOl .txt. 19 0 E3 G r a p h i c d ia lo g b o x 10000 defaultOOl. ipg .V V ,V .V ,,\V A * .'\w \v defaultOOl Fig. 4.7 Main GUI o f the customizing program, plan image source: Pierre Koenig; house plan o f W.C. Bailey Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 4.4 Using the components 4.4.1 Initial setup 1. Double click to run loaddrv. exe to load the drivers in computer memory and connect the hardware device before you access parallel port. 2. Double click to run once, bat, to register all the supporting DLLs. 4.4.2 Starting the service 1. To start the server, double click server.exe and a window (See Fig. 4.8) appears. U are at: usc04/128.125.225.53 Fig. 4.8 Main GUI o f the server program. Various utilities can be seen under tabbed panels. 2. Specify the port number if default (8189) not accepted. 3. Click Start button under service to start accepting client requests. 4. Note the IP address, as it appeared (128.125.225.53) in the text area, it has to be used by the clients to connect to the computer on which the server is running. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 4.4.3 Server: Finger module 5. To finger somebody, specify the email address and click Finger. “Finger” tool can help locate people working on other systems. These tools might be useful especially when implementing this project and trying to decide which computers to use. vnarang@usc.edu [usc.edu] Login Name TTY vnarang Vagish Narang Idle When Where <. . . . > HAR210 a Fig. 4.9 Main GUI o f the server program finger module. Various other utilities can be seen under tabbed panels. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 4.4.4 Server: Lookup module 6. To locate IP address from host name or vice-versa, specify address and click Lookup. A window appears (See Fig. 4.10), in the text box specify the address or the hostname and the combination of address and hostname appear in the text area below, this tool is useful to find the name or address when trying to locate different computers on the network. ^ W e b A r c Server aludra.usc.edu aludra. use. edu/128.125.253.184 aludra.usc.edu/128.125.19.184 aludra. use. edu/128.125.5.231 Fig. 4.10 Main GUI o f the server program, lookup module. Various other utilities can be seen under tabbed panels. 4.4.5 Connecting from client at local/remote machine 1. Get the IP address from the server started earlier. See section 4.4.2 step 4. 2. Identify the port number o f the server if different from default (8189). See section 4.4.2 step 2. 3. Double click client.exe to run the client, an initial window appears. (See Fig. 4.11) 4. Click Start the Client button, an instance of client window pops up. (See Fig. 4.12) Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 5. Provide IP Address and Port number of the server started earlier. |i|X C Iien t Fig. 4.11 First GUI window o f the client program. B uilding C o n tro l C lie n t a i a l E l 127.0.0.1 defaultOOl schedule.xls Pig. 4 .1 \i Main GUI of the client program jetch module. Other different modules can be seen on ta panels. 6. Click Connect button to establish a new connection with the server. 4.4.6 Client: Fetch module 7. Specify the floor name to operate devices in the desired building, and click Fetch data button. (See Fig. 4.12) Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 8. To see the log click Fetch log. 9. To see data from any other file, specify the name of the file and click Show data. 10. To check if the server is online click Ping button. 4.4.7 Client: Control module B u ild in g C o n t io l C lie n t. UIEj?I [ 3 j U are ab u sc 0 4 /1 28.125.225.37 Fig. 4.13 Main G U I o f the client program control module. Other different modules can be seen on tab panels. 11. Before you proceed make sure step 7 has been completed and data fetched. 12. Select a device to control from the drop down list or select graphically (Step 13). 13. If selecting graphically, click on the plan to select the devices. (See Fig. 4.14) 14. Change the device status, on/off or change intensity level (if its a bulb). 15. To apply changes right away click Apply Now. (See Fig. 4.13) 16. To schedule changes click Schedule. (See Section 4.4.9) Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 25 ^ G r a p h i c d ia lo g b o x http:/Aww-scf.usc.edu/~vnarang/thesis/def ault001.jpg 10000 Fig. 4.14 Main GUI o f the client program, graphic dialog box. 4.4.8 Client: M onitor module 17. Click on the monitor module tab, select variable (temperature, RH) you want to view. ^ T e m p e r a t u r e D a t a f.-~lpal 10003110-Feb-9911:28:38 PM 1-28 10003110-Feb-9911:28:38 PMI-53 10003110-Feb-99 11:28:38 PMI-80 10003110-Feb-9911:28:38 PM|0 Fig. 4.15 Main GUI o f the client program, temperature data dialog box. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 18. A graph pops up indicating last 10 readings for that device. (See Fig. 4.15) 19. Make a selection, to view readings for a specific sensor at specific time. 20. The graph shows last 10 readings for the selected device. 21. The latest reading is show separately on the right hand side bulb graph. 22. Critical values on the graph can be changed by clicking and dragging the horizontal lines on the graph. 23. To change the base color o f the graph click Base Color. i ^ B u i l d i n g C o n tro l C lient IB! 1 3 1 5 3 U are a t u sc 0 4 /1 28.125.225.37 $ 8 5 3 4 5 6 Q | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 W ed Apr 0 7 1 3 :5 2 3 8 PDT 1999 Z c o c k Fig. 4.16 Main GUI o f the client program schedule module. 4.4.9 Client: Schedule module 24. To schedule a task, select the date/time and task. (See Fig. 4.16) 25. Do not change the task field if coming from Control module or Mail module. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 27 26. To execute the task right away, click Execute Now. 27. To save the task the task for selected time, click Save Task. 28. Any task saved for time earlier than current time would be executed right away. 4.4.10 Client: Mail module 29. Specify fields “From”, “To”, Outgoing mail server” and type in the message and click Mail Now to send it right away or Schedule for future. (See Fig. 4.17) Trying to fetch building data... 22-Apr-99 9:22:48 PM Building data fetched. 22-Apr-99 9:22:48 PM Tlying to load building sensor data... 22-Apr-99 9:29:35 PM Building sensor data loaded. 22-Apr-99 9:29:35 PM You can co n tact me at my new address vnarang@ nbyte.com j j vagish@ usa.net vnarang@ usc.edu aludra.usc.edu Fig. 4.17 Main GUI o f the client program mail module. 4.4.11 Customizing for a building plan 1. Select a name for the building e.g. “mybuilding”. (See Fig. 4.18) 2. Prepare building image plans and name them according to the floor, e.g. “mybuildingOO 1 .jpg”. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 28 G ra p h ic d ia lo g b o x 10000 defaultOOl .jpg ;<#: SvwS default001.txt Fig. 4.18 Main GUI o f the customizing program, plan image source: Pierre Koenig; house plan o f W.C. Bailey. 3. Prepare and identify device location, hotspots on the plan. 4. Save images on a networked computer and identify URLs. 5. Double click on custom.exe to pop up customizing window. (See Fig. 4.18) 6. Specify the image URL. 7. Select radio button “Controller” or “Sensor”. 8. Click on the device hotspot, use default devicelD (recommended), click Add I D » . 9. Repeat step 8 till all the devices are added. 10. To finish click Save As e.g. for floor #001 save file as mybuilding001.txt (*.txt) 11. Repeat steps 1 through 10 for all building plans. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Client Applet eg: Netscape, with JDK 1.1 On Mac, Unix, Win95, WinNT Files used: clienLexe orclient.class Supporting class and DLLs 29 TCP/IP :ommunication E v e ij thing below this line is within tfie buTlcling Server Application On web server Win95, Unix, WinNT Files used: server.exe or server.class, custom.exe Supporting class and DLLs Controlling Application vbportexe, Native to the Win 16/32 operating system ZL Client Applet Java Byte Code Database and Log file eg: default001.txt Existing parallel port on the server Relay/Switch Controller Controlling electrical devices Monitoring Application Native to the Win 16/32 operating system Existing port on the server Exis Collecti ting Controller ng data from sensors ^Device^)— <Device^> Jevice i Sensor 1 Sensor Fig. 5.1 Flow chan: Working o f WebArc. T h e flow chart shows various files and components o f the WebArc connected to each other in a networked environment. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 30 5. Test and Working The flow chart (See Fig. 5.1) explains the overall operation and relationship of the files used in the WebArc system. 5.1 Working o f the software components The software programs can be identified into four discrete uses, among which are: 5.1.1 The client at front-end The client is written and complied in Java. It can be compiled into byte code2 1 to run on any OS, using the same Java code. Client works on any machine running a Java enabled Internet browser, also works independently, as a Win32 application22. 5.1.2 The server at back-end The server is written and complied in Java, into a Win32 application. It can be compiled into byte code to run on any OS, using the same code. It listens to all the requests sent in by the connected clients and controls the C program, which in turn drives the parallel port. 5.1.3 The customizer The customizer is written and complied in Java, into a Win32 application and can be compiled into byte code to run on any OS, using the same code. It works independently, on Windows NT/98/95. It is used to customize WebArc for any building plan. 2 1 A code compiled in Java, which is interpreted in Java Virtual Machine. See http://java.sun.com/products. 22 32 bit applications supported only by Microsoft Windows NT/98/95 and in near future also by Win 2000. See http://www.microsoft.com/products/ Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 31 5.1.4 The parallel port driver It is written in C, and compiled into a Win32 application. It turns the pins on/off on the parallel port, in turn controlling the electrical devices connected to it. 5.1.5 Software description The Software package includes several components related to indoor lighting and thermal controls for a building, as well as overall building economics. It will provide the optimum levels of all the building systems, through the use o f default levels, which can be overridden if desired. The intention is to accomplish this through a network of connected sensors and controlling devices, connected to a computer acting as a hub. This project has two primary objectives: control options, and energy efficiency. In addition, because the issues of integrating other engineering and architectural technologies are important, the product of this effort is a dynamic, flexible, and modular technology, so that future additions can be made to it. Development of this software started in Java, which has been by and large been accepted as the language for the web. This language has been used to make sure that the controls can be transferred over the web to more than one person, even though they might be working on different types of operating systems. This project can be placed in a subset of the concept used by Jini of Sun Microsystems. [Jini can be used to "connect anything to everything," as Sun puts it. Digital cameras can be instantly connected to printers, which can in turn be connected to a PC sitting on the same network with the dishwasher, coffee machine, and any other Jini-enabled device in the home or office, without the use o f any additional software.]2 3 2 3 Article by Stevan Brody, “cnn.com”, archive February 24, 1999. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 5.2 Working of the hardware components 5.2.1 Custom Hardware This hardware component of the project incorporates a parallel port driver which is a Win32 application to turn offron the 5V pins on the parallel port, switching reed Fig. 5.2 Schematic o f the connection from the parallel port to the electrical device. The total number of devices which can be operated through parallel port directly are 255. Further increments would go as 255*n where n= 1,2,3,4... In this project the server was able to operate electrical devices at variable voltage levels. It would help to operate light bulbs at different intensities and electrical motors at variable speeds. The total cost to built this hardware was under $30. 5.2.2 X10 Hardware The X10 devices are readily available from Radio Shack, for this project X I0 device controller was modified, so that a parallel port on a PC can control the buttons on it. Once the parallel port is able to control the X I0 controller device, no additional modification need to be done to the existing wiring of the house or the X I0 receptors. 2 4 A relay is a small electrical device, used for switching on or off larger electrical appliances. Circuit designed by Vagish Narang, MBS, USC, 1997-1999. relays2 4 , which in turn operate any electrical device connected to them. Parallel port 5V output operates...]..Reed relay l ( ^ ) Any electrical device (e.g. bulb) 110V power supply Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. The X I0 controllers are available for $15 a piece23, and they can fully control up to 8 receptor devices, connected to a normal 110V outlet, which in turn control a lamp or any electrical equipment. The X I0 receptors are available for $14 a piece, and would connect and operate a single lamp or electrical equipment. Fig. 5.3 A I10Vfan connected to aXIO receptor, driven by parallel port driver. 2 5 These costs are based on 1998 schedule o f costs from Radio Shack, manufacturer and retailer of electrical devices. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 34 6. Analysis: 6.1 Evaluation 6.1.1 Usage The intent of this project was to provide a tool to control the building environment (lighting, air quality and temperature), and it was accomplished by developing WebArc. WebArc succeeded in its aim by providing a solution for the architects, building managers, and researchers. At this stage the project can be commercially produced and used after making some modifications to the hardware, as needed. Architects can understand this package with little assistance, as they are familiar with the graphic interface and building variables. Due to its modular design, and user- friendly interface, it can be understood by any user who is familiar with some form of window based system. 6.1.2 Data In addition to controlling building devices, WebArc also provides information about the building being controlled. All the values, which are provided, are purely numeric and can be used to define (graphically or numerically) any building variable . This program does not produce any data, though it manages, utilizes, and graphically displays data provided by other daemon or scheduled programs running in cooperation with this program. 2 6 Relative humidity, indoor temperature, air quality, etc. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 35 6.2 Comparative analysis: WebArc / HEBI Honeywell has introduced a similar prototype project in February 1999 called “Honeywell Enterprise Buildings Integrator™ system” (HEBI)27. Honeywell has introduced it as a scaleable, web-enabled system provides one-window access and control of the entire enterprise — from HVAC, lighting, security, access control, energy and life safety subsystems. The gist of the WebArc and HEBI is essential the same; to provide one place web based access to the building. HEBI is designed for a Microsoft® Windows NT® computer platform and uses off-the-shelf PC technology to promote flexibility and ease of use, though using the same Java bytecode WebArc can be utilized on different OS and thus is more flexible in implementation. There is no proprietary hardware in both of these projects. Users can connect to the HEBI or WebArc using a variety of standard TCP/IP network topologies2 8 such as local area network (LAN), wide area network (WAN), Serial and Dial-up access. In HEBI system’s database server maintains a high performance database that provides real-time information to a variety of controllers. Local or network-based clients can access the data remotely, via the Internet. Data is available throughout the network for monitoring, control, historization and reporting. WebArc uses a similar small scale prototype database and provides information to the users at local or remote location also the information is exported and can be used in spreadsheets or relational databases. The HEBI system permits access and integration of data for a wide variety of enterprise applications using standard business language and formats. Included are 2 7 http://www.honeyweIl.com is the source of all the data for HEBI. 2 8 Physical and logical design o f networks (refer Tanenbaum, 1996). Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Microsoft business and Internet products, Maximo maintenance management, PeopleSoft and SAP. The system also features SQL access, permitting information from various databases to be gathered and consolidated into a single report. WebArc currently does not use any real time external high-end commercial databases, though the data can be integrated and exported from WebArc to be utilized in these applications. A list of standard devices, which can be used by the WebArc or HEBI, to control 29 and monitor the building can be found in the ASHRAE documentation . These devices have been used in the buildings and can be integrated with these projects easily. Some of the many examples are listed below: • Reliance-Variable Speed Drives & Motors, DMG Corporation. • Smoke Detectors (System Sensor), Airelink Products Corporation. • Odor Control (Bioclimatic), Air Treatment Corp. • Gauges & Thermometers, Weksler Dawson Co. • Access Doors, Haldeman, Inc. • Air Purification Systems (Bioclimatic), Air Treatment Corp. • Air Quality Controllers (Acme Eng. Products), Airelink Products Corporation. • C02, CO Sensors & Controls, Engelhard Sensor Technologies. • Kinetics - Noise & Vibration Control, Engineered Comfort Systems. The reason these devices can utilized easily with WebArc or HEBI is that they are directly controlling or monitoring one or more building variables and they are using digital input output (10) methods (ideal for computer interface). 2 9 ASHRAE products documentation, for details refer http://www.ashrae-socal.org/ Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 37 6.3 Advantages and Disadvantages of present features: Advantages WebArc, if correctly implemented and utilized, would be a great asset to architects or building managers. The package can be customized for any floor plan. There is no limit3 0 on the number of devices in a floor plan. The user can connect, operate and monitor devices from a remote location. Any operating system running Java can be used to control the devices. It can control any device connected to the parallel port. It can work with all types of custom hardware. WebArc is scalable3 1 and modular. Hardware on parallel port is hot pluggable3 2 . Disadvantages A few of the disadvantages are due to fast changing technologies, which result in changes in the basic protocols. In WebArc, the response time may increase, if using graphical selection, especially on modems as images take a bit long to download. This project is currently dependent upon the parallel port, which might become obsolete in the near future. The client will not work using a web browser if browser companies remove support for Java. Controlling hardware has to be physically changed to provide future additions. The executable files currently are only for Windows NT/95/98. The server will work only on those devices where parallel port is accessible. The GUI may not appear identical on all OS. 3 0 Though limitations might be imposed by the operating system, in terms o f amount o f total memory released to the program. 3 1 Future quantitative additions to existing components can be made. 3 2 No reboot required for the computer, when switching the hardware on the parallel port. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 38 7. Suggestions for future work: 7.1 Future research directions Future research directions can include work on protocol design as well as use of existing protocol, the latter would be a more suitable solution. Currently WebArc is using a combination of new (specific to WebArc) as well as current protocols, it would provide a more universal and acceptable solution by using network protocols. Research can be done on the use of network or cable TV wiring to control devices, since cable wiring is almost omnipresent, and even network, TCP/IP, protocols are tested to run and work faster on them. Also a wide range of devices and their features can be controlled (e.g. microwave timers). More control at feature level in addition to device level would be an issue to explore. 7.2 Future work on the WebArc WebArc is dependent on the electrical devices to be connected to the parallel port, removing the need of parallel port or any other port for control and monitoring would greatly improve its efficiency. Use of Universal Serial Bus (USB) instead of parallel port to control would be an issue to explore, as USB has become an industrial standard for products connecting to computers. Also, future enhancements can be made by improving the user interface within the program e.g. making the GUI more flexible, so that not only building managers but general users can use and implement it flexibly. Additionally, adding a video streaming facility in the software (so that camera controls can be integrated), and implementing SSL (Security Protocol) for added security over network communication, will help. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 39 8.0 Conclusions: This WebArc project has proved the initial hypothesis true, which states that “ Reliable, conclusive data can be obtained through computer (web) based data acquisition methods on a full-scale facility, where influencing variables can be tested, monitored, controlled and implemented". This hypothesis has been proved by producing various components of the WebArc prototype, using which one can obtain data and control the building devices from a remotely located computer with web access. All the indoor building characteristics (HVAC, lighting, security) can be changed for testing and can also be controlled in the implementation stage. In an ideal case, all the variables can be tested in a laboratory, and then used in the desired building. The modular approach followed for the WebArc is very appropriate for future modifications and additions. WebArc is using widely accepted protocols and (as far as possible) standard devices for its prototype e.g. TCP/IP protocol, Win NT platform, parallel port, etc. Rapidly changing technologies might obsolete some of the components used in the WebArc but the basic model or the structure of the program will primarily remain unchanged. This thesis has been a great learning experience and provided an understanding of the related, latest and future technologies (Jini and Universal Plug and Play) which can be used with ease for production and development o f devices related to building science and technology. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 40 8. Bibliography 8.1 Books 1. Chapman D., “ V i s u a l C + + 6 i n 2 1 D a y s ”, Sams Publishing, Indianapolis, ISBN 0- 672-31240-9, 1998. 2. Cornell G. & Horstmann C.S., “ C o r e J a v a ” , SunSoft Press, A Prentice Hall Title, California, ISBN 0-13-565755-5, 1996. 3. Eckel B., “ T h i n k i n g i n J a v a ” , Prentice Hall PTR, New Jersey, ISBN 0-13-659723-8, 1998. 4. Flangagan D., “J a v a i n a N u t s h e l l ” , Second Edition, O’Reilly & Associates, Inc., USA, ISBN 1-56592-262-X, 1997. 5. Gilly D., “ U n i x i n a N u t s h e l l ” , System V Edition, O’Reilly & Associates, Inc., USA, ISBN 1-56592-001-5, 1994. 6. Jawoski, J., “ J a v a 1 . 1 ” , Sams Publishing, Indianapolis, ISBN 1-57521-389-3, 1998. 7. Scott, Shannon, Font, et al, “ V i s u a l B a s i c 4 U n l e a s h e d ” , Sams Publishing, Indianapolis, ISBN 0-672-30837-1, 1995. 8. Tanenbaum, A. S., “ C o m p u t e r N e t w o r k s ” , Third Edition, Prentice Hall of India Private Limited, New Delhi, ISBN 81-203-1165-5, 1997. 9. Tanenbaum, A. S., “ M o d e r n O p e r a t i n g S y s t e m s ” , Third Edition, Prentice Hall of India Private Limited, New Delhi, ISBN 81-203-0974-X, 1996. 10. Tanenbaum, A. S., “ S t r u c t u r e d C o m p u t e r O r g a n i z a t i o n ” , Third Edition, Prentice Hall of India Private Limited, New Delhi, ISBN 81-203-0667-8, 1996. 8.2 Web Links 1. ASHRAE documentation, http://www.ashrae-socal.org/ 2. Jini Technology by Sun Microsystems - http://www.sun.com, official Jini web site - http://www.sun.com/Jini/, Java Developer Community - http ://j ava.sim.com/nav/developer/index.html 3. Java Rating Agency - http://www.jars.com 4. O’Reilly & Associates, Inc. - http://www.oreilly.com/ 5. Universal Plug and Play - http://www.microsoft.com/products Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 9. Appendices Appendix A: Concepts and key terms3 3 1. Server Server is a software program that runs on any networked computer and provides service to the programs (clients) running on remote machines, and also it responds to the requests, from the clients, providing requested information. 2. Client Client is a software program running on any networked computer through which the user on a remote machine communicates to the server and sends requests to do certain tasks or retrieve information. 3. TCP/IP protocol TCP/IP (Transmission control protocol/Internet protocol) model, also called transport layer in network layout, is a reliable connection-oriented protocol that allows a byte stream originating on one machine to be delivered without error on any other machine in the internet. It is now a widely accepted protocol to be used to talk between programs running on remote machines. WebArc uses TCP/IP protocol to establish a communication between the client and the server. It is a connection oriented communication, i.e. server can respond to queries send in by the client only till the point where a connection is live between two of them. 3 3 Excerpts and specific information can be found at http://java.sun.com/, the official Java web site. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 42 4. IP address All computers that are connected to a network should have a unique name or ID to identify them. IP address is unique ID or address of a computer connected to a network, e.g. 125.128.21.34 is an IP address and aludra.usc.edu is a host name. One or more IP addresses can be associated to a host name. 5. P o rt# Port # is the point through which network communication is possible between two or more programs. E.g. telnet application connects to port 23 on hostname aludra.usc.edu. 6. Socket Socket is low level network software that enables communication in and out of the network programs. It accepts IP address (or host name) and port # as its parameters. 7. X10 protocol3 4 X I0 is a protocol used by electrical devices to communicate over the regular household wiring system. The advantage of this approach is that it removes the need for additional wiring for the automation. Widely available X I0 transmitters and receivers plug into standard electrical outlets. Transmitters send commands to turn devices off or on or to run them at a variable voltage, which in turn is identified by the specific receiver or the dimmer module for which the command was intended. X I0 communications occur at a frequency much higher than the frequency of household electrical current, and devices that are not connected to X I0 receivers are unaffected. 3 4 For details refer http://www.nwlink.com/~drwendyc/X10FAQ3.htin, http://www.xlO.com Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Appendix B: Networking in Java3 5 1. History Historically, network programming has been error-prone, difficult, and complex. The programmer had to know many details about the network and sometimes even the hardware. Usually it was needed to understand the various layers of the networking protocol, and there were a lot of different functions in each different networking library concerned with connecting, packing and unpacking blocks of information; shipping those blocks back and forth; and handshaking. It was a daunting task though the concept o f networking in Java is not so difficult. 2. The concept o f networking It is possible to get information from a remote machine and move it to a local machine, or vice versa. It’s quite similar to reading and writing files, except that the files exists on a remote machine and the remote machine can decide exactly what it wants to do about the information one is requesting or sending. 3. Elegant networking in Java (See section 3.2 fo r application o f these features in WebArc) One of Java’s great strengths is painless networking. As much as possible, the underlying details of networking have been abstracted away and taken care of within the JVM and local machine installation of Java. The programming model one uses is that of a file; in fact, one actually wrap the network connection (“a socket”) with stream objects, so it ends up using the same method calls as one does with all other streams. In addition, Java’s built-in multithreading is exceptionally handy when dealing with another networking issues, e.g. handling multiple connections at once. 3 5 Refer Cornell, 1996 and http://java.sun.com/ Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Appendix C: Java platform independence3 6 1. Operating systems The Java platform is a fundamentally new way of computing, based on the power of networks and the idea that the same software should run on many different kinds of computers, consumer gadgets, and other devices. With Java technology, one can use the same application from any kind of machine, a PC, a Macintosh computer, a network computer, or even new technologies like internet screen phones. 2. It works everywhere The idea is simple: Java software works just about everywhere from the smallest devices to supercomputers. Java technology components don't care what kind of computer, phone, TV, or operating system they run on. They just work, on any kind of compatible device that supports the Java platform. Java technology is widely regarded as revolutionary, because it was designed to let computers and devices communicate with one another much more easily than ever before. With Java technology, the Internet and private networks become computing environments. Coupled with the power of networking, the Java platform is helping computer users to do things that were previously unimaginable. For example, users can securely access their personal information and applications when they are far away from the office, by using any computer that is connected to the Internet. Soon they will be able to access tailored applications from a mobile phone based on the Java platform, or even use smart cards as a pass key to everything from the cash machine to ski lifts. 3 6 Excerpts from Cornell, 1996 and http://java.sun.com/ Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Networks require software that is portable, modular, and secure- all areas where Java technology shines, because it was designed for use on networks from the beginning. The Java platform is widely available today; it is built into tens of millions of popular Web browsers, and can run applications on every modem hardware architecture and computer operating system. Thousands of Java business applications and small Web-based programs "applets" are also available right now. Many large enterprises are using Java technology and the network today to integrate their existing computing systems and to extend their business to customers, partners, and vendors on the network (see section 3.2 fo r application o f these features in WebArc). Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 46 [fayidH /tm g& fm ^eO bs& yer \ SeM anaga iavaLookup ! javaawteventFocusAdapter---- jFrame1.Synfocu$ javaawteventMouseAdapter------[fileMakef.SymMouse | javaawtevertWindowAdaptef timet j pyat angHumsbh >j pYaawt&witAclmiJifmst java awteventfocusiMsner f3va at vt event MouseLi sf enef j ar aawt e^WnckMi s i ener Appendix D. Flow chart: Object oriented model o f WebArc server. Various components o f the WebArc server connected to each other in Java hierarchy model. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Mahoney Tables plus a tool for sketch design recommendations for a building
PDF
Lateral design analysis: Web application. Design for wind and seismic forces in buildings
PDF
Interactive C++ program to generate plank system lines for timber rib shell structures
PDF
Thermbuilder: A Web-based teaching tool to study thermal processes in buildings
PDF
Sustainable building materials adviser: A Web-based tool for architects
PDF
VRSolar: An exploration in Web based interactive architectural teaching
PDF
Wind design of fabric structures: Determination of gust factors for fabric structures
PDF
Hebel design analysis program
PDF
Natural ventilation in the high-rise buildings for Taipei
PDF
The thermal energy performance study of the Freeman House
PDF
Bracing systems for tall buildings: A comparative study
PDF
Thermal performance of straw bales
PDF
Variable reverberation in performance spaces: Passive and active acoustic systems
PDF
Catalyst: A computer-aided teaching tool for stayed and suspended systems
PDF
Lateral force design (LFD) software for wind and seismic loads per IBC 2003 and ASCE 7-02
PDF
Comparison of lateral performance: Residential light wood framing versus cold-formed steel framing
PDF
The user's guide to the 1997 Uniform Building Code
PDF
Reinforced concrete structure design assistant tool for beginners
PDF
Guidelines for building bamboo-reinforced masonry in earthquake-prone areas in India
PDF
Computer aided design and manufacture of membrane structures Fab-CAD
Asset Metadata
Creator
Narang, Vagish
(author)
Core Title
WebArc: Control and monitoring of building systems over the Web
Degree
Master of Building Science / Master in Biomedical Sciences
Degree Program
Building Science
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
Computer Science,Engineering, System Science,information science,OAI-PMH Harvest
Language
English
Contributor
Digitized by ProQuest
(provenance)
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c16-31622
Unique identifier
UC11342177
Identifier
1395676.pdf (filename),usctheses-c16-31622 (legacy record id)
Legacy Identifier
1395676.pdf
Dmrecord
31622
Document Type
Thesis
Rights
Narang, Vagish
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the au...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus, Los Angeles, California 90089, USA
Tags
Engineering, System Science
information science