Sunteți pe pagina 1din 34

Remote Monitoring

System

Chapter 1

Abstract
One of the main benefits of the modern world of
mobile computing is how it is designed to free users from their traditional desktop
computers.
Remote control applications have long been a
popular option for connecting laptops and home PCs to remote systems, but typically
these have been, for example, accessing a Windows system from another Windows
system. But with the rise in power and capabilities of smart phones and mobile
operating systems, we are developing a system which can possible to remotely access
and control desktop systems from a Smartphone or tablet.
With these apps, users can enjoy the freedom of
mobility while still being able to access applications and files on their traditional
desktop systems. The system will make your phone (or tablet) to act as a remote.
The system presents the design and implementation
of turning smart phones into computer remote controllers that allow users to
wirelessly operate a computer using voice. Smartphones talk to a computer through
Wi-Fi access point network. Such a system has wide application in many
environment settings, such as conference rooms, classrooms, workgroup project
environments and even peoples living rooms etc.
The main features are:
Propose an open-source network monitoring system that allows users to control
his/her pc remotely.
The designed system can shutdown, restart, open an application ,transfer files,
print files etc
The server side application and android client application control the entire
network.
Thus the system operates PC from mobile device using with key pad inputs of
mobile/by voice.
With Smart Phone user can control server side application and can view file,
Print files.
With smart phone control mouse and keyboard of a system.

Platform: J2EE, Android SDK


Language: Java SE (Jdk 1.7)
Server -ApacheTomcat
Database: Mysql 5.O

Chapter 2
Introduction
A voice driven system called Remote Monitoring System, which stands for
Voice driven Smart Phone Controllable Wireless Sensor Network. Specifically, a
smart phone is built on a mobile computing platform, and has several peripherals
devices, such as Wi-fi, Bluetooth, GSM, sensors, camera and GPS. In Remote
Monitoring System, we primarily tap the voice recognition capabilities that are
built into current smart phones, by allowing users to speak to the microphone to
perform various actions ranging from simple tasks to complex administrations.
One unique advantage of using Remote Monitoring System is that
it allows users to speak to the smart phones. Voice command is send to pc. Thus

using a smart phone user can control server systems and client systems efficiently.

Chapter 3
Objectives
Remote Monitoring System Application is an innovative
solution which is an organized and systematically designed to control collection of
systems through voice or text command. Also admin can monitor another system
within that network, and control that system without any configuration. It is a
technically sound application which includes web based application as well as mobile
application.
In the Remote Monitoring System application has mainly two versions
They are:
1. User version
2. Admin version

The main objectives of user version:


To control the system functions by voice command.
To control the system functions by text input command.
To take print the data from smart phone by manual command.
To set user defined keywords to every command for user friendly.
To view files from the system by manual command.
To view current processes running in a system through smart phone.
To start any application in a system through smart phone.
To kill any process running in a system through smart phone.
To control mouse and keyboard of a system through virtual interface on
smart phone
The main objectives of admin version:
To view all IP address of the systems, which are currently active in that
network. Also select one of the systems by selecting appropriate IP address.
To view process details (ie process name, process id, session and memory)
which are currently running on the selected system
To view CPU usage details (ie system idle percentage and system CPU usage
percentage) of selected system.
To view system memory details (ie total system memory, used memory, and
free memory) of selected system.
To view drive memory details (ie memory details of each drive) of selected
system.
To control any client system including kill any process currently running on
the client, start any application on client, also shutdown and restart the
client system.
To monitoring client system. View and control the client system at admins
system itself.

Chapter 4
System Analysis
4.1. Existing System and its Disadvantages
The existing system related to voice driven system is voice control
keyboard and control the system. The selected commands are trained on the PC with
the help of the Voice-control. And also the systems which have to control the house
hold devices through voice command. Also an existing system has to control a system
with a smart phone. But the whole functionalities of our project Remote Monitoring
System are not in any existing system. So that we can implement many features
through Remote Monitoring System than existing system.
Disadvantages of existing system:
Lack of Time and is Cost Effective.
Less convenience.
Difficulty in finding Clients.
Not all functionalities are combined in a system

4.2. Proposed System and its Advantages


In Remote Monitoring System application users can register at sever by
register his details with username and password. Then user can login in smart phone
using his username and password. He can access all features provided by the
application. Mainly the users can input command through voice or manually.
Manually the users can send command to control the system, which

selected by chosen respective ip address from the currently active systems. Users can
manually send command such as shut down, restart, view files from the system, and
take print of data from the phone through the printer connected to the selected
system.
The users can speak to microphone to perform various actions that
controls a selected system. Also in this interface users can manually type the input
commands to send for performing system actions.
This application also provides users to set keywords to every process for
user friendly.
Also the admin can view process details, cpu details, system memory
details and memory details of drives of client system. Admin can also control client
system ie shutdown or restart the client system, start any application on client system
and kill any process currently running on the client system.

Advantages
Smartphone application, which enables mobility
Very easily understandable user interface.
Though Simple in appearance features/facilities/security has been taken care
without any compromise.
One time registration for user.

Chapter 5
System Requirements

5.1.Software Requirements

Software

Version

JDK

1.7

Eclipse IDE

Eclipse Classic 3.3.2

Android SDK

Android 2.1-2.3

MySQL
ApacheTomcat

MySQL6.0
Apache Tomcat 7.0

Java is a programming language originally developed by James


Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and
released in 1995 as a core component of Sun Microsystems' Java platform. The
language derives much of its syntax from C and C++ but has a simpler object model
and fewer low-level facilities. Java applications are typically compiled tobytecode
(class file) that can run on any Java Virtual Machine (JVM) regardless of computer
architecture. Java is a general-purpose, concurrent, class-based, object-oriented
language that is specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run anywhere"
(WORA), meaning that code that runs on one platform does not need to be
recompiled to run on another. Java is currently one of the most popular programming
languages in use, particularly for client-server web applications.
One characteristic of Java is portability, which means that computer programs
written in the Java language must run similarly on any hardware/operating-system

platform. This is achieved by compiling the Java language code to an intermediate


representation called Java bytecode, instead of directly to platform-specific machine
code. Java bytecode instructions are analogous to machine code, but are intended to
be interpreted by a Virtual Machine (VM) written specifically for the host hardware.
End-users commonly use a Java Runtime Environment (JRE) installed on their own
machine for standalone Java applications, or in a Web browser for Java applets.
Java Platform, Standard Edition (Java SE 7)
The two principal products in the Java SE platform are:
Java Development Kit (JDK) and
Java SE Runtime Environment (JRE)
The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java
developers. Since the introduction of Java, it has been by far the most widely used
Java SDK. On 17 November 2006, Sun announced that it would be released under the
GNU General Public License (GPL), thus making it free software. Java SE 7 is the
current major release of the Java SE platform, with full support from Net Beans IDE.
Sun endeavours to foster the highest level of transparency and collaboration on the
platform with the Java community through Project JDK 7.
The Java Runtime Environment (JRE) provides the libraries, the Java Virtual
Machine, and other components to run applets and applications written in the Java
programming language.

J2EE
Java Platform, Enterprise Edition or Java EE is Oracle's enterprise java computing
platform. The platform provides an API and runtime environment for developing and
running enterprise software, including network and web services, and other largescale, multi-tiered, scalable, reliable, and secure network applications. Java EE
extends the Java Platform, Standard Edition

(JavaSE), providing an API for fault-

tolerance, object-relational mapping, distributed and multi-tier architectures, and web

services. The platform incorporates a design based largely on modular components


running on an application server. Software for Java EE is primarily developed in the
Java programming language and uses XML for configuration. The platform was
known as Java 2 Platform, Enterprise Edition or J2EE until the name was changed
to Java EE in version 5. The current version is called Java EE 6.Java EE is defined by
its specification. As with other Java Community Process specifications, providers
must meet certain conformance requirements in order to declare their products
as Java EE compliant.

Java

EE

includes

several API specifications,

such

as JDBC, RMI, e-

mail, JMS, web services, XML, etc.,and defines how to coordinate them. Java EE
also features some specifications unique to Java EE for components.These include
Enterprise

JavaBeans, Connectors, servlets, portlets (following

the Java

Portlet

specification), JavaServer Pages and several web service technologies.This allows


developers to create enterprise applications that are portable and scalable, and that
integrate with legacy technologies. A Java EE application server can handle
transactions, security, scalability, concurrency and management of the components
that are deployed to it, in order to enable developers to concentrate more on the
business logic of the components rather than on infrastructure and integration tasks.
Working environment/Software tools Detailed Description
Eclipse IDE classic
Eclipse is a multi-language software development environment comprising an
Integrated Development Environment (IDE) and an extensible plug-insystem. It is
written mostly in Java and can be used to develop applications in Java and, by means
of various plug-ins, other programming languages including Ada, C, C++, COBOL,
Perl, PHP, Python. The IDE is often called Eclipse ADT (Ada Development Toolkit)
for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP.

Eclipse Classic is the most recent release from the Eclipse top-level project (it
is what has traditionally been the main download on this site). It contains what you
need to build applications based on Eclipse technology, including integrated
development environments (IDE), and rich client applications using the Eclipse Rich
Client Platform (RCP). The Eclipse Classic provides superior Java editing with
incremental compilation, the Plug-in Development Environment (PDE), complete
source code for the Eclipse Platform
Android SDK
The Android platform is made available under one of the most progressive,
developer-friendly open-source licenses, which gives mobile operators and device
manufacturers significant freedom and flexibility to design products. Android holds
the promise of unprecedented benefits for consumers, developers and manufacturers
of mobile services and devices. Handset manufacturers and wireless operators will be
free to customize Android in order to bring to market innovative new products faster
and at a much lower cost. Developers will have complete access to handset
capabilities and tools that will enable them to build more compelling and userfriendly services, bringing the Internet developer model to the mobile space. And
consumers worldwide will have access to less expensive mobile devices that feature
more compelling services, rich Internet applications and easier to use interfaces
ultimately creating a superior mobile experience.
For developers, the Android 2.0 platform is available as a downloadable
component for the Android SDK. The downloadable platform includes a fully
compliant Android library and system image, as well as a set of emulator skins,
sample applications, and more. The downloadable platform is fully compliant and
includes no external libraries.
Apache Tomcat
Apache Tomcat (or Jakarta Tomcat or simply Tomcat) is an open source servlet
container developed by the Apache Software Foundation (ASF). Tomcat implements
the Java Servlet and the JavaServer Pages (JSP) specifications from Oracle

Corporation, and provides a "pure Java" HTTP web server environment for Java code
to run. Apache Tomcat powers numerous large-scale, mission-critical web applications across a
diverse range of industries and organizations. Apache Tomcat version 7.0 implements the Servlet
3.0 and Java Server.

Dreamweaver
Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a proprietary web
development application originally created by Macromedia, and is now developed by
Adobe Systems, which acquired Macromedia in 2005.
Dreamweaver is available for both Mac and Windows operating systems. Recent
versions have incorporated support for web technologies such as CSS, JavaScript,
and various server-side scripting languages and frameworks including ASP (ASP
JavaScript, ASP VBScript, ASP.NET C#, ASP.NET VB), ColdFusion, Scriptlet, and
PHP.

5.2. Hardware Requirements

COMPONENT

MINIMUM
REQUIREMENT

Processor

64-bit, four cores

RAM

2GB for developer or


evaluation use

Hard disk

100 GB for system drive

Chapter 6
System Design
6.1 .Module and Description
The system presents the design and implementation of turning
smart phones into computer remote controllers that allow users to wirelessly operate
a computer using voice. Smartphones talk to a computer through Wi-Fi access point
network. Such a system has wide application in many environment settings, such as
conference rooms, classrooms, workgroup project environments and even peoples

living rooms etc.


In Phone application users can register at sever by register his details with
username and password. Then user can login in smart phone using his username and
password. He can access all features provided by the application. Mainly the users
can input command through voice or manually.
Manually the users can send command to control the system, which
selected by chosen respective IP address from the currently active systems. Users can
manually send command such as shut down, restart, view files from the system, and
take print of data from the phone through the printer connected to the selected
system.
The users can speak to microphone to perform various actions that
controls a selected system. Also in this interface users can manually type the input
commands to send for performing system actions.
This application also provides users to set keywords to every process for
user friendly. User can also control mouse and key board of a system through a
virtual interface of smart phone.
The user can control the system by sending command to the corresponding
system through admin.
Also the admin can view process details, cpu details, system memory
details and memory details of drives of client system. Admin can also control client
system ie shutdown or restart the client system, start any application on client system
and kill any process currently running on the client system. Also admin can monitor
the client system.
6.2.

Project Module
Admin version
User version

6.3.

Module Explanation

6.3.1 Admin version

Admin has the overall control over the web side.


Admin will be responsible for
Login makes the admin to login to the application.
Select one of the IP address
View Process details which includes view process name, process id, session
and memory.

View CPU usage which includes view system idle percentage and system CPU
usable percentage.
View System memory details which includes view total system memory, total
used memory and total free memory.
View Drive memory details which include view memory details of each drive.
Manage client which includes shutdown and restart the client system, start any
application on client system and kill any process running on the client system.
Monitoring client system which includes admin select the client system and
select a port. Admin can view the screen of client system on admins system.
Then admin can control the client system.
6.3.2 User version
User can interact with admin, by sending commands to system through admin.
User will be responsible for
Register this application with one time registration through smart phone.

After registration user can login to the application with valid username and
password.
Control

selected

system

by

send

command

manually

pressing

corresponding buttons. Such as shutdown, restart, start any process, kill any
currently running process in the system. Also view currently running process in
the system.
Take print any file in smart phone.
Control selected system by send voice command.
Control mouse and keyboard of selected system through smart phone.
Set keyword to every command for user friendly.

Chapter 7
System Development

7.1. Testing
A good test case is one that has a high probability of finding an as yet

uncovered error. They are all about making sure that the product fulfills the
requirement of the system. Then the test procedures are designed for these test cases
and finally test scripts are created to implement the procedures. Two types of test case
designs are white box testing and black box testing. White box testing also called
glass box testing focus on the program control structure. The black box testing
method focus on the functional requirements of the software.
7.2 TESTING STRATEGIES
A strategy for software testing integrates software test case design methods in
to a well-planned series of steps that results in the successful construction of the
software. The strategy provides a road map that describes the step to be conducted as
part of testing, when these steps are planned and undertaken, and how much effort,
time and resources will be required. Therefore any testing strategy must incorporate
test planning, test case, design, test execution and resultant data collection and
evaluation. A software testing strategy should be flexible enough to promote
customized testing approach. At the same time, it must be rigid enough to promote
reasonable planning and management tracking as the project progresses. The project
manager, software engineer and testing specialists develop a strategy for a software
testing. The general characteristics of software testing strategy are:
1. Testing begins at the component level and works outward toward the
integration of the entire computer system.
2. Different testing techniques are appropriate at different point in time.
A strategy for software testing must accommodate low-level tests that are
necessary to verify a small source code segment has been correctly implemented as
well as high level testing that validates major system function against customer
requirements.
White Box Testing
White box testing is a way to test software with knowledge of the internal
workings of the item being tested. It is also called clear box testing, glass box testing
and structural testing. White box testing is used in computer programming, software

engineering and software testing to check that the outputs of a program, given certain
inputs, conform to the structural specification of the program.
The term white box indicates that testing is done with knowledge of the code
used to execute certain functionality. For this reason programmer is usually required
to perform white box tests.
In the system white box testing was done successfully by checking all the
outputs of the program are in conformity to the given inputs.

Black Box Testing


It is also known as functional testing. It is carried out to make sure that the
software is doing exactly what is supposed to do. This type of testing must be done
before the software is released to customers. Functional testing is done by people
whose primary job is software testing. The key point to keep in mind is that the
person who wrote a software component not be the person who tested it.
Black box testing was performed successfully in the system by preparing a
testing plan for each component of the software and by creating certain infrastructure
or environment to test the functionality of the piece of code.
7.3 DIMENSIONS OF TESTING

Unit Testing
Integration Testing
User Acceptance Testing
Data Validation Testing

Unit Testing
In this testing we test each module individually and integrate the overall
system. Unit testing focuses verification efforts on the smaller unit of software design
in the module. This is also known as module testing. The modules of the system are
tested separately. The testing is carried out during programming stage itself. In this
testing step each module is found to work satisfactory as regard to the expected

output from the module. There are some validation checks for verifying the data input
given by the user. It is very easy to find error and debug the system.
Integration Testing
Data can be lost across an interface; one module can have an adverse effect on
the other sub functions when combined by may not produce the desired major
functions. Integrated testing is the systematic testing for constructing the uncover
errors within the interface. This testing was done with sample data. The need for
integrated test is to find the overall system performance.
User Acceptance Testing
User acceptance testing consists of a process of verifying that a system meets
mutually agreed-upon requirements. A subject-matter expert, preferably the owner or
client of the object under test, provides such information after trial or review. In
software development, user acceptance testing as one of the final stages of a project
often occurs before a client or customer accepts the new system.
Data Validation Testing
Data validation is the process of testing the accuracy of data; a set of rule we
can apply to a control to specify the type and range of data that can enter. It can be
used to display error alert when users enter incorrect values into a form.

8. Project Implementation
The implementation environment has software such as JDK 1.6
running in Windows operating system. JDK is a developer environment for building
application, applet and component using java programming language.JDK 1.7
includes tools for developing and testing programs written in the java programming
language. The IDE used is Eclipse an open source community that develops open

platform and products. Eclipse IDE is a product of eclipse. Here we are using Eclipse
classic 3.3.2.The User application is done using Android. Android SDK is a software
stack for mobile devices that includes an Operating System, middleware and key
application. Android SDK provides the tools and application necessary to begin an
application on the android platform.
Admin side is done in J2EE.The project has two versions.
Admin version and User version.
Admin version can include the facility to make login to the
application with valid username and password. Admin can select any system to
control by selecting corresponding IP address. Then admin can view the process
details, CPU usage details, system memory details and drive memory details of
selected system. Also admin can manage the actions such as restart, shutdown start
any application, and close any application currently running on the selected system.
Also admin can monitor any client, ie admin can see the screen of client system on
admins system itself. So admin can control client system through admins system.
User version includes the facility to make login to application using valid
username and password. User can manually control any of the system within the
network by pressing corresponding buttons, such as restart, shutdown, and start
process like. User can take print a file in phone. Also user can control mouse and
keyboard of a system. User can also send command through voice or text inputs to
control a system. Also user can set keyword for every command for more user
friendly.

9. Conclusion
Although wireless sensor networks have been widely used in a large variety of
applications, their requirements on computer background for users have prevented
them from being easily adopted and deployed by the mass audience. As an initial step

towards the solution for this problem, the Remote Monitoring System is solved this
(Voice-driven Smartphone Controllable Wireless Sensor Networks), which allows
users to speak natural language to the smart phone to perform administration tasks
such as shut down a system, restart a system. Also user can send command as text
input to system. The another feature of Remote Monitoring System is mange number
of systems such as start a new process on a system, kill a process which are currently
running on a system, print a pdf data from phone . And also the admin can monitor
and control any selected client system.

10.Future Enhancement

Remote Monitoring System application works with android only. In future


work the Remote Monitoring System is modified to work with iphone and blackberry.
Also now the application can only print the pdf file only. So make the next version of
Remote Monitoring System print .jpg, .txt, .doc file also. And another demerit is
cannot show the monitoring of a system on a phone. So avoid the problem in future
version of this application.

11.References

C. Park, Q. Xie, and P. H. Chou, Duranode: Wi-Fi-based sensor node for real-time
structural safety monitoring, in The Fourth International Conference on Information
Processing in Sensor Networks (IPSN 2005), April 2005.

Z. Fanfeng, Application research of voice control in reading assistive device for visually
impaired persons, in Multimedia Information Networking and Security (MINES), 2010

International Conference on, November. 2010.


T. Savu and M. Ghercioiu, Measuring with ultra-low power Wi-Fi sensor tags in lab
view, W. Trans. on Comp., vol. 7, no. 7, pp. 10001009, Jul. 2008.

K.K. Aggarwal, Yogesh Singh, Software Engineering, 2005.

WEB SITES
http://www.redpinesignals.com/pdfs/White-Paper-Sensor-Networks.pdf

http://www.javamaze.com/java.html

http://www.cse.nd.edu/~cpoellab/teaching/cse40816/android_tutorial.pdf

12.Screen shorts
1.Admin
1.Login

2.Home

3.Process_details

4.Drive_memory

5.Manage_client

2.user
1.Registration

2.Login

3.Home

4.Settings

5.Manual_command

6.Print

7.Timer

8.View process

9.Voice command

13.Database design
Tables

1. Admin_login

2. Command_details

3. Cpu_details

4. Drive_details

5. Ip_details

6. Login

7. Memory_details

8. Print_details

9. Process_details

10. Registration

10.

Memory_details

11.

Print_details

12.

Process_details

10. Registration

S-ar putea să vă placă și