Android Based Wireless PC Controller
Published on Jan 19, 2017
The system deals with the interfacing of android mobile having version 2.2 and above with the PC using Wi-Fi. For this some steps like pairing, handshaking, port assigning and socket programming should be performed. InterProcess Communication technique will be implemented for communication between two processes. The system will be such that the PC will act as a server and the android phone will act as a client. In which, the server application has been implemented in Java and client application in Android.
Once pairing of the devices is done then by using socket programming one can send commands to the server. After receiving the commands the server would take necessary actions to control various applications running on the system.
Electronic devices and personal computers became inescapable part of day to day life. Similarly, wireless devices and computers like tablet, note are more commonly used in our daily life. Controlling electronic devices and computers wirelessly is an important aspect of the technology. Many times while giving presentations either one has to be dependent on other person to change slides or he has to change it manually. So by using this proposed system, user can easily control presentations and also control some other computer applications. The Smartphone applications can transfer commands to PC using the device communication mechanisms such as bluetooth and Wi-Fi. That way, the person can interact with electronic devices using a Smartphone.With use of this android application, one can control all the personal computer applications. Once established a connection between an android mobile and PC using Wi-Fi then one can control the different applications.
In the proposed system there is a client-server architecture. In which android mobile phone is a client and PC/Laptop is a server. Client sends request to the server for connection establishment via wireless communication (Wi-Fi). Connection is established using handshaking. After connection establishment ports are assigned and sockets are established at both ends for communication. Desktop application is in Java and mobile application is in android. Windows registry is hierarchical database which stores some configuration setting options and some processes which helps to control mouse movements. When the user control mouse from android mobile then in background the process of desktop application will communicate with mouse process which is in windows registry.
And this communication is done through Inter Process Communication. Similarly, windows task manager provides limited information about computer performance and applications as well as processes running on that computer. For example, the processes of applications such as Windows Media Player, VLC, Power Point Presentations the processes resides in task manager. The procedure of controlling these applications is similar to the procedure of controlling mouse.
Feature extraction and Classification
The two essential sub-stages of recognition phase are feature extraction and classification. The feature extraction stage analyzes a text segment and selects a set of features that can be used to uniquely identify the text segment. The derived features are then used as input to the character classifier . The classification stage is the main decision making stage of character recognition system and uses the extracted feature as input to identify the text segment. Performance of the system largely depends upon the type of the classifier used. Classification is usually accomplished by comparing the feature vectors corresponding to the input text/character with the representatives of each character class, using a distance metric. The classifier which has been used by our system is Support Vector Machine (SVM).
ALGORITHM AND STRATEGIES USED
A. InterProcess Communication
In computing, InterProcess Communication (IPC) is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC). The method of IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated. There are several reasons for providing an environment that allows process cooperation:
1) Information sharing
2) Computational speedup
5) Privilege separation
IPC may also be referred to as inter-thread communication and inter-application communication. InterProcess Communication (IPC) is the transfer of data among processes. For example, a web browser may request a web page from a web server, which then sends HTML data. This transfer of data usually uses sockets in a telephone-like connection and data exchange techniques between processes.
B. Socket Programming
A socket is a bidirectional communication device that can be used to communicate with another process on the same machine or with a process running on other machines. Sockets are the only InterProcess Communication that permit communication between processes on different devices such as here in this project the devices are laptop and android mobile. Normally, a server runs on a specific computer and has a socket that is bound to a specific port number. The server just waits, listening to the socket for a client to make a connection request.
The client knows the hostname of the machine on which the server is running and the port number on which the server is listening. To make a connection request, the client tries to rendezvous with the server on the server’s machine and port. The client also needs to identify itself to the server so it binds to a local port number that it will use during this connection. This is usually assigned by the system. A client’s connection request is sent to server if everything goes well, the server accepts the connection. Upon acceptance, the server gets a new socket bound to the same local port and also has its remote endpoint set to the address and port of the client. It needs a new socket so that it can continue to listen to the original socket for connection requests while tending to the needs of the connected client. The connection is made on the client side, if the connection is accepted, a socket is successfully created and the client can use the socket to communicate with the server.
C. Wi-Fi Technology
To turn ON Wi-Fi on android device WifiManager provides the primary API for managing all aspects of Wi-Fi connectivity. A programmer can get WifiManager instance through Context.getSystemService(Context.WIFI_SERVICE). WifiManager is used to find the currently active Wi-Fi network and change the Wi-Fi state.
1) <uses-permission android:name=
2) <uses-permission android:name=
3) <uses-permission android:name=
4) <uses-permission android:name=
5) <uses-permission android:name=
These are some Wi-Fi permissions that must be included in android manifest file.
Android application must be installed on your android mobile (version 2.2 and above) and the Java application on your laptop respectively.
2) Request will be sent from android mobile to laptop for connection establishment via wireless communication.
3) Ports are assigned and sockets are established at both the devices for communication and from laptop the acknowledgement message in sent back to android mobile. (Connection Successful)
4) Mobile will send request for controlling any of the provided application, then the request of data transfer is sent by mobile to the laptop. (Socket programming handles this connection for transferring data).
5) Now, the Java application which is installed on laptop responds to requested process by android. (Here, IPC is used for communication between process of laptop and process of android mobile).
6) Mouse controls in windows registry and other processes previously running on laptop (Task Manager) are paused temporarily for few seconds.
7) Lastly, after serving all the interrupts, processes stored in windows registry and task manager will be resumed.
8) Steps 4 to 6 are repeated according to users requirements.
This paper proposes a system which will control the various applications of targeted PC using android Smartphone. There is no need of external hardware devices. This system includes the study and implementation of different technologies which are currently popular in market. The system is useful for general users as well as the employees of different fields.
 “Mobile Web-Based System for Remote-Controlled Electronic Devices and Smart Objects “, Jordán Pascual Espada & Vicente García-Díaz & Rubén González Crespo & Oscar Sanjuán Martínez & B. Cristina Pelayo G-Bustelo & Juan Manuel Cueva Lovelle, Published online: 28 May 2014, Springer Science+Business Media New York 2014
 Qadeer, M.A.; Agrawal, R.; Singhal, A.; and Umar, S, “Application Remote Control Using Bluetooth”,International conferences on Advanced Computer Control, 2008.IEEE DOI 10.1109/ ICACC .2009.91
 Angel Gonzalez Villan, and Josep Jorba Estev, “Remote Control of Mobile Devices in Android Platform” IEEE transactions on Mobile Computing, 2011.