1 / 40

Java-Based In-Car Cell Phone Integration

Java-Based In-Car Cell Phone Integration. By: Chris Keller Greg Nehus Matt Odille. High-Level View. Project Summary. Project Summary. There continues to be many accidents attributed to cell phone use while driving Text messaging is perhaps the most dangerous

iren
Download Presentation

Java-Based In-Car Cell Phone Integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java-Based In-Car Cell Phone Integration By: Chris Keller Greg Nehus Matt Odille

  2. High-Level View

  3. Project Summary

  4. Project Summary • There continues to be many accidents attributed to cell phone use while driving • Text messaging is perhaps the most dangerous • Our project improves safety of communication while driving • Streams phone conversations • Accepts commands via voice • Dictates text messages • We will implement the software and a GUI

  5. Project Summary • Primary Research: • Bluetooth in Java • Bluetooth Protocol • AT Commands • Java Speech API • Why we chose this: • To learn how Bluetooth is implemented • To deepen our Java knowledge • To build something tangible that works

  6. Specific Aims

  7. Specific Aims • Four main goals of the project • To learn how Bluetooth communications are implemented • To investigate how Bluetooth is already being used in automobiles • Implement and improve the preexisting uses (via text message dictation and synthesizing) • Improve safety of driving while using cell phones

  8. Background and Motivation

  9. Background and Motivation • All group members are Computer Engineering majors with focus on software • Relevant Courses: • COE 401, Intermediate Programming using Java • COE 445, Data Structures • COE 1501, Algorithm Implementation • COE 1186, Software Engineering • COE 1185, Computer Systems Interfacing

  10. Background & Motivation • We’re motivated to do more than small Java applications • Co-op experience • Greg - ANSYS • Matt - Vocollect • Chris – ANSYS • We’re interested in cell phone, Bluetooth, and automobile technology

  11. Preliminary Work/Design Possibilities

  12. Preliminary Work/Design Possibilities • Combine our code with preexisting technologies • BlueCove Java Bluetooth Libraries • CloudGarden TalkingJava SDK • Broadcom’s Widcomm Bluetooth Software

  13. Design Approach

  14. Design Approach • Java Setup • Java is a general-purpose, class-based, object-oriented language • Must install the following on all development computers: • Java Runtime Environment • Java Development Kit • This gives us the software to develop and run Java applications

  15. Design Approach • Integrated Development Environment (IDE) • Using the same IDE will make combining individual code easier • We will be using NetBeans 6.5 • Editor • Version Control integration • Syntax highlighting • Etc.

  16. Design Approach • Version Control

  17. Design Approach • Bluetooth Communication • Prerequisite: BlueCove Java Bluetooth Library • Java does not come packaged with any libraries that allow interfacing with the computer’s Bluetooth stack. The BlueCove library will give us that capability.

  18. Design Approach • Bluetooth Communication • Five parts to the anatomy of a Bluetooth application • Stack Initialization • Device Discovery • Device Management • Service Discovery • Communication

  19. Design Approach • Stack Initialization • Must be done prior to any attempts at Bluetooth communication • Initializes • Port • Baud Rate • Bluetooth mode

  20. Design Approach • Device Discovery • Allows the computer to get a list of nearby Bluetooth devices (our phone). • Example code:

  21. Design Approach • Device Management • Allows the computer to access properties of the phone • This piece of code obtains the MAC Address a BT device • Example code:

  22. Design Approach • Service Discovery • Determine what services and protocols are available on the phone • Communication • At this point, a Bluetooth connection is established and communication can begin. • To control the cell phone, we will use AT Commands

  23. Design Approach • Example dialogue of communication via AT commands • Phone: • +CMTI: <mem>,<index> • “I have a new text message” • PC: • AT+CMGR=<index> • “Give me it!” • Phone would then return the text message in a PDU encoded form. We must decode this in our application

  24. Design Approach • Speech-to-Text (STT) • Improved safety with hands-free control over cell phone • Interprets voice commands • Whole companies exist based on writing STT algorithms (Vocollect) • We will utilize the Java-based CloudGarden software development kit

  25. Design Approach • Text-to-Speech (TTS) • This will also be accomplished by utilizing the CloudGarden software

  26. Milestones and Schedule

  27. Management Plan

  28. Management Plan • Week 1 • Chris: Finish preliminary research and project proposal • Matt: Finish preliminary research and project proposal • Greg: Finish preliminary research and project proposal • Week 2 • Chris: Progress report on non-technical issues • Matt: Create use case diagrams • Greg: Begin rudimentary communication between computer and phone

  29. Management Plan • Week 3 • Chris: Testing of established communication between computer and phone • Matt: Install and learn basics of CloudGarden voice software • Greg: Finish communication between computer and phone

  30. Management Plan • Week 4 • Chris: Utilize CloudGarden to begin implementing voice commands, progress report technical issues • Matt: Begin GUI design and coding, progress report technical issues • Greg: Utilize CloudGarden to begin implementing voice commands, progress report technical issues

  31. Management Plan • Week 5 • Chris: Finish implementation of voice commands • Matt: Finish GUI • Greg: Begin incorporation of Broadcom • Week 6 • Chris: Begin final report • Matt: Test design at this stage • Greg: Finish Broadcom incorporation

  32. Management Plan • Week 7 • Chris: Finish final report • Matt: Any remaining technical tasks • Greg: Begin final presentation • Week 8 • Chris: Final Presentation • Matt: Final Presentation • Greg: Final Presentation

  33. Expected Problems and Solutions

  34. Expected Problems & Solutions • Voice Recognition Accuracy • Problem: Speech dictations are not always 100% accurate. • Solution: Use Levenshtein Distance Algorithm for string similarity calculations. • Example code:

  35. Expected Problems & Solutions • Software Compatibility Issues with CloudGarden • Problem: The CloudGarden TalkingJava SDK installation requires a specific outdated version of the Java Runtime Environment (JRE). • Solution: Uninstall any existing versions of Java and temporarily install JRE 1.4.2.

  36. Expected Problems & Solutions • Incorporating Broadcom software • Problem: Streaming phone calls or stereo audio over Bluetooth is an extremely difficult task. Solutions exist, by companies such as Broadcom, but even their development kit fails to state how this is accomplished. • Solution: We will utilize Broadcom’s existing application to accomplish the task of passing audio from a phone call to the computer’s speakers.

  37. Estimated Costs

  38. Estimated Costs • Software: • TalkingJava SDK License (academic) = $14 per license • Hardware: • Microphone - $10 • Bluetooth adapter - $12 • Computer for developing and testing – N/A • Bluetooth-enabled cell phone – N/A • Total Estimated Cost = $64

  39. Thank you for your time. - Chris Keller Greg Nehus Matt Odille

More Related