Report 1 Deekshi
Report 1 Deekshi
Submitted by:
Guide:
Sri. B.N. Nagaraja B.E. (CSE) M.I.S.T.E.
Lecturer/HOD
Department of Computer Science & Engineering
Siddaganga Polytechnic, Tumkur-3
2021-2022
SIDDAGANGA POLYTECHNIC
Batawadi, Tumkur-572103
Department of Computer Science&Engineering
1 Log Activity 05
2 Synopsis 10
3 Presentation 10
Total 25
Signature of Guide Signature of HOD
Siddaganga Polytechnic
Tumkur-572103
(Recognized by the Board of Technical Examinations,
Govt. of Karnataka and approved by A.I.C.T.E. New Delhi.)
Certificate
This is to certify that the Project Work Phase-I of
As we all know, keyboard is used for gaming purpose and available in various types in
today’s market like in the form of USB or Wi-Fi enables or Bluetooth enabled. But to
purchase these type of keyboard, you have to make extra payment. But with the help of
Android standard input method, we have successfully able to make our smart phone as
Keyboard. Now, using your android based phone, through the help of Wi-Fi or Bluetooth, it
will act as a gamepad and play your game from specific distance using your phone. Your
android phone will act as a gamepad and the controlling functions will be transmitted
through the Bluetooth technology.
The project idea presents the design and implementation of turning Android smart
phones into computer remote controllers, which allow users to wirelessly operate a
computer via Bluetooth connectivity. The application provides users with different keys
of laptop keyboard. In comparison to the existing systems, the proposed solution has an
advantage of being more user-friendly, provides a stable Bluetooth connection and has
minimum delay in performing remote control operations.
Project Associates
CONTENTS
3. Introduction to Android/ASP.NET
5. Introduction to Java
9. Form Designs
11. Bibliography
CHAPTER- 1
Personal computers are a backbone for our daily work and also provide recreational use as
per our interests. They have become an inseparable part of our quotidian life. This is also
applicable to the smart phones, which have transformed into multifunctional devices with
almost same features as computers have. Remote control of a desktop computer is a
convenient feature that could be performed by handheld devices.
The proposed application can ease the use of many applications giving the user the ability
to control them from any place in the room wirelessly. It is suitable for implementing
advanced interaction techniques. Furthermore the proposed application is a convenient
substitution for the costly wired joysticks. The customization of the joystick provides
flexibility and ease of access for the user controlling the desktop remotely.
You can wirelessly control your computer from your phone. Whether you want your phone
to act as a full-screen trackpad or simply need it to display media controls for quick access.
Once the app is installed on computer and Android phone, it takes seconds for you to
connect both devices since it automatically works over Bluetooth. The app on phone
connects to the server app on your PC, which allows it to send keyboard control-type input.
Existing System:
If we have to play PC enabled game or control your PC remotely, then we have to purchase
USB based gamepad or Bluetooth enabled gamepad. As far wireless system is fantastic but
the problem with USB is that, we cannot enjoy our game by sitting at particular location
that is far away from our PC. Again in Bluetooth enabled gamepad, if there is problem with
Bluetooth, your gamepad goes in vein. We have to do various manual settings and other
software installation to use this wireless technology over our system.
Proposed System
The proposed system enables the user to use their Android mobile as the keyboard for
Laptop or PC. This is very useful if one or more keys of the laptop is not working fine.
Replacing laptop keyboard will incur heavy cost in which case this will be very useful.
Also the touch screen of mobile gives a smooth touch for the user to navigate through the
keyboard giving user-friendly experience.
CHAPTER- 2
Hardware
And
Software
Requirements
Hardware Requirements
Software Requirements
Introduction to Android
The Android operating system is the largest installed base among various mobile platforms
across the globe. Hundreds of millions of mobile devices are powered by Android in more
than 190 countries of the world. It conquered around 75% of the global market share by the
end of 2020, and this trend is growing bigger every other day. The company named Open
Handset Alliance developed Android for the first time that is based on the modified version
of the Linux kernel and other open-source software. Google sponsored the project at initial
stages and in the year 2005, it acquired the whole company. In September 2008, the first
Android-powered device launched in the market. Android dominates the mobile OS
industry because of the long list of features it provides. It’s user-friendly, has huge
community support, provides a greater extent of customization, and a large number of
companies build Android-compatible smartphones. As a result, the market observes a sharp
increase in the demand for developing Android mobile applications, and with that
companies need smart developers with the right skill set. At first, the purpose of Android
was thought of as a mobile operating system. However, with the advancement of code
libraries and its popularity among developers of the divergent domain, Android becomes an
absolute set of software for all devices like tablets, wearables, set-top boxes, smart TVs,
notebooks, etc.
Features of Android
Android is a powerful open-source operating system that open-source provides immense
features and some of these are listed below.
Android Open Source Project so we can customize the OS based on our requirements.
Android supports different types of connectivity for GSM, CDMA, Wi-Fi, Bluetooth, etc. for
telephonic conversation or data transfer.
Using wifi technology we can pair with other devices while playing games or using other
applications.
It contains multiple APIs to support location-tracking services such as GPS.We can manage
all data storage related activities by using the file manager.
It contains a wide range of media supports like AVI, MKV, FLV, MPEG4, etc. to play or
record a variety of audio/video.
It also supports different image formats like JPEG, PNG, GIF, BMP, MP3, etc.
It supports multimedia hardware control to perform playback or recording using a camera
and microphone.
Android has an integrated open-source WebKit layout based web browser to support User
Interface like HTML5, CSS3.
Android supports multi-tasking means we can run multiple applications at a time and can
switch in between them.
It provides support for virtual reality or 2D/3D Graphics
Android Versions
Google launched the first version of the Android platform on Nov 5, 2007. Since then,
Google released a lot of android versions such as Apple Pie, Banana Bread, Cupcake,
Donut, Éclair, Froyo, Gingerbread, Jellybeans, Kitkat, Lollipop, marshmallow, Nougat,
Oreo, etc. with extra functionalities and new features
CHAPTER- 5
Introduction to Java
CPU.
CHAPTER- 6
It is trivial that we would be able to remotely control the mouse by fusing accelerometer
and gyroscope data in real-time [2]. It should be noted that, 2D projection of the 3D points
is sufficient for mouse control. But an application can take advantage of the 3D movement
data in order to provide more immersive experience than typical mouse to the user.
A typical example would be gaming and virtual reality applications. Currently gaming
controllers with inbuilt IMU (Inertial Measurement Unit [3]) and complicated hardware are
commercially available to perform the similar task but they are very expensive and are
often found to be miscalibrated. With our proposed system, a user can experience the same
using his/her smartphone only. Moreover users can use their android device as a full-
fledged multi-input device performing all the tasks of both mouse and keyboard. Setting up
our proposed system is meant to be easy and hassle free. A user only needs to connect the
PC and the smartphone to the same LAN. The proposed system takes advantage of the
Zeroconf (Zero Configuration Networking [4]) where a user does not need to manually
connect to a specified server. Moreover, knowledge of the IP address of the server (PC) is
not required in order to connect. The Android application is able to detect the available
servers (in this case PCs) running in the local network.
The two most popular applications in this domain are KDE Connect [9] and Monect [10].
Both of these applications provide a rich set of features like remote mouse and keyboard
control, speaker control, file transfer etc. However, KDE Connect is only limited to Linux
(PC) and Android (smartphone). Although Monect provides a mobile platform
independent application (Android, iOS, Windows), its PC side application is restricted to
Windows only. Providing end-to-end security is one of the most important aspects in this
domain. KDE Connect being open sourced, it can be verified that it provides end-to-end
security. However such verification is not possible for Monect since it is closed
source.
Currently Smart Input only supports remote mouse and keyboard control from Android
smartphones and enforces a strong end-to-end security. The PC side application of Smart
Input, however, is platform independent. The mouse control feature comprises of both 2D
and 3D mouse movements along with mouse buttons. The keyboard control feature
comprises of predictive text input, auto-correct text and also supports the full functionality
of a standard PC keyboard. KDE Connect does not provide any 3D mouse movement
feature, predictive text or auto-correct text. Although Monect supports 3D mouse
movement feature, it also does not support predictive and auto-correct text. The keyboard
features provided by both KDE Connect and Monect simply emulate the traditional PC
keyboard. As of now, no other related applications provide predictive text and auto-correct
text support. These two features are unique to Smart Input.
CHAPTER- 7
SQLite designs the database. When admin enters the information, it will be stored in the
. tables that used in the system, and the relationship between these tables and their attributes
has six tables as in figure (6)
Admin table: Contain admin id as a primary key, admin name, username and password.
Student table: Contain Student id as a primary key, student name, username, and password.
answer1, answer2, answer3, correct answer. Exam table: include exam id as a primary key,
examine rid, date. .
• Mark table: include mark id as a primary key, exam id, student id, mark
CHAPTER- 8
ER -Diagram
or
Process Flow Diagram
The proposed application relies on a smart device running Android OS (smart phone or
tablet) and a Windows-based PC and offers a virtual keyboard that send commands to the
desktop OS in real time. Most of the commercially available desktop controllers have fixed
keyboard layouts for operating the desktops which confines the user to the standardized
options which the companies avail.
However the proposed android application allows the users to customize their virtual
joystick according to their needs without placing any standard layout constraints on the
users. In a distributed environment this application serves best for multiplayer gaming. Java
is the programming language used on both the desktop and the mobile devices, thus giving
the opportunity for easier porting to other desktop operating systems. The server application
needs to be installed on the desktop or personal computer that is to be controlled or
operated. The client android application needs to be installed on the device that will control
the remote pc. The software application proposed in this work consists of two main parts -
client (Android application) and server (desktop application). They communicate with a
simple text-based protocol via Bluetooth.
A. Server Application
The server application software resides on the desktop PC. When the server is started it
awaits connection through Bluetooth. Java SE API is used to provide remote control
functionality. The architecture follows the standard practices - a business logic layer that
comprises of Bluetooth stack implementation, key conversion and remote control
commands presented to the user with a simple GUI.
Fig. 1. Server Architecture
B. Client Application
The client application is launched by the user on the Android device. To remotely control
the desired pc, the application searches Bluetooth instances. In terms of architecture –it has
a user interface that interacts with the business logic layer which covers a small set of
different modules.
Flowchart
Flowchart of the Android application development for Virtual keyboard is as shown below:
Figure 4. Flowchart of the application
CHAPTER- 9
Form Designs
CHAPTER- 10
Project Model
CHAPTER- 11
Bibliography
[1] Mauro Conti, Nicola Dragoni, Viktor Lesyk, “A Survey of Man In The Middle
Attacks”, IEEE Communications Surveys & Tutorials, vol. 18, issue 3, pp. 2027-2051, 29
March 2016.
[2] Ubejd Shala, Angel Rodriguez, Fredrik Frisk, Kamilla Klonowska, “Indoor Positioning
using Sensor-fusion in Android Devices”, School of Health and Society, Department
Computer Science, Kristianstad University, Sweden, September 2011.
[3] D.Hazry, M.Sofian, A. Zul Azfar, “Study of Inertial Measurement Unit Sensor”,
Proceedings of the International Conference on Man-Machine Systems (ICoMMS), 11
October 2009, Batu Ferringhi, Penang, Malaysia.
[4] Se Gi Hong, Suman Srinivasan, Henning Schulzrinne, “Accelerating Service Discovery
in Ad-Hoc Zero Configuration Networking”, IEEE Global Telecommunications
Conference, November 2007.
[5] “Announcing the Secure Hash Standard”, Federal Information Processing
Standards Publication 180-2, National Institute of Standards and Technology (NIST),
August 1, 2002.
[6] Microsoft (n.d), Bluetooth RFCOMM-API. Retrieved October 15, 2016, from
https://msdn.microsoft.com/en-us/windows/uwp/ devices-sensors/send-or-receive-files-
with-rfcomm
[7] Intel Research. (n.d.). Bluecove - Java library for Bluetooth. Retrieved October 15,
2016, from https://code.google.com/ p/bluecove/; http://bluecove.org/
[8] Oracle (Sun Microsystems). (n.d.). JavaDoc - Robot. Retrieved October 15, 2016, from
http://docs.oracle.com/javase/6/docs/ api/java/awt/Robot.html
[9] KDE Connect. Available: https://community.kde.org/KDEConnect
[10] Monect. Available: http://www.monect.com/