MEMBERS
- Mishari Alarfaj (ude.umc.werdna@jafralm)
- Bryan Hinch (ude.umc.werdna@hcnihb)
- Kishore Ramaswamy (ude.umc.werdna@awsamark)
- Gregory Collins (ude.umc.werdna@snillocg)
PROJECT CONCEPT
This system uses cell-phone communication technology along with GPS in order to set up a shared location-tagging network. This can be used to share GPS locations of interest with other users in numerous applications such as social networking, first-response, and civil infrastructure.
MOTIVATION
Our system will greatly facilitate a number of logistic applications. People will be able to set up points of interest that they can share with their friends. These 'breadcrumbs' can include descriptions such as a recommended restaurant, a scenic view, or a free concert. Also, our system will greatly make it easier for groups trying to set up rendezvous points in real time. For example, the system can be extended to help first-responders by providing them with useful location information such as the scene of a fire, nearby fire hydrants, or the location of other teams. An even larger-scale vision is using the system to inform the public of changes in civil infrastructure, such as detoured roads, gojira, water main breaks, or other hazards.
COMPETITIVE ANALYSIS
Garmin Rino: GPS navigation device that shares it's position with other Garmin Rinos. Our system is different because it will work with a variety of phones and is more geared towards social networking.
AccuTracking: Internet service that allows users to track where various cell phones are located. Our solution is different because we allow users to add GPS-tagged information to a map rather than simply tell them the location of certain phones.
TECHNICAL SPECIFICATIONS
Hardware:- Motorola Ming A1200r
- Nokia N95
- Navibe GB735 Bluetooth GPS Receiver
- Desktop/laptop for server
- Java for server application
- MySQL for server backend
- J2ME
- J4ME(open source wrapper library for J2ME)
- Bluetooth
- TCP/IP over GPRS
REQUIREMENTS
- Functions correctly
- User can accurately see their own coordinates (will need 3 satellites for triangulation)
- User can view the waypoints left by themselves and others
- User can view the nearest 5 breadcrumbs from the current location
- Has a GUI that is easy to use and understand
- Server must be able to communicate with several users at once
- Must be able to function in real-time; require only a couple seconds to exchange data with server
- System must be both portable and durable
- Must be reliable
- Be able to handle protocol failures
- Notify the user gracefully about connection issues between devices
- Not guaranteed to recover from hardware failures
ARCHITECTURE
USE CASES (INTERACTION DIAGRAMS)(diagrams coming very soon)
Power On
- Server assumed to be running
- User starts phone application
- Application searches for/pairs with GPS device
- Application retrieves initial information from server
- GUI ready for user interaction
Power Off
- User closes application
- Application closes connection with server
- Application closes connection with GPS device
- Application quits
Post Breadcrumb
- User enters text to post on the map
- Application submits text plus NMEA data to server
- Server creates an entry in the database
- Application refreshes list of breadcrumbs
- Application redraws map with new information
SYSTEM STATES & TRANSITIONS
RISKS & MITIGATION STRATEGIES
Risk | Mitigation |
Will be hard to receive GPS indoors. | Must emphasize strengths of outdoor use, rather than for indoor tagging (system probably too inaccurate for room-to-room tagging anyway) |
Will need to communicate with more than one phone at once. | Set up a server that uses threading to handle multiple connections. |
May not have access to many of the core functions of the phone. | We may have to hack the phone to access all of its features. |
Data/Packet loss. | We plan to send the data several times and use a verification system to ensure that we receive the proper data. |
ERROR HANDLING
To be completed.
IMPLEMENTATION DETAILS
To be completed.
TEST CASES
To be completed.
EXPERIMENTAL EVALUATION
LESSONS LEARNED
- Support is essential for working on a platform
- Development tools are critical
- Need to research the full capability of a technology before selecting it
- SIM cards
- In-depth planning is more important than it seems.
- Protocols, state diagrams, etc.
- Java is a horrible language for embedded systems, and companies support it more than they should.
FUN STUFF
REFERENCES
- Project Proposal and Requirements, Team Project Presentation, February 1, 2008
- Design & Architecture, Team Project Presentation, February 15, 2008
- Mid-semester Project Status, Team Project Presentation, Date TBD
- Test Plan & Experimental Validation Team Project Presentation, March 28, 2008
- Final Project Presentation, Team Project Presentation, Date TBD
- Project Poster, May 2, 2008
Back to the top of this page
18-549 course home page