by: Chao Lai, Stephen Kimble Course Project by: Chao Lai, Stephen Kimble
Main Idea Use Raspberry Pi as a multi-purpose media box Music through bluetooth/bt devices Youtube Pandora Implement UI to access all features
RPi Platforms Why Raspbian? Debian-based Strong support from devs Powerful, customizable
Interface Good support for Python on Raspbian, created implementation using tkinter Automate process of opening different utilities Uses Python’s powerful abilities to link utilities, perform diagnostics, logging
Bluetooth Bluetooth LE 4.0 Supports ‘low energy’ or classic mode LE -- VERY LOW power consumption not backwards compatible Spectrum Range: 2.4GHz ~ 2.4835GHz ISM Band Frequency Hopping -- to counteract interference 1-3MBit/s data rate 128bit AES security -- for pairings, etc Scatternet(Classic) and Star-bus(LE) network topology 3ms - 100ms latency
Bluetooth cont. 0.27-2.7Mbit throughput LE uses DSSS (Direct-sequence spread spectrum) digital modulation http://en.wikipedia.org/wiki/Bluetooth_low_energy
PulseAudio PulseAudio to route mobile device to ALSA driver Advanced Linux Sound Architecture ‘proxy’ for sound applications allows routing of sound to different locations and sample rates
Youtube-dl Used to stream Youtube videos on Linux without a browser downloads the video and opens it in a video player youtube-search fast -- command-line support for multiple platforms
Pithos Debian-compatible Python application for Pandora streaming Lightweight Media key integration Python implementation
Challenges Challenges in achieving bluetooth connectivity power consumption with keyboard, mouse, hdmi, speakers Interface challenges Initial attempt to create Qt app was unsuccessful -- difficulty in realizing cross-compilation to ARM architecture adopted a Python UI using tkinter as an alternative SSH cross-network
Limitations / Weaknesses Bluetooth Only pairs one device Constant polling drains power Limited testing Youtube implementation simple search function UI limitations Requires manual support for different multimedia sources -- no jack of all trades implementation possible Bluetooth, Youtube, Pandora Raspberry PI-related hardware and software limitations
Future Work Improve on GUI, boot into GUI more flexible bluetooth pairing -- sleep until woken support for more multimedia sources Netflix -- difficult to implement on Linux -- uses Silverlight Hulu, airplay, -- video streaming? more wireless integration / capabilities More mobile