310 likes | 487 Views
iTunes Remote Control. ECE 445 Spring 2006 Project #24 Jon Michaels Nick Modrzejewski Rob Tupuritis. Introduction. Digital Music Peer to Peer Filesharing Wireless Communications. Apple iPod iTunes Multimedia PC’s Universal Remotes. Objective.
E N D
iTunes Remote Control ECE 445 Spring 2006 Project #24 Jon Michaels Nick Modrzejewski Rob Tupuritis
Introduction • Digital Music • Peer to Peer Filesharing • Wireless Communications • Apple iPod • iTunes • Multimedia PC’s • Universal Remotes
Objective • Aid transition of digital music into home theater • Build product to aid popular digital music player • Functional and marketable product
Initial Idea • Remote Control for iTunes on a PC • RF and Bluetooth vs. infrared • Functionality - menu, visualization, and equalizer functions • Software package
Features • PIC Microcontroller • BlueSMiRF radio • Bluetooth USB • Backlit Serial LCD screen • ON/OFF switch • 4 AA Battery powered • Surface mount buttons
System Overview • Hardware: • Pushbuttons and logic, PIC16F88 microcontroller, serial enable LCD, BlueSMiRF blueradio, Power Supply, • Bluetooth enabled PC. • Software: • iTunes, remote handler software (ECERemote.exe), PIC program
System Overview Serial enabled LCD software BlueSMiRF BlueTooth Serial Port PIC16F88 12 Push Buttons
Hardware Overview(In House) • Pushbuttons and Logic • User interface, 12 buttons allow the user to control iTunes remotely • PIC16f88 microcontroller • Controls communication from the remote to radio • Power Supply • Provides a regulated 5V source and ground for the system.
Hardware Overview(Purchased) • Serial Enabled LCD • serLCD v2 • Controlled by the HD44780 LCD controller • Purchased from Sparkfun Electronics • BlueSMiRF • Manufactured by blueradios • Purchased from Sparkfun Electronics
Push Buttons & Logic • 12 Priority encoded buttons • Logic system for generating an interrupt signal
PIC16F88 Microcontroller • Receives button data on pins A0-A3 • External interrupt driven • Generates unique ASCII character for each button. • Sends ASCII character via RS-232 port to BlueSMiRF. • Programmed in C using MPLab, CCS C compiler, and PICStart Plus programmer.
Power Supply • Powered by 4 AA batteries • Standard slider switch provides ON/OFF functionality • voltage regulator provides a clean 5 volt supply to system.
Purchased Hardware • Serial Enabled LCD • 16x2 character LCD display with adjustable backlight. • Receives ASCII character via RS-232 port and displays it. • BlueSMiRF • Receives RS-232 data from PIC and transmits over radio link. • Receives data via radio link and transmits in RS-232 standard to serial enabled LCD. • 9600bps, 8 Bits, No Parity, 1 Start/Stop
Software • Custom Windows application that interfaces between the iTunes software and remote control hardware • Features: - Media Player Functionality - Music Library Navigation - Hardware Configuration
Media Player Functionality • Play/Pause • Skip Forward/Backward • Volume Adjustment • Equalizer • Visualizer • Shuffle
Music Library Navigation • Access to entire iTunes music library from remote via menu interface • Easy intuitive navigation • Song selection arranged by artists and user-defined iTunes playlists
Hardware Configuration • Dynamic interface allows user to easily connect to Bluetooth remote • Provides interface to adjust LCD backlight remotely
Development Tools • Visual C# application developed using Visual Studio 2005 and the .NET framework • iTunes Windows SDK
iTunes Programming • iTunes functionality exposed via Windows COM interface • Allows creation and manipulation of iTunes its and internal objects: - playlists and playlist collections - tracks and track collections - custom event handlers
Menu Interface • Tree-like structure • Nodes are built dynamically as user navigates == Playlists == Party Mix MenuNode class Driving Mix MenuItem class Oldies MenuItem class === Beatles === MenuItem class All You Need is Love === Artists === Come Together Aerosmith Help! Beatles Chevelle
Communications - Incoming • BlueSMiRF radio is configured by Windows as a standard serial port • .NET framework provides SerialPort class • DataReceived Event Handler reads in commands from remote • Byte streams are decoded into commands that are sent to iTunes
Communications - Outgoing • LCD functionality is controlled from the PC • The LCD unit receives commands and characters to display • User button presses and iTunes events call LCD functions that write the appropriate information to the display
Range Testing • BlueSMiRF radio accepts AT modem-style commands • Provides two measures of connection quality: - Received Signal Strength Indicator (RSSI) - Bit Error Rate • Start at distance of two feet and incremetally move away, taking 3 measurements of each indicator per step • Average values and plot as a function of distance
Range Testing Results: - Maximum operating distance ~30m - Reliable operation within 20m
Battery Life • Measure current draw for 12 different cases • Assume normal operation involves the user selecting one new song every 5 minutes. This requires approximately 10 – 30 button presses (communication events) • Standard Energizer E91 AA Battery has a capacity of 2850 mAh
Recommendations • Push and hold button repeat • Minimze cost by building radio and LCD in house • Handle out of Range crashing issues • Increased software robustness • Increased battery life through radio ‘sleep mode’ • Rechargeable batteries, dock
Q & A Are there any questions? We hope to have answers.