Académique Documents
Professionnel Documents
Culture Documents
1. INTRODUCTION
1.1 About the system
The Remote Control system is used to communicate with the remote system and is
used to establish a connection between the remote systems without considering its
distance range via internet and control the operation of the remote system. Here the
smartphone is working as a remote controller. The system is built upon Remote
Desktop protocol. This protocol is developed by Microsoft, which provides the user
with a graphical interface to connect to another computer over a network connection.
The user employs RDP client software for this purpose, while the other computer must
run RDP server software.
CIMAT
2.2 Objective
To access the remote desktop from mobile phone.
To take control of remote computer hardware devices.
To perform remote troubleshot for computers.
Virtual teaching or presentation can be performed.
CIMAT
which can perform most of the events that helps in interacting with the computer
system.
Development Phase
The coding process of the various validations is done for the proposed system
design of Remote control application. Not only the coding section, the infrastructure is
also developed during this phase and all roles are active in building and testing
deliverables. The button placed on the viewer are checked and verified for the outcome
of every button pressed. The time delay on the viewer and the remote system is
checked.
3.1 Existing system
The current existing systems are potentially good systems, which do allow us to
remotely connect to the remote machines and access their respective desktops. But
most of the existing systems are quite difficult to use and implement for a layman.
Moreover these systems have limit access over the computer system. These mostly are
able to control mouse events and few applications of the computers. But full and final
control over the computer features is less perfect.
Disadvantages
Remote Desktop Protocol (RDP) is a multi-channel protocol that allows a user to
connect to a computer running Microsoft Terminal Services.
In some of the existing systems, when a user accesses the desktop of the remote
machine then the display terminal of that remote machine is disabled. This is a
major limitation, because it prohibits the original user of the remote machine to
carry out his/her task.
In some of the already existing systems, the quality of desktop image captured is
of poor quality.
CIMAT
CIMAT
Feasibility Study
The feasibility of the Remote Control System project can be ascertained in terms
of technical factors, economic factors, or both done by before starting the project. A
feasibility study is documented with a report showing all the ramifications of the
project.
Technical Feasibility
The expertise used can be urbanized with the current equipments and has the
technical capacity to hold the data required by the new system.
This knowledge supports the recent trends of technology
Easily accessible, more secure technologies.
Technical feasibility on the existing system and to what extend it can support the
proposed addition. We can add new modules easily without affecting the Core
Program. Most of parts are running in the server using the concept of stored
procedures. The server accelerates and extends desktop and application deployment to
any device, improving remote workers efficiency and providing security over
connection. Mobile devices have become an essential part of our daily life. Their
portability is well appreciated by end-users and smart phones sales will soon surpass
desktop sales. As mobile device attractiveness grows, end-user demands to scamper
heavier applications are evenly increasing. Although advances in neatness persist, the
longing to preserve the compensation.
Financial feasibility
The software and hardware required for the system is analyzed so as to get the
total idea of the financial state of the project. It is find out that as the system is a
mobile application runnable on android devices, the hardware resources require is very
low. Also the software requirement it less. The system will work on any system
supporting android. The working of the system will mainly require a dedicated internet
connection. So after the analysis it is determined that the Remote control system is a
financially efficient system. The system is maintained by a single user so manpower
required is less. As a dedicated internet connection is required for the remote control
CIMAT
system to work, both computer system and cellular phone should purchase an package
of internet connection.
Operational feasibility
The Remote control is analyzed such that it meets the purpose of the system. In
future this will still be reliable as it is an open source platform based project which is
implemented using Android and java. The software is well advance to engulf all future
changes. As the entire smart phone that is marketed has 50% of android device it is
developed so as to meet any android device. Its interface is easy to access and control.
It is also analysis that the proposed system is properly fulfilling the operation specified
in it.
3.4 Hardware and Software Requirements.
3.4.1 Requirement
The selection of hardware is very important in the existence and proper working
of any software. When selecting hardware, the size and requirements are also
important.
System Requirement
Network
OS
Processor
Ram
: 512 MB
Disk space
: 20GB HDD
Smartphone Requirement
CIMAT
Network
OS
Processor
Ram
: 512 MB
Disk space
: 1GB
3.4.2 Android
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. The Android SDK provides the tools and APIs
necessary to begin developing applications on the Android platform using the Java
programming language. It based on the Linux kernel. Android is designed primarily
for touch screen mobile devices such as smart phones and tablet computers.
Features
Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source Weskit engine
Optimized graphics powered by a custom 2D graphics library; 3D
graphics based on the OpenGL ES 1.0 specification (hardware acceleration
optional)
SQLite for structured data storage
Media support for common audio, video, and still image formats(MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Camera, GPS, compass, and accelerometer (hardware dependent).
CIMAT
ANDROID ARCHITECTURE
The following diagram shows the major components of the Android operating
system.
Each
section
is
described
in
more
detail
below
CIMAT
10
Libraries
Android includes a set of C/C++ libraries used by various components of the
Android system. These capabilities are exposed to developers through the Android
application framework. Some of the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system
library (libc), tunedfor embedded Linux-based devices
Media Libraries - based on PacketVideo'sOpenCORE; the libraries support
playback and recording of many popular audio and video formats, as well as static
image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly
composites 2D and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android
browser and an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use
either hardware 3D acceleration (where available) or the included, highly
optimized 3D software rasterizer
Android Runtime
Android includes a set of core libraries that provides most of the functionality
available in the core libraries of the Java programming language. Every Android
application runs in its own process, with its own instance of the Dalvik virtual
machine. Dalvik has been written so that a device can run multiple VMs efficiently.
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is
optimized for minimal memory footprint.
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security,
memory management, process management, network stack, and driver model. The
kernel also acts as an abstraction layer between the hardware and the rest of the
software stack.
CIMAT
11
Android SDK
The Android software development kit (SDK) includes a comprehensive set of
development tools. These include a debugger, libraries, a handset emulator based on
QEMU, documentation, sample code, and tutorials. Currently supported development
platforms include computers running MacOSX 10.5.8 or later, Windows XP or later.
The officially supported integrated development environment (IDE) is Eclipse using
the Android Development Tools (ADT) Plugin, thoughIntelliJIDEAIDE (all editions)
fully supports Android development out of the box, and Net Beans IDE also supports
Android development via a plugin. Additionally, developers may use any text editor to
edit Java and XML files, then use command line tools to create, build and debug
Android
applications
as
well
as
control
attached
Android
devices.
The
Android SDK includes sample projects with source code, development tools,
an emulator, and required libraries to build Android applications. Android SDK build
tools are used to debug, build, run and test an Android application.
3.4.4 Xml 1.1
Android applications are written in the Java programming language, so
experience with Java technology is must-have. To develop for Android, user will need
the Android .All of the code shown in this article will work with any version of the
Android SDK, but SDK 1.5_pre was used to develop the code. User can develop
Android applications with just the SDK and a text editor, but it is much easier to use
the Android Developer Tools (ADT), an Eclipse plug-in.
Xml on Android
The Android platform is an open source mobile development platform. It gives
user access to all aspects of the mobile device that it runs on, from low level graphics,
to hardware like the camera on a phone. With so many things possible using Android,
you might wonder why you need to bother with XML.
XML is so interesting; it is working with the things that it enables if user wants to send
data to a Web service, you might also need to send XML. In short, if users Android
application will leverage the Internet, then you will probably need to work with XML.
CIMAT
12
Xml Parsers
API: Application programming interface
RSS: Really Simple Syndication
SDK: Software Developers Kit
UI: User interface
3.4.5 Java Programming Language
The java programming language is a high-level language that can be
characterized ball of the following buzzwords:
Simple
Architecture neutral
Object oriented
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic
13
other hardware-based
platforms.
The Java Platform Have Two Components
The Java Virtual Machine (Java VM)
The Java Application Programming Interface (Java API)
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets.
The most common types of programs written in the Java programming language
are applets and applications. If youve surfed the Web, youre probably already
familiar with applets. Applet is a program that adheres to certain conventions that
allow it to run within a Java-enabled browser. An application is a standalone program
that runs directly on the Java platform. A special kind of application known as a server
serves and supports clients on a network. Examples of servers are Web servers, proxy
servers, mail servers, and print servers. Another specialized program is a servlet. A
servlet can almost be thought of as an applet that runs on the server side. Java Servlets
area popular choice for building interactive web applications, replacing the use of CGI
scripts. Servlets are similar to applets in that they are runtime extensions of
applications. Instead of working in browsers, though, servlets run within Java Web
servers, configuring or tailoring the server. applet is a program that adheres to certain
conventions that allow it to run within a Java-enabled browser. An application is a
standalone program that runs directly on the Java platform.
CIMAT
14
Every definition.
The costs included in an estimate are explicitly stated. Because COCOMO is well
defined, and because it doesnt rely upon proprietary estimation algorithms, the
advantages to its user:
COCOMO can be calibrated to reflect your software development environment,
and to produce more accurate estimates.
The COCOMO calculations are based on your estimates of a projects size in
Source Lines of Code(SLOC).
The estimation formulas have the form
Estimation formulas = Li(LOC) exp(Xi)*EAF
Where E is the effort applied in person-months,
Li is the coefficient and exponents Xi are the organic values,
LOC is estimated number of delivered lines of code for the project.
Effort Adjustment Factor (EAF) having the typical values. That range from 0.9 to 1.4
Li=3.2, Lines of code=.205, Xi=1.05 and EAF is the 1.4
Em(Estimation cost per month) = 3.2(.205)(1.05)^1.4
= (0.656)(1.07069)
=702.37
Project coding time
= 3 months
Coefficient value = 3 months (90 days) / line of code
= 439
Effort Estimation =. (Coefficient value ) (Estimation cost per month)
.439 * 702.37 = 0.309
Approximation cost = Effort Estimation * Project coding time.
=0.309 * 3
= 927
CIMAT
15
%
Cost
Direct
35%
324.45
10%
92.7
Manpower
40%
370.8
Development
5%
46.35
Testing
5%
46.35
Maintenance
5%
46.35
Resources
Indirect
Resources
Costing
Total Cost
927
3.5.2 Scheduling
Scheduling is the culmination of a planning activity that is a primary component
of software project management. When combined with estimation methods and risks
analysis, scheduling establishes a road map for the project manager. Scheduling begins
with process decomposition.
Table 2: Scheduling
CIMAT
Analysis
16 - 01 2016
Design phase
13 02 - 2016
Coding
10 03 2016
Testing
15 03 2016
Implementation
23 03 - 2016
Document
12 04 -2016
16
Introduction
Remote control System design involves two main aspects over which the
success of the system depends. The input design and output design. The input and
output design deals with the proper acceptance of the information given to the system
by the user which should satisfy certain validation and authentication. The design
involves translating information requirements and conceptual design into technical
specification and general flow of processing. After the user requirements are
identified, related information is gathered to verify the problem and after evaluating
the existing system, a new system is proposed. The design of remote control system, is
prepared to achieve high performance and user friendly. It has been assured that the
system will have the functions and promises of the proposed system. Design phase acts
as a bridge between the software requirement specification and the implementation
phase, which satisfies the requirements. The major step in design is the preparation of
input forms and the design of all the major output forms in a manner acceptable to the
user in all aspects. The base lies in the complete understanding of the system. The data
flow diagrams explicitly specify the process flow. Table design or database design is
the next major step. Extreme care has to be given here and several concepts of
normalization have to be applied at many levels. Program specification comes next.
Here we specify various aspects of the program and also will explain in detail the
major components used in the program. The overall process flow is also explain in
much detail. Various validation rules and constraints such as data format checking are
applied during data input. The citizen or seekers that registered to the application are
validated by administrator. To ensure security strict checking of password and
username had done. Inputs, outputs have to be designed as per predefined guidelines.
Effective and meaningful navigation has to be applied. In the input design, the useroriented inputs are converted into computer-based formats whereas in the output
design, the emphasis is on producing the hard copy or soft copy of the information
requested for. Code design is also of much importance. It directly refers to various
CIMAT
17
codes used in the programs and their usage specification. The category to which these
codes belong should also be specified.
4.1 Input Design
Input design converts user-oriented inputs to computer-based format, which
requires careful attention. The collection of input data is the most expensive part of the
system in terms of the equipment used and the number of people involved. In input
design, data is accepted for computer processing and input to the system is done
through mapping via some map support or links. Inaccurate input data is the most
common cause of errors in data processing. The input screens need to be designed very
carefully and logically. A set of menus is provided which help for better application
navigation. While entering data in the input forms, proper validation checks are done
and messages will be generated by the system if incorrect data has been entered.
Carefull form and layout design is done in the remote control system, the
overall system is divided into a number of layour. This layour will differ based on the
fragments changes to engulf the complete screen of the remote system on the mobile
viewer.
4.2 Output Design
Outputs are the most important and direct source of information to the user and
to the department. Intelligent output design will improve the systems relationship with
the user and help much in decision-making. Outputs are also used to provide a
permanent hard copy of the results for later uses. The layour used in the system are
shown in the appendix. The Output Design is another very important phase. The
outputs are mainly used to communicate with a user, processing the input data given
by the user etc.
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are communicated
to the users and to other through outputs. In the Output design it is determined how the
information is to be displayed for immediate need and also hardcopy out.
CIMAT
18
CIMAT
19
20
convey to the user which is working on server. This client saves .txt file to server
computer. By seeing message in the notepad file user will respond.
4.6 Development
Development is the state in the project where the theoretical design is turned a
working system. The most critical stage in achieving a new successful system and
getting in confidence on the new system for the user that it will work efficiently and
effectively. The system can be developed only after thorough testing is done and if it is
found to work to the specifications. It involves careful planning, investigation of the
current system and its constraints on development. More complex the system being
developed, the more work involved will be the system analysis and design effect
required for development.
CIMAT
21
5.2.2 Validations
Validation also has been done through inappropriate user input. For example, if
user giving inappropriate input in new message page. This will warn user to give
correct input. Example : phone number, date and time.
CIMAT
22
CIMAT
23
The testing methods in this particular system is considered success when there is no
delay in connection between the remote system and the cellular phone and also the
interaction result in both the system is parallel carried out without delay.
CIMAT
24
5.5
Implementation.
Conversions to new systems often get off track because companies fail to plan
the project realistically or they don't execute or manage the project by the plan.
Remember that major systems conversions are not just IT projects. Companies should
maintain joint responsibility with the vendor in the project-planning process,
maintenance of the project-plan status, as well as some degree of control over the
implementation.
All key user departments should have representation on the project team,
including the call centre, website, fulfilment, management, merchandising, inventory
control, marketing and finance. Team members should share responsibilities for
conversion, training and successful completion of the project tasks.
The software vendor should have a time-tested project methodology and
provide a high-level general plan. As the merchant client, your job is to develop the
detailed plan with the vendor, backed up with detail tasks and estimates.
For example, a generalized plan may have a list of system modifications, but
lack the details that need to be itemized. These may include research, specifications,
sign-offs, program specs, programming, testing and sign-off, and the various levels of
testing and program integration back into the base system.
Plan for contingencies, and try to keep disruptions to the business to a
minimum. We have seen systems go live and with management initially unable to get
their most frequently used reports this can be a big problem.
Along the same lines, you should schedule the go-live for the slowest period of
the year. In consumer retail and ecommerce businesses, systems generally aren't
brought live from January through April.
The systems project should have a senior manager who acts as the project
sponsor. The project should be reviewed periodically by the steering committee to
track its progress. This ensures that senior management on down to the department
managers are committed to success.
Once you have a plan that makes sense, make sure you manage by the plan. This
sounds elementary, but many companies and vendors stumble on it.
CIMAT
25
Early in the project publish a biweekly status report. Once you get within a few
months, you may want to have weekly conference call meetings and status updates.
Within 30 days of go live, hold daily meetings and list what needs to be achieved.
Probably the most under planned area is in training and writing procedures.
You need to understand that the vendor will provide documentation only about the
application and, at best, how the system operates in terms of functionality.
The vendor's approach is typically to train your trainer. From there, it's your
responsibility to develop training materials and approaches for the various departments
and the new policy and standard operating procedures (SOPs) that are required.
Most companies don't have full-time trainers. It's a good idea to train each
department manager on the application, and then have them develop the SOPs and set
training for their department. All of this will need to be standardized so that the
documentation is at the same level of detail across the operational departments.
It generally takes six to 12 months after implementation for companies to start
feeling comfortable with the new systems. It may take longer to achieve the ROI from
the application. Training is the single most important thing you can do to shorten the
learning curve.
Most vendors offer not only the initial training, but also more advanced instruction for
super users. Budget for the additional training; it's the smallest part of the total
expense. And perform a post implementation audit 30 to 60 days after the go-live.
Identify the individuals and departments for which additional training is necessary
CIMAT
26
6. COMPARATIVE STUDY
Computer system is advancing at a day to day rate, as it is considered as the
backbone of the technological world. Its advancement has reached to a point that now
the operations over the computer system is done remotely. As per the system followed
till now the remote controlling was restricted to mouse movement and control over
some defined application. The proposed system is far advanced; it has equipped a
graphical interface design with the help of remote desktop protocol. This enable the
user to visualise the remote system screen on the viewer application installed on the
smartphone from any location. Also the earlier system was based on Bluetooth so the
distance and range was limited. Now the use of internet has cancelled the problem of
distance and range. The most important purpose achieved by the remote control
system is troubleshoot the of the computer system at remote location. It is so firmly
confirmed that the developed system is highly functional than the previous system.
CIMAT
27
7. CONCLUSION
Remote control system is working as a perfect solution for the lack of time in
this busy world. It has cancelled the need that the computer operator should be present
at the system location to interact with it. Now the user can be at any location and still
can interact with system in remote location. The presentation work, the
troubleshooting and the teaching process all can now be achieved from any location.
To operate this kind of project man power required is very less so the system can be
adopted by any kind of user. This concept of remote controlling has the highest
possibility to be developed in the future. So the usage of the system at its starting level
will help understand and research the future enrolment of this kind of technology.
CIMAT
28
CIMAT
29
9. BIBLIOGRAPHY
1.
2.
3.
4.
Wrox
5.
CIMAT
30
10 . APPENDIX
A. Sample code
Touch
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.content.DialogInterface;
import android.widget.EditText;
import android.widget.SeekBar;
import android.util.Log;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
31
ipField.setText("192.168.1.2");
portField.setText("5444");
@Override
public void onResume(){
Log.d("RESUME", "RESUMED");
super.onResume();
AppDelegate appDel = ((AppDelegate)getApplicationContext());
CIMAT
32
appDel.stopServer();
}
@Override
public void onPause(){
super.onPause();
firstRun = false;
}
if(!appDel.connected){
String serverIp;
int serverPort;
serverIp = ipField.getText().toString();
serverPort = Integer.parseInt(portField.getText().toString());
appDel.createClientThread(serverIp, serverPort);
}
int x;
for(x=0;x<4;x++){// every quarter second for one second check if the
CIMAT
33
server is reachable
if(appDel.connected){
startActivity(new
Intent(view.getContext(),
Controller.class));
x = 6;
}
try{Thread.sleep(250);}
catch(Exception e){}
}
if(!appDel.connected)
if(!appDel.network_reachable)
network_alert.show();
else
alert.show();
}
}
CIMAT
34
Controller
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
import android.view.View.OnKeyListener;
import android.view.*;
import android.widget.Button;
import android.widget.EditText;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.inputmethod.InputMethodManager;
import android.content.Context;
public
class
Controller
extends
Activity
implements
OnTouchListener,
OnKeyListener{
int lastXpos = 0;
int lastYpos = 0;
boolean keyboard = false;
Thread checking;
35
super.onCreate(savedInstanceState);
setContentView(R.layout.control);
left.setWidth(width/2);
right.setWidth(width/2);
CIMAT
36
try{
char c = s.charAt(start);
appDel.sendMessage("KEY"+delim+c);
}
catch(Exception e){}
}
});
}
String("Mouse
Sensitivity!!"+appDel.mouse_sensitivity));
appDel
((AppDelegate)getApplicationContext());
public void run(){
while(appDel.connected){
try{Thread.sleep(1000);}
catch(Exception e){};
if(!appDel.connected){
finish();
}
}
}
}).start();
}
CIMAT
37
appDel.sendMessage("S_KEY"+delim+event.getKeyCode());
return false;
}
38
// if a single touch
// send movement based on action
if(touchCount == 1){
switch(action){
case 0: sb.append("DOWN"+delim);
sb.append((int)event.getX()+delim);
sb.append((int)event.getY()+delim);
break;
case 1: sb.append("UP"+delim);
sb.append(event.getDownTime()+delim);
sb.append(event.getEventTime());
break;
case 2: sb.append("MOVE"+delim);
sb.append((int)event.getX()+delim);
sb.append((int)event.getY());
break;
default: break;
}
}
// if two touches
// send scroll message
CIMAT
39
sendToAppDel(sb.toString());
}
mgr
(InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
CIMAT
40
if(keyboard){
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
keyboard = false;
}
else{
mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
keyboard = true;
}
CIMAT
41
B Sample Screens
Server connection
CIMAT
42
Server checking
CIMAT
43
Connecting
Figure 3: connecting
CIMAT
44
CIMAT
45
Buttons
Figure 5: Buttons
CIMAT
46
Notepad
Figure 6: Notepad
CIMAT
47
Exiting Session
CIMAT
48
USER
Remote
Control
Remote side
1
Server side
2.1
2
Client selection
Server side
user
2.2
Login
2.3
Image capture and
transfer
CIMAT
49
Level : Remote
user
3
Client
3.1
Server
connectio
3.2
Image
capture
CIMAT
50
Remote side
CIMAT
51
Server side
CIMAT
52