Gas Tracker 9000 Chris Giles EEL6788 12-April-2010 University of Central Florida

advertisement
Gas Tracker 9000
Semester Project
EEL 6788 Spring 2010
Chris Giles
EEL6788 12-April-2010
University of Central Florida
Contents
Introduction
 Requirements
 Architecture
 Results
 Applicable Future Work
 Questions

Introduction

Gas Tracker 9000 resulted in an application for the
Android platform with the following end-to-end functional
capabilities.

The Android application is capable of:



Ubiquitously capturing and posting current real world prices of
gasoline to a central server.
Ubiquitously querying and displaying current real world prices of
gasoline from a central server.
The central server is capable of:



Responding to user posts.
Responding to user queries.
Displaying a temporal heat map and functional statistical information
of the remotely collected data over a region.
Requirements

Android Handset:

Submit price of Gasoline:

Capture current price of gasoline at a gas station.


Captured data is uploaded wirelessly to the server.


Includes octane, price, and location.
 Octane: 87, 89, 93.
 Dollars and cents.
 GPS coordinates of purchase.
Ubiquitously sent to central server using Android based device with Gas Tracker
9000 client software.
Query price of Gas:

Query the closest location.


Includes octane and radius of search.
 Octane: 87, 89, 93.
 Radius: 5 and 10 miles.
 Haversine Formula: “as the crow flies” distance formula for round objects.
Display results of query.

Google map view.
 Display details about type, price, and location.
Requirements
Web Server

Process post:


Receives captured gasoline data.


Store all received posts in a database.
Organizes posts.

Add calendar date of reception to post.

Replaces duplicates and takes into account data obsolescence.
Process query:


Determine cheapest gas from query origination.


Return only 1 solution with limits as specified by the user.

Type of gas.

Radius.

Takes into account data obsolescence.
Stores number of times type of gas is queried for relation to demand.
Requirements

Web Server

Display results of analysis of captured data:

Display temporal heat map of the data.



Google maps view.
Display data as green, yellow, orange, red.
 Assigned in quartiles respectively, i.e. most
expensive is red.
Display statistical data.

Fluctuation of the price and demand for gasoline over
time.
 Date, type, low price, mid price, high price, &
demand (parametrics).
Network Architecture
Cell Service Provider
Cell Tower
User
Android Device
Admin
PC
Web Server
Internet
www.rigbot.com
Software Architecture Server
Central Server
Internet
Admin
User
Web Server
Post
User
Query
Data Base
Key Technologies
HTML, PHP, & JavaScript
 Apache Web Server
 Web Pages:

HTML forms.
 Google Maps API.
 Java based networking.

Additional Key Technologies
 Distance

formula (2D)
http://math.about.com/library/bldistance.htm
Works on 2D Cartesian maps.
 ~ 69.172 miles per degree of latitude.
 Doesn’t work for spheres because longitude conjoins at
the north and south poles.

 Haversine Formula (3D Spheres)
 http://www.movable-type.co.uk/scripts/latlong.html
 Works for spheres (i.e. earth).
 As the crow flies.
 Gas Tracker uses this distance formula.
Software Architecture Handset
Android Device
Handset
Android API
Post
Query
Activities (Flow)
Launch
Post
Query
Map View
Key Technologies
Java
 Extensive use of Android API.

 Grants
access to platform functionality.
GPS, Time, dalvik virtual machine, etc.
 Activities & intents.

Requirements to Run Prototype

Android Device or Emulator
 Google
Maps Platform v2.1
 API level v7
Mozilla Firefox v3.6.3
 JRE v6
 Gas Tracker 9000

Results
End
to end demonstration:
 Android
Emulation Handset.
 www.rigbot.com
Applicable Future Work

Features




Use of GEO Coding.
Refinement of database storage methods.
Higher degree of precision in distance calculations.
Refinement of web side map view


Addition of proactive web based searching via the server.


Not sure if this is possible i.e. resource may not be available
because this is expensive information.
Refinement of GUIs.


Scalable display of information based on current view.
More messages and so forth.
Security…

LoL.
Questions
Download