
UBICOMM 2010 : The Fourth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies GeCSen – A Generic and Cross-Platform Sensor Framework for LocON Mitch De Coster and Steven Mattheussen Martin Klepal Maarten Weyn and Glenn Ergeerts Dept. of Applied Engineering Centre for Adaptive Wireless Systems Dept. of Applied Engineering Artesis University College Cork Institute of Technology Artesis University College Antwerp, Belgium Cork, Ireland Antwerp, Belgium [email protected] [email protected] [email protected] [email protected] [email protected] Abstract—In this paper, we present a generic and cross- sist of a variety of sensor nodes with a small battery, micro- platform sensor framework for the LocON location and sensor controller and radio transmitter that collects, processes and middleware. This framework is developed using C++/Qt. Sen- communicates sensor data. All sensor nodes work together sor information is rapidly gaining importance in automating processes and ubiquitous computing, and so it is for projects to monitor an environment whereby all collected sensor data like FP7 LocON where the main goal is to integrate embedded reaches a central sink. The sink acts as a link between location systems and embedded wireless communication in or- the sensors and the application. With GeCSen we aim to der to manage and secure large scale environments. Accessing use computers, embedded systems and smartphones. Many sensor information mostly requires platform specific code, but of these devices already have the means of communica- for merging this information and sending it over the internet or displaying it on a device, Qt provides cross-platform libraries. tion and are equipped with various onboard sensors, for Our sensor framework, called GeCSen, also comes in the form instance, most smartphones have a subset of the following: of a library that can load platform specific sensor plugins GSM/UMTS, Wi-Fi, GPS, accelerometers, Bluetooth, etc. and is able to communicate with the LocON middleware. The and can also be extended with various other sensors to suit framework acts as a cross-platform layer which sends the your needs. Using these kinds of devices comes at the cost sensor information to the LocON middleware. This framework enables all kinds of sensors on a wide range of devices to be of considerably higher power requirements, but also gives used by the LocON platform and thereby adds substantial enormous processing power in the node itself. value to the FP7 LocON project. Most applications of sensor usage today are custom devel- Keywords-monitoring, localisation, embedded devices, smart- oped with industrial usage as target, thus they are specifically phone, sensors, locon, cross-platform built for their needs and only work with specific hardware. Some commercial applications, for example for athletes, are I. INTRODUCTION also available, but they are mostly device specific and all use Nowadays, sensor data is widely used for many appli- different approaches of which practically none are generic. cations, for example, monitoring patients, personnel and Notwithstanding, there are already some efforts in making equipment in hospitals, monitoring athletes to optimise generic sensor frameworks, for example the S60 Sensor training methods, etc. To do monitoring we need a selection Framework of Nokia, the Moblin sensor framework and of sensors such as location sensors, temperature sensors, mSense [2]. Unfortunately they are mostly platform specific, accelerometers, heartbeat sensors, etc. and some basic logic and no more than merely an API for sensors, thus there is to parse the sensor data. This data is used to follow someone an urgent need for a generic way to access sensors used for or something and draw conclusions on which certain actions monitoring. can be based, for instance, calling an ambulance and auto- This paper describes a generic and cross-platform sensor matically give GPS coordinates when someone is having a framework, developed in C++/Qt which is easily extendible heart failure. There are different kinds of monitoring but with plugins to support all kinds of sensors on the majority in general we can conclude that there is environmental of platforms and architectures. It thus provides a consistent monitoring to control an area, object monitoring to track method of accessing sensor hardware by adding a cross- a person or object and process monitoring to monitor the platform abstraction layer above the APIs described in the proceedings of a process. All situations require different previous paragraph, so the plugins are a platform specific approaches. We are mostly focused on monitoring moving wrapper around the APIs which can be loaded in the objects. sensor framework. We also send the sensor data to the Currently, monitoring is mainly done by what are called middleware of the FP7 LocON project [3], thus we are wireless sensor networks [1]; these networks typically con- able to use the LocON data collection and data mining Copyright (c) IARIA, 2010 ISBN: 978-1-61208-100-7 21 UBICOMM 2010 : The Fourth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies abilities, together with its localisation fusion engine. Using comprehensive mobile application framework to support the LocON platform gives us the opportunity to thrive with interoperability and mobility of mobile application devel- the success of the FP7 LocON project, but GeCSen itself opment and operation. Choi, Yang and Jeong [8] suggest also provides substantial value to LocON as it makes it very an application framework for writing cross-platform mobile easy to enable all kinds of sensors on various devices for applications in Java. PhoneGap [9] is a project that provides the LocON platform. We provide the framework itself as a a framework in which you can develop programs using library which can be used statically or dynamically in a host simple HTML, CSS and JavaScript. It supports iPhone, application. The host is able to control GeCSen and use the Android and Blackberry. MoSync [10] , another project, collected sensor information to, for example display it in a provides a codebase with which you can program cross- GUI. platform in C/C++ for Java ME, Symbian S60, Windows The remainder of the paper is organized as follows. In Mobile and Moblin and they are working on Android, Section 2, we discuss cross-platform aspect of GeCSen and iPhone and Maemo. Unfortunately these methods are still why it is important. The architecture of the framework is de- too restricted for us to use and don’t allow us to program scribed in Section 3. Section 4 goes deeper into the features for desktops and laptops, as well as mobile devices. of GeCSen. In Section 5 we discuss the test cases used to We have chosen C++/Qt, because although Java is sup- demonstrate the usefulness of the framework, followed by ported by more smartphones than C++/Qt, most smartphone a comparison in Section 6 which shows the advantage of manufacturers have their own restricted APIs. By using using GeCSen. Future work is discussed in Section 7 and C++/Qt a significant part of the smartphone market will still finally, section 8 concludes the paper. be supported. In addition, Qt is fully open-source; thereby it has a large developer community that thrives to port Qt II. CROSS-PLATFORM to every possible platform. It is also gaining more and GeCSen has a broad target group, thus it needs to be able more attention since Intel and Nokia announced that they to run on as much platforms as possible. It is not a trivial task are strongly working together to make Qt the default in to develop a truly cross-platform application, because every cross-platform development. GeCSen is tested and works platform uses its own libraries and has its own platform on various x86/x64 and ARM architectures in combination definitions. Writing cross-platform applications, basically with the following platforms: Windows, Windows Mobile, means having to choose between two major programming Windows CE, Android and various Linux distributions, languages, C++/Qt and Java. Java is a platform independent including Ubuntu and a number of OpenEmbedded variants. language which uses a virtual machine to run Java programs. Qt, on the other hand, is a toolkit written in C++ that uses III. ARCHITECTURE the same APIs for different platforms. Choosing one over the The GeCSen architecture, which is shown in Figure 1, other essentially means choosing a subset of platforms that shows a generic way to enable sensors on a device to you want to support. The main advantage of C++ over Java communicate with the LocON platform. Previously for every is a more efficient use of processor cycles and memory and different type of device which had to be connected with it allows us to program closer to the hardware[4],[5]. The LocON, or for adding an extra sensor to the LocON client main disadvantage of C++ is that you have to cross-compile application, it had to be partially, if not completely rewritten. for each platform while with Java you do not. Using this sensor framework the same code can be reused, Applications that use GeCSen are mainly focused on one only has to compile it for the specific device and develop mobile and embedded platforms. The market for embedded plugins to use the sensors. As a result, it becomes very easy devices is relatively stable; the two mostly used operating to add extra sensor devices to the LocON platform. The systems are Windows CE and various embedded Linux plugins form a hardware and platform specific layer between distributions. The mobile market, on the other hand, is the cross-platform framework and the sensors, thus they are constantly fluctuating; software platforms come and go. As responsible for managing the sensors and sending the sensor Canalys [6] concludes the most used operating systems data to the sensor framework in a uniform way.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-