140 likes | 320 Views
MobileRC. Will Worden Jackie Hyunh Chris Shrives. 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. Technologies involved. WLAN connection between phone and computer
E N D
MobileRC Will Worden Jackie Hyunh Chris Shrives
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
Technologies involved • WLAN connection between phone and computer • Phone that can run J2ME application (We tested on a Nokia e71/ SymbianS60 FP2) • Computer side requires Python, VLC Player
How do we do it? • Interpreter runs on computer, Phone connects to. Interpreter parses commands from phone and passes them to VLC for execution INTERPERTER
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
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
Phone Side • TCP message commands • Predefined port on Computer Side, OS assigns Phone side port
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.
Computer Side • Python • Makes separate TCP connection to VLC (localhost) • Has mapped commands to VLC commands • Originally intended to have own GUI, cut this feature
Problems found on Computer Side • VLC does not provide any playback information that can be used to create playback information
Commands • Play • Stop • Resume/Pause • Volume +/- • Full Screen • FFW • RWD • Next • Previous • Mute (VLC bugged)
GUI • KUIX library (http://www.kalmeo.org/projects/kuix) • Uses CSS to create dynamic UI
Security • MD5 Hash of initial remote command • Had intended to use symmetric keys(cut) • Nonces (cut)
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