10-12-2012, 12:08 PM
Mobile Control System for Location Based Alarm Activation
Mobile Control System.pdf (Size: 1.04 MB / Downloads: 95)
Abstract
This report describes the design and implementation of a system that can
automatically control various services based on the location of one or more
mobile devices. These services can also be controlled manually through a
user interface on the mobile devices. A burglar alarm service that can au-
tomatically be activated and deactivated is used as a case study for this
system. The implementation is entirely Java based, using the Android op-
erating system to run the mobile device software. Challenges related to
accurately locating the mobile devices and communicating between the mo-
bile devices and a home server is examined. A set of policies for activation
and deactivation of the alarm system and other services is also dened. The
report also looks at examples of other services like automated temperature,
lighting control and adaptive re sensors that can be integrated into the
same system.
Introduction
Networked computer systems have become prevalent in most aspects of mod-
ern society, and we have become dependent on such computer systems to
perform many critical tasks, such as health monitoring and alarm notica-
tion. Wireless and ad-hoc communications technologies enable the elimina-
tion of physical cables between residential home network entities, such as
computers, set-top-boxes (STB), sensors and control units, and are typically
less costly to install than their wired counterparts due to cabling. These
technologies have opened up a whole range of new applications in the util-
ity segment for residential homes, such as automatic meter reading, remote
control of heating, and security and safety systems. However, interacting
with such systems is still somewhat cumbersome and in
exible.
This report presents a mobile control system (MCS) that can control
various services based on the location of one or more mobile devices. A
service for activation and deactivation of a residential burglar alarm system
is used to demonstrate the feasibility of this system.
The report looks at the design and implementation of a system that can
detect when a user enters and exits a specic area. Based on the location
of the user the system can automatically control a set of services running on
a home server. By carrying a mobile device the user can also interact with
these services through a user interface. The home server software will also
be able to track the presence of multiple mobile devices.
Related work
There exists a number of location/proximity-based systems that can auto-
mate simple tasks such as locking/unlocking your computer and launching
various applications by using a Bluetooth enabled computer and mobile
phone. Examples of such systems includes
oAt's Mobile Agent (Windows
based for Sony Ericsson handsets) [5], metaquark Home Zone (Mac OS X)
[8] and BlueProximity (Linux) [1].
In the home automation area there are several systems that allows users
to control just about every piece of electronics, including security and surveil-
lance systems. However, most of these systems are not location-based and
due to the number of dierent devices they can control they often have
relatively complex control interfaces. NorAlarm has developed a mobile ap-
plication that enables users to control an alarm system through a Java ME
user interface [43]. This application allows an alarm system to be manually
controlled, but it does not include automatic activation and deactivation
based on the location of the user.
Report organization
This report is organized into several chapters. Chapter 2 examines some of
the mobile application platforms currently available and dierent techniques
to determine the whereabouts of the mobile devices. Chapter 3 discusses
dierent aspects of the design and implementation. Chapter 4 describes
some test and simulation results and Chapter 5 concludes this report.
Mobile application platforms
Platforms for developing applications for mobile devices (mobile phones,
smart phones, PDAs, etc.) exist in many dierent shapes and sizes. Some
of them are entire integrated operating systems while others provide only a
minimal set of APIs to create interactive multimedia applications. This sec-
tion gives a background description of the some of the popular alternatives
available on the market.
Android
Android [27] is the Open Handset Alliance's (OHA) mobile operating sys-
tem. It is based on the Linux kernel and the application platform is very
similar to Java SE. Android uses Apache Harmony's [22] class library where
only a few of the original Java SE packages have been removed. This mainly
includes the Java SE Swing and AWT GUI packages. These have been re-
placed by GUI packages that are more suited for the reduced screen sizes
used by mobile devices.
Android uses a special Java virtual machine (JVM) called Dalvik which
is optimized for running in multiple instances so that each process can have
its own JVM. Instead of Java class les the Dalvik JVM executes les in
the Dalvik Executable format (dex les). dex les are in reality Java class
les that have been preprocessed to reduce the amount of memory they use.
The Android platform is currently in beta and is lacking ocial docu-
mentation on some of the APIs. This includes the WiFi and Bluetooth APIs
which are present in the Android class library, but not fully completed. An-
droid is a relatively new platform and currently no mobile devices running
Android exist. It is mainly aimed at medium and high-end mobile devices
featuring GPS and hardware 3D graphics acceleration. The rst real An-
droid based phones are expected to be released in the last half of 2008
simultaneously with Android version 1.0.
Windows Mobile
Windows Mobile is based on Windows CE and is Microsoft's proprietary
mobile operating system. Visual Studio is the main development tool used to
develop applications for the Windows Mobile platform. The .NET Compact
Framework allows developers to write applications using a subset of the
full .NET Framework used for desktop development. It is also possible to
write unmanaged code in C or C++ for the platform. The Windows Mobile
SDK contains an emulator like most of the other popular mobile application
platforms. There is no location provider independent location API, but
serial COM port programming against a GPS is possible. Windows Mobile
also has an API for extracting Cell-ID information and a WiFi API that
provides signal strength and other useful information.