wiki:2012/Projects/MobilityFirst/Context

Version 5 (modified by tam, 5 years ago) (diff)

--

Context Resolution and Group Messaging


Project Overview

Context aware grouping is the idea that devices can form static and dynamic groups based upon conditions of the surrounding context. Say, people driving in New Brunswick can form the group "Driving in New Brunswick". This group could then contain the GUIDs (Globally Unique Identifier) of the phones that belong to each individual. The group itself would also have its own GUID such that a traffic alert can be directed towards the group GUID and be relayed to all of the group members. Other examples of dynamic groups include the devices located in an area at a given time, phones that are in their owner's pockets etc.

An example of a static group may contain all sensors worn by a certain user. Referring to the ICEMAN Project, the jacket itself would be registered as a group and would have its own GUID. In addition, each member of the group, the sensors of the jacket, would have their respective GUIDs.

The University of Massachusetts has already set up a GCRS (Global Context Resolution Service) server here. We are currently using their server to handle registering entities and groups and obtaining corresponding GUIDs.

We decided to work with the Android platform since many phones today run on Android, and as we know, smart phones are great sensor devices. One of the goals of this project is to create an API which app developers can use to integrate predefined or newly defined contexts to uniquely enhance their application.

As for our own application, we have decided to create a Classroom Aid app that is aimed to replace the existing "iClicker" widely used at Universities. iClicker has already ported their functionality to mobile devices however, their application is still merely for multiple-choice responses. Our app is intended to use context aware group messaging to greatly improve the classroom aid.

Our app will have all sorts of cool and useful things such as: -long response -content distribution -attendance checking based on location -location based on gps/radio/bluetooth proximity to others (when inside...where there won't be gps signal)


Localization Using Bluetooth

One sensor we wanted to exploit for this project was Bluetooth. At first, the Bluetooth transmitter/receiver was not really recognized as a 'sensor' per say; however, since it can retrieve the MAC ID of other devices and their respective RSSI, we thought this could be valuable sensor data.

In an area with plentiful Android devices (with Bluetooth), each phone can set themselves to be discoverable and simultaneously discover those devices around them. Each device then populates a log file consisting of RSSI values of devices within range of its Bluetooth receiver. With the known transmission frequency (2.4GHz) and path loss exponent of the transmission medium (2 for air), we can give an estimate of distance between the phones just based on RSSI and transmission power.

Combining all the data obtained from every phone, we can attempt to reconstruct the relative locations of every phone using algorithms involving trilateration. In addition to just finding the relative positions of phone clusters, if some of the phones have an absolute position given by GPS, or if they are just anchors, then the absolute positions of each phone in the cluster can be estimated.


Scrappy Worklog

Attachments (1)

Download all attachments as: .zip