Gas Tracker 9000 Semester Project
Transcript of Gas Tracker 9000 Semester Project
Gas Tracker 9000Semester 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. Includes octane, price, and location.
Octane: 87, 89, 93. Dollars and cents. GPS coordinates of purchase.
Captured data is uploaded wirelessly to the server. 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
Internet
Web Server
www.rigbot.com
Android Device
Cell TowerCell Service Provider
PC
User
Admin
Software Architecture Server
Internet
Post
Data Base
Query
Web Server
Central Server
User
User
Admin
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
Post
Query
Android API
HandsetAndroid Device
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 EmulatorGoogle Maps Platform v2.1API 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
Scalable display of information based on current 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. More messages and so forth.
Security… LoL.
Questions