Controlling Remote Robotic Arm Through Internet Report
Controlling Remote Robotic Arm Through Internet Report
www.funonrails.com
twitter @sandipransing
INDEX
CHAPTER 1 : PROBLEM STATEMENT ..........................................1 CHAPTER 2 : FEASIBILITY STUDY ............................................2
2.1 Historical survey.........................................................................................5 2.2 Background and need..6 2.3 Hardware setup7 2.4 Performance of system..11 2.5 Conclusion.12 2.6 Recommendation for future work.12
4.2.6 User Documentation .................................................................33 4.2.7 Assumptions and Dependencies ...............................................33 4.3 System Features .......................................................................................33 4.3.1 Login to the server ....................................................................33 4.4 External Interface Requirements .............................................................35 4.4.1 User Interfaces ..........................................................................35 4.4.2 Hardware Interfaces ..................................................................35 4.4.3 Software Interfaces ...................................................................35 4.4.4 Communications Interfaces ......................................................35 4.5 Other Nonfunctional Requirements ........................................................36 4.5.1 Performance Requirements ......................................................36 4.5.2 Safety Requirements ................................................................36 4.5.3 Security Requirements .............................................................36 4.5.4 Software Quality Attributes ......................................................37 4.6 Other Requirements.38 Appendix A: Glossary ..............................................................38 Appendix B: Analysis Models .....................................................39
5.3.1 User types ...................................................................................46 5.3.2 Installation ..................................................................................47 5.3.3 Licensing.47 5.3.4 Upgrades ....................................................................................48 5.3.5 Uninstall .....................................................................................48 5.4 Development .............................................................................................49 5.5 Miscellanea / Appendices ..........................................................................50 5.5.1 Conformance with standards ......................................................50 5.5.2 Security .......................................................................................50 5.5.3 Glossary ......................................................................................50 5.5.4 Bibliography ...............................................................................51
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
top of the robot and the other on the ceiling of the laboratory.Current images were updated at a rate of three frames per second. This research demonstrated the ability to visibly control a robot through Internet from a remote place. Nevertheless, the researchers did not design the RCVVL to run a program from the client site. In addition, the researchers did not make source codes available and the updating rate of the image was too slow. Thus, there was a clear need to develop a workable web-based control system to promote distance access. The objective of this study was to develop a prototype Web-based Controlling System (WCS) that could serve as a remote control tool for an unmanned manufacturing cell in an educational laboratory. This system is designed to serve as an OL for distance education. The WCS was comprised of hardware components interfaced with Internet tools to control and program the unmanned cell through Internet from a remote site. Students were able to interact via Internet with the unmanned cell to carry out technological activities. The WCS, which was programmable through the clients computer, was compatible with any operating system (OS) and provides simultaneous text and visual feedback at a visual frame rate of 1 frame/sec.
www.funonrails.com
twitter @sandipransing
The benefit of an online laboratory is that enrollment of distance education in manufacturing courses and degree programs will be expected to increase. An online access for robotic applications through Internet. would be maximized by remote control technology
www.funonrails.com
twitter @sandipransing
programming with a text feedback to the clients computer. Since client programs were written in Java, they could be accessed from any WWW browser and ran locally on a users computer. The client program consisted of buttons, a textbox, and network sockets, which were designed to send and receive data from the server. Buttons and one textbox were developed in the client applet. These buttons were configured as: button to activate a horn on the server side, button to deactivate the entire system for emergency purposes, and button to initiate a program on the server side. button to control movement of stepper motor. The textbox displayed messages from the server side as well as messages naming the next action to take place at the server side. The network socket was used to transmit data from the client to the server. When a button was depressed, a data string was sent through the socket to the server. The server program, upon receiving the data strings from the client, converted the string into integer values and passed the integer values to next step. In this step the switch structure was reviewed and executed based on the appropriate batch file. After executing the batch file, the server returned the integer value to the client indicating the successful execution of the command. Figure B depicts the client side screen.
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
The Java Web CIMS software had two main parts: the client/server program and the Stepper Motor program. The C language was used to write relay programs to activate the relays through the parallel ports. Java language was used to write client/server programs. The client /server involved TCP/IP communication using TCP/IP stream sockets. It was a reliable, two-way data connection between two applications. TCP/IP stream sockets delivered sequenced and unduplicated data (i.e., the data bytes were received in the same order that they were sent). Java programming platforms provided classes that create stream sockets. In TCP/IP communication, the web server delivered the Graphical User Interface (GUI) program to the client and the client GUI communicated directly with the server program through TCP/IP streaming ports. A direct communication link was created between each client and the server. When using this programming method, Java was the rational programming platform for the client GUI. Java applets could be delivered via web pages and executed in most popular web browsers, including Netscape Communicator and Internet Explorer. Upon request of data from the client computer, the server sent out the appropriate information to the client. The web page on the client computer displayed the Java buttons. The server program sat and waited for user commands to be selected on the GUI (i.e., clicking the button or buttons). When a button was selected, it opened port 2346 and sent commands in the form of a data stream to the server. Before data were sent, a numeric variable was placed in a character string and transferred as a data stream. Each button had a different numeric variable for communication. This port was then closed after all data were transferred. During the process of data transfer, the text field displayed a message identifying what action would take place at the server side after the process was complete. The server received the data stream by opening port 2346, after which the character string underwent a change. The character string was then converted into an integer. The converted integer was passed to the switch control structure. The switch control structure evaluated the value of integer and triggered the appropriate case depending on the value of the integer. As the case was triggered, it executed a batch file.
www.funonrails.com
twitter @sandipransing
When the batch files were executed, the appropriate output signals were sent to the parallel port on the server. These signals were transmitted through the parallel port to the relay board to make contacts on the relay. As the relay made a contact, the robot controller received the signal and instructed the robot to move as specified by the signals. The end use r could observe the on-site robots motion through a web camera. After successfully executing the C program, the server sent the data stream to the client program. This integer value was then placed in a character string and returned as a data stream. The client program, upon receiving the string, displayed the returned data in a text field as a conformation number. Figure C depicts the operation of the WCS.
www.funonrails.com
twitter @sandipransing
With all these evidences, it can be concluded that the system will work and functions as it designed.
2.5 Conclusion
A WCS was developed in this research to remote control laboratory activities through Internet. Special features of the WCS allow end users to use a general purpose personal computer and any World Wide Web browser to carry out the control activities remotely through Internet. The system also provided feedback to the end users in terms of visual and text format. Since the configuration of the system as shown in Figure A will able to serve as a WCS, similar configuration can be applied for other application setups. As designed, the client/server program written in Java using TCP and Socket programming made the server accessible through Internet by using a universal browser. However, due to the unexpected traffic in the Internet, delays of the communication between the server and the end user may happen. This causes delays on executing commands and programs and transmitting on-site images.
www.funonrails.com
twitter @sandipransing
4. A proof reading method can be adapted to execute the transferred program safely within the Robot operating limits. It can be arranged by using Artificial Intelligence and neural networks. This research can be further enhanced by, controlling other devices, not merely Robots and PLC.
www.funonrails.com
twitter @sandipransing
language.These features have made Java a favorable language for programming on the
Speed: Java applets are accessible on the client-side, hence are faster than
programs running on remote servers.
www.funonrails.com
twitter @sandipransing
Interoperability: Java applets can interface with various forms of media formats
(text , graphics, animation and sound) and languages (such as JavaScript and VRML). Applets can also interact with other applets, with programs on its host server and with HTML/XML documents on remote servers.
User Interaction: Unlike Java, HTML is equipped with a limited set of graphical
user interface (GUI) elements. Java applets can thus provide a better user interaction.
software are scarce, and often have a strong dependency on the underlying hardware. On the other hand, users can access a Java applet using different types of architectures and Java compliant browsers, but still all see the same information in nearly the same format.
Distributed
usually could not be shared by remote users in real-time. Java Application Programming Interface (API) has support for writing distributed and network programs which can access and share data residing at remote repositories, thus supporting data sport ability.
Development
program is:
And Maintenance:
1. Main program (which does the computations) + graphics (which plots the results) + user interface, 2. Each of them often in different languages. This can be difficult to extend and maintain. With the support of Java API, these three components can be integrated into one unified environment. Java has a variety of applications we will see it as follows.
www.funonrails.com
twitter @sandipransing
application on such a metered basis rather than invest a substantial sum of money to buy it outright. Java could enable such a user to simply connect to the software provider via the Internet, download a copy of the software for temporary use and be billed for it. Java could also provide a means by which a user can upgrade to the latest version of an application that they already own. The user could simply connect to the software company via the Internet, download the latest updates and added features which Java could then integrate into the existing copy, irrespective of the user's platform. Java could also be used to program intelligent agents to comb the Internet for information. The Internet today contains vast amounts of information yet one of its biggest problems remains that of being able to find a required piece of information. Enter the intelligent agent. An intelligent agent could be implemented in the Java language, sent out to cruise around the Internet, hopping from one information database to another, looking for a given piece of information. Java is ideally suited for the implementation of such an agent because of its portability and platform-independence. The agent will be able to access different hardware platforms running databases on different operating systems, collect data and move on to the next. Because of the security features of Java, an environment can be provided within which such agents can run without compromising the security of the host computer. Java can be used to provide new capabilities to the Virtual Reality Modelling Language (VRML). VRML is a file standard for building 3-dimensional worlds for the Internet. The ultimate goal is for people to be able to interact with each other via the Web in this 3D world better known as cyberspace. At the time of writing, the VRML is rather limited in scope in that while it is capable of producing 3D space, the space is static - its constituent objects have no behavior. Java can be used to provide the interaction required to bring this static space to live by associating applets with the different objects in the space. When the space is downloaded to a user's desktop, the applets can then start to execute bringing the space to live.
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
Interactive Information: For example, any topic that involves change of system parameters for understanding. Such information can usually not be represented, distributed and communicated in paper form (and even using a blackboard or overhead-projector with transparencies) due to various limitations. Even though animations can be created using other techniques (for example, GIF animation tool), they lack interaction. The "mental picture" that a teacher has is better conveyed to a learner if the information is presented in its appropriate form. Java applets can complement a lecture and sessions with such information which is difficult to convey in traditional manner. The use of applets along with desirable multimedia support, provides a representation that is often better in communicating a concept than a static Figure (s) or a written description. It also helps learners visualize the concept relatively easily. Through the multimedia support of the WWW, information can be represented dynamically and interactively - both of which Java applets are well equipped with. Applets that have active GUI elements give control in the hands of the learner, and thus allow the learner to gain experience with the concept. o Classroom Demonstrations and Connections: Classroom demonstrations are an essential component of subjects that are practically-oriented. In various such courses, for example, which are computationally oriented, actual computer implementations of algorithms that function in real-time are usually not introduced in the classroom. Also, the classroom and laboratory components are separated - the lessons are carried out in the classroom while the implementation of algorithms corresponding to them is carried out in a computer laboratory. o Teacher's Viewpoint: The teacher, at best, illustrates a static computer program for an algorithm or a static image of a computer-generated graphical result. This is often not sufficient. Using Java applets, teachers can perform classroom demonstrations involving real-time computations, bringing more realism to the subject matter. They can thus save time in explaining the algorithmic implementations. The use of hypertext in a WWW document also facilitates
www.funonrails.com
twitter @sandipransing
explanation of related concepts (such as an applet performing a computation and a corresponding lesson). This can bring clarity and continuity to the lecture by
Also we are using the JNI (java Native Interface) for interfacing with hardware module, because java cant give the access to directly hardware. so it requires to use JNI .Create DLL file in which functions are there that calls hardware modull,but that DLL is called by JNI itself.
www.funonrails.com
twitter @sandipransing
In Windows, an installable driver is also a DLL. A program can open, enable, query, disable and close the driver based on instructions written in the DLL file. DLLs may be found in the Windows directory, Windows\System directory or in an program's directory. If a program is started and one of its DLL files is missing or damaged, you may receive an error message like: "Cannot find xyz.dll". If a program is started with an outdated DLL file or mismatched DLL files, the error message "Call to undefined dynalink" may be displayed. In these situations, the DLL file must be obtained and placed in the proper directory in order for the program to run correctly.
www.funonrails.com
twitter @sandipransing
So, is JNI a compromise? It doesn't have to be. You can have a 100% Pure Java application in which JNI features are added benefits that appear only on specific platforms. There will be no loss for those who use the platforms not supported by your JNI features, and you will compete with native applications on equal terms where needed. The trick is to design an application that can take advantage of JNI features, but is still fully operational without them.
Do the native apps have special widgets that your application lacks? Tool
tips are common, and so are context menus, but what about collapsing/expanding, minimizing/maximizing, and showing/hiding? Some GUIs have special popup messages and automatic behaviors. There's really no limit to what some people think users want.
Do both types of app handle special mouse and key combinations in the
same way? Java makes no special assumptions about the number of mouse buttons, but many platforms do. Keyboards are largely standardized, but there are exceptions; some keyboards (and some platforms) have more specialized keys than others. Native applications may exhibit special operating system behavior for special key combinations.
Can your application interoperate with the natives? Can you drag and drop
between them? What types of objects does each accept? Dragging files is common, but are other objects commonly dragged in or pasted?
www.funonrails.com
twitter @sandipransing
How does your application interact with the desktop? Some platforms
have very cluttered desktops, supporting taskbars, flashing messages, context menus, and even Web content. Do the native applications use these features? (This article will handle the taskbar icon feature in Windows, with which you can add application-defined icons to the desktop taskbar that indicate status without requiring an open window.)
compared to the native applications? Do they handle special OS events, such as hibernation and input methods, in similar ways? Do they converse with system databases or registries? Do they write to a system event log? Look at your list of missing features, and don't underestimate its importance. You may not like these features, finding them weird and difficult to understand, but that's just because you're not used to that platform. The average user knows them, uses them, and will expect to find them in your application. Unless your application provides functionality that is not available elsewhere, or is extremely cheap, users will always prefer native options. But don't go overboard. Some features are so obscure or unpopular that their absence won't be noticed. Filter such features out, and list only the essentials. Try to think of these as features you want and not just obstacles to overcome. Thinking positively always helps. The most important thing is to treat these features as an added benefit (or an annoying redundancy, if you prefer) for users of a specific platform, but never as features essential to the functioning of the application. Your app should be entirely and fully usable on either the Standard or Micro edition of the Java platform. This is the only way to protect the application's cross-platform portability -- and considering that portability was probably why you chose Java as a platform in the first place, it makes sense to protect it.
The Parallel Port is the most commonly used port for interfacing home made projects. This port will allow the input of up to 9 bits or the output of 12 bits at any one given time, thus requiring minimal external circuitry to implement many simpler tasks. The port is composed of 4 control lines,5 status lines and 8 data lines. It's found commonly on the back of your PC as a D-Type 25 Pin female connector. There may also be a D-Type 25 pin male connector. This will be a serial RS-232 port and thus, is a totally incompatible port. Newer Parallel Ports are standardized under the IEEE 1284 standard first released in 1994.This standard defines 5 modes of operation which are as follows, 1. Compatibility Mode. 2. Nibble Mode. (Protocol not Described in this Document) 3. Byte Mode. (Protocol not Described in this Document) 4. EPP Mode (Enhanced Parallel Port). 5. ECP Mode (Extended Capabilities Port). The aim was to design new drivers and devices which were compatible with each other and Interfacing the Standard Parallel Port also backwards compatible with the Standard Parallel Port (SPP). Compatibility, Nibble & Byte modes use just the standard hardware available on the original Parallel Port cards while EPP & ECP modes require additional hardware which can run at faster speeds, while still being downwards compatible with the Standard Parallel Port. Compatibility mode or "Centronics Mode" as it is commonly known, can only send data in the forward direction at a typical speed of 50 kbytes per second but can be as high as 150+ k bytes a second. In order to receive data, you must change the mode to either Nibble or Byte mode. Nibble mode can input a nibble (4 bits) in the reverse direction. E.g. from device to computer. Byte mode uses the Parallel's bi-directional feature (found only on some cards) to input a byte (8 bits) of data in the reverse direction.
www.funonrails.com
twitter @sandipransing
Extended and Enhanced Parallel Ports use additional hardware to generate and manage handshaking. To output a byte to a printer (or anything in that matter) using compatibility mode, the software must. 1. Write the byte to the Data Port. 2. Check to see is the printer is busy. If the printer is busy, it will not accept any data, thus any data which is written will be lost. 3. Take the Strobe (Pin 1) low. This tells the printer that there is the correct data on the data lines. (Pins 2-9) 4. Put the strobe high again after waiting approximately 5 microseconds after putting the strobe low. (Step 3) This limits the speed at which the port can run at. The EPP & ECP ports get around this by letting the hardware check to see if the printer is busy and generate a strobe and /or appropriate handshaking. This means only one I/O instruction need to be performed, thus increasing the speed. These ports can output at around 1-2 megabytes per second. The ECP port also has the advantage of using DMA channels and FIFO buffers, thus data can be shifted around without using I/O instructions.
Address
Notes:
www.funonrails.com
twitter @sandipransing
3BCh - 3BFh
Used for Parallel Ports which were incorporated in to Video Cards and now, commonly an option for Ports controlled by BIOS. Doesn't support ECP addresses.
www.funonrails.com
twitter @sandipransing
Table - LPT Addresses in the BIOS Data Area. The above table, table 3, shows the address at which we can find the Printer Port's addresses in the BIOS Data Area. Each address will take up 2 bytes. The following sample program in C, shows how you can read these locations to obtain the addresses of your printer ports. #include <stdio.h> #include <dos.h> void main(void) { unsigned int far *ptraddr; /* Pointer to location of Port Addresses */ unsigned int address; /* Address of Port */ int a; ptraddr=(unsigned int far *)0x00000408; for (a = 0; a < 3; a++) { address = *ptraddr; if (address == 0) printf("No port found for LPT%d \n",a+1); else printf("Address assigned to LPT%d is %Xh\n",a+1,address); *ptraddr++; }
www.funonrails.com
twitter @sandipransing
There are two types of stepper motor that normally is used. 1) Unipolar 2) Bipolar
In simple terms they can be thought about like this. In unipolar there are 5 wires. One common wire and four wires to which power supply has to be given in a serial order to make it drive. Bipolar (not normally used in robotics) can have 6 wires and pair of wires is given supply at a time to drive it in steps. STEP ANGLE: The angle with which the stepper motor turns for a single pulse if supply tone wire or a pair is called step angle.
www.funonrails.com
twitter @sandipransing
The Micro C code for running the motor is as below. void main() { TRISB = 000; PORTB = 000; //routine to move in one direction for (i=0;i<50;i++)// increse i=50 no i=100 to cover double the distance { PORTB=080; delay(20ms); www.funonrails.com twitter @sandipransing
PORTB=040; delay(20ms); PORTB=020; delay(20ms); PORTB=010; delay(20ms); } //routine to move in the other direction for (i=0;i<50;i++) // increse i=50 no i=100 to cover double the distance { PORTB=010; delay(20ms); PORTB=020; delay(20ms); PORTB=040; delay(20ms); PORTB=080; delay(20ms); } } There are much easier ways to write the above code but this is the best code to run motor . The line PORTB = 080 (1000000)makes 8th pin of the PORT B thats b7 pin or the 40th pin go high. The next line PORTB = 040(01000000) will make the 39th pin go high and all other low. Now whenever the pin at the input of the ULN2803 goes high say pin 1 the output pin 16 drains the current throuh the motor thus completing the circuit from supply 12V through motor to the ground in that line. When you keep doing this in series, the abcd pulse the motor will rotate . When your reverse the pulse order the motor rotates in the other direction. As simple as that. For most robotic application atleast at contest level you
www.funonrails.com
twitter @sandipransing
may use this circuit uinless you go for bigger stepper motors that need more current to drive and is greater than the 500mA that the ULN2803 can sink!!
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
4.1.5 References
Books: i. ii. iii. iv. v. Web: i. ii. iii. iv. v. http://www.Google.com http://www.wikepedia.com http://www.beyondlogic.com http://www.boondog.com http://Processing.com Parallel port complete Serial port complete Microcontroller - Mazdi Vb.NET JavaTM Speech API Programmer's Guide
monitoring for user commands. The hosting site will provide only authorized users to log on and monitor the robotic arm. This will be done by proper user authentication during the login process. The client machine will log on to the site. If the user has access rights, he will be given total control of the hardware on the server side. The user will get a feedback from the server in a data format. Thus a secured communication link will be set between the client and the server. The server machine will be controlled by an administrator who will have sole rights to enroll a user to have access to the hardware. In critical conditions, the administrator has sole rights to prevent users from using the hardware.
Hardware Environment Parallel Port Interface Serial Port Interface Microcontroller Stepper Motor ULN 2803 (Darlington Driver) Bi-directional Buffer 74LS245 ARM Hardware
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
User will be able to see feedback through cameras online. 4.3.1.3 Functional Requirements This section lists the functional requirements in ranked order. A functional requirement describes the possible effects of a software system, in other words, what the system must accomplish. Easy programming paradigm The programming paradigm is kept so flexible that even non-technical personnel can implement complex algorithms with ease. Too many complex scientific applications can be implemented easily using the language. It allows the user to pay more attention to the problem at hand rather than the syntax of the language to be used. Full High Level Language Support & Integration Although easy to program also provides a mode in which the user can utilize the full power of Java programming language and its rich set of APIs to implement even complex programs that require OOP support apart from the hardware interfacing architecture. Portability The language is highly portable since all that is needed to implement and run cross platform applications is the native library support. The same programs that run on a Windows OS can be run on a Linux based OS without changing the code. Multiple Hardware Support The same can be used for interfacing a wide range of hardware profiles. Hardware domains ranging from Motor control, Electronic Interface, Analog Interface, Electrical Equipment Control, etc. can be controlled using the same hardware IO board.
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
4. 5.1.1 Java EE
Java EE also features some specifications unique to Java EE for components. These include Enterprise Java Beans, servlets, portlets (following the Java Portlet specification), JavaServer Pages and several web service technologies. This allows the developer to create an enterprise application that is portable between platforms and scalable, while integrating with legacy technologies.
www.funonrails.com
www.funonrails.com
twitter @sandipransing
JNI DLL PLC WCS HTML OS VQ Server TCP/IP WWW GUI API
Java Native Interface Dynamic Link Liabrary Programmable Logical Circuit Web-based Controlling System Hypertext Markup Language Operating System The computer was equipped with server software called VQ Server. Transmission Control Protocol/Internet Protocol World Wide Web Graphical User Interface Application Programming Interface
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
Chapter 5
High Level Design Document 5.1 Introduction 5.1.1 Background
While working everyday diminishes opportunity for on campus study, distance education becomes a major option and has been accepted widely. Though distance education works for many fields of study, it is difficult for those fields that require laboratory activities, such as manufacturing. The advancement of internet technology tools developed in 1990s made it possible to access a lab at distance. The internet technology tools allowed development of the idea of an Online Laboratory. An Online Laboratory would be maximized by remote control technology through internet. In any distance remote access control the system is very good beneficial at the crucial times. Doctors can use to do the distance operation so in such environments system may function. Below are the technological environments. Software Environment Any Platform Java Support Java Enabled Web Browser Apache Tomcat VC++/ VB6 Parallel Port Interface Serial Port Interface Microcontroller Stepper Motor twitter @sandipransing
Hardware Environment
www.funonrails.com
Previous application from our project concept may available but we are going to overcome all drawbacks of the previous application like fastest feedback of the operatin on the application. In our application DAM administrator is main person who will interact with the application also other can be sub administrator .The benefit to the administrator will be he can control the dam flow from any where in world by accessing internet only
www.funonrails.com
twitter @sandipransing
www.funonrails.com
twitter @sandipransing
5.2.2 Data
The database will be required for storing the values for the User ID and its Password means authentication. It will be the important database required and it will be the persistent data.
Introduction The database which is best suited easy and secure for authentication will be used like ORACLE or Access. Database will be selected for security requirements. Schema
The above figure will give the details about data type used, number of fields and the server will authenticate the person if it will be valid user on ID and Password.
www.funonrails.com
twitter @sandipransing
The above figure will show how the data can be stored in database with records. File and Data Formats Microsoft Access will be used as a database so the data format is .db for access. Other file format will be as followFor java - .java,. Class For VC++ - .dll
5.2.3 Communication
Whenever modules will communicate with each other it using TCP/IP protocol for communication ,this section indicate following. Client will interact with the server through TCP/IP protocol using JAVA
and HTML as GUI. application. So the server will receive the connection request and it will initiate the
www.funonrails.com
twitter @sandipransing
5.3 Operation
Once the implementation will complete the operation of the application can be as follows Login to server. Call Hardware Module. Taking user input . Give feedback .
User Interface for both the user are same but the priority is given to the administrator means if any situation the administrator want to take control on overall application he will lock the application and took control. In this section the Graphical user interface will be provided to the user. So the user can select the stepper motor operation and capable of changing stepper motor parameters such as speed and direction. This section will also contain progress bar and it will also provide the feedback to the user. The user(Administrator or Sub administrators)) who knows the application working can only work on this application so at the time of application planting user manuals are given to understand the system working so the user can work on it. Only authenticated persons can only access this application. No other person can work concurrently on it if anybody working on it only administrator can take control over the system.
www.funonrails.com
twitter @sandipransing
5.3.2 Installation
For installation of the application some are the hardware and software requirement are as follows . HARDWARE REQUIREMENTS: For Server: 1. Pentium 2 Processor 2. 128 MB RAM. 3. 4 GB of hard disk space. 4. Parallel / Serial Port For Client: 1. Pentium 2 Processor 2. 64 MB RAM. 3. 4 GB of hard disk space. 4. Internet SOFTWARE REQUIREMENTS 1. Windows 98 and above 2. J2EE 3. Tomcat 4. J2SE 5. Java Enabled Web Browser Installation can not be done by anyone it requires the system engineer who knows the installation skill very well. For installing software require CD to load the database on internet server which is used as web for the application. The installation will require serial key because it is very important application.
5.3.3 Licensing
Licensing is a very important for any software , in this application licensing will be available by some internal consistency check at the regular intervals.
www.funonrails.com
twitter @sandipransing
5.3.4 Upgrades
After some time of period each and every system needs to be upgraded so in this application up gradation will be done into newer versions .We have consider following things for up gradation as follows. It should be distributed through internet only. Appropriate license will be verified at time of up gradation. Only administrator can install the up graded version with or without any system engineer. It will be not complicated to install. For hardware up gradation the engineers from our company will visit the particular site. No we have not planned for any demo version before selling.
5.3.5 Uninstall
For this application uninstallation will require the system engineers from the company, because server installed program and hardware setup can be uninstalled by the system engineer only if any one try then it will affect on the Dam Window.
www.funonrails.com
twitter @sandipransing
5.4 Development
In the development field for these application first needs to collect hardware resources required build hardware setup, without hardware configuration we cannot implement software for it. So hardware module will be essential to setup before the software. Now need of server machine with domain address will be one of the essential requirements for development. We are developing this with only single team of four members, so concurrent developments will not possible .For accessing this domain will be essential constraint.
www.funonrails.com
twitter @sandipransing
5.5.2 Security
For the sake of Security user will require Huge Server Backup Trained user to operate software A technical Person to check the online hardware.
5.5.3 Glossary
VC++ J2EE J2SE To generate Inout.dll which provides hardware interface with the system Java 2 Platform, Enterprise Edition (J2EE) defines the standard for developing component-based multi tier enterprise applications. Java 2 Platform, Standard Edition (J2SE) 1.5
www.funonrails.com
twitter @sandipransing
5.5.4 Bibliography
Books: vi. Parallel port complete vii. Serial port complete viii. Microcontroller - Mazdi ix. Vb.NET x. JavaTM Speech API Programmer's Guide Web: vi. http://google.com vii. http://wikepedia.com viii. http://beyondlogic.com ix. http://boondog.com x. http://processing.com
www.funonrails.com
twitter @sandipransing