Download presentation
Presentation is loading. Please wait.
Published byLee Osborne Modified over 9 years ago
1
Will Worden Jackie Huynh Chris Shrives
2
What does it do? Use your cell phone as a remote control for a media control center Two sides – Computer Side application and Phone Side application
3
Technologies involved WLAN connection between phone and computer Phone that can run J2ME application (We tested on a Nokia e71/ Symbian S60 FP2) Computer side requires Python, VLC Player (default player)
4
How do we do it? Interpreter runs on computer, Phone connects to. Interpreter parses commands from phone and passes them to VLC for execution TCP
5
Phone Side J2me application Connects over Wireless LAN rather than over the air through cellular network No data costs associated with it TCP /UDP connection, predefined ports
6
Phone Side Networking aspects Finding Peers Features both manual entry (history of previous connections stored locally on phone) Automated peer detection on WLAN UDP broadcast on subnet to find listening peers
7
Peerfinding Registrar Service
8
Peerfinding Broadcast Address Message hashed with md5
9
Peerfinding Password matched, Connect
10
Phone Side TCP message commands after connection established Predefined port on Computer Side, OS assigns Phone side port
11
Problems Encountered on PhoneSide Problems found: Many wireless routers don’t allow broadcast msg Nokia does not recognize 255.255.255.255 as valid host Symbian does not allow phone to report its own IP address (Security feature) Nokia phones cannot connect to an address with port 80 (Midlet must be signed by trusted authority such as Verisign or Thawte) Workaround: Connects to a registrar service that provides the IP information.
12
ComputerSide (Interpreter) Python 2.6 Console Application (GUI feature, cut) Maps internal commands to VLC commands Accepts TCP Connections from mobile devices. Makes separate TCP connection to VLC Connects to VLC’s Remote Control Interface Why have interpreter? Why not connect mobile devices to VLC directly?
13
ComputerSide (Interpreter) Decoupling You can build a different application to act as the remote control. (e.g. iPhone application) You can control other media players as well, as long as they have some sort of remote control interface
14
ComputerSide (Interpreter) Usage:
15
Problems found on Computer Side VLC does not provide any playback information that can be used to get status of the player. Commands sent to VLC are limited (e.g. Pause/Resume) Difficult to detect VLC installation location. Just assumed default.
16
Commands Launch Play Pause Stop Next RWD FFW Previous Volume +/- Mute (VLC bugged) Full Screen Quit
17
GUI KUIX library (http://www.kalmeo.org/projects/kuix)http://www.kalmeo.org/projects/kuix Uses CSS to create dynamic UI
18
Outside sources http://www.kalmeo.org/projects/kuix Md5 implementation for j2me http://mobilepit.com/10/compact-md5-class-library- for-j2me-javame-app.html
19
Open Source! This project is hosted by Google’s Project Hosting http://code.google.com/p/mobilerc/ MIT Licensed
20
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.