openelec:~ # df -h
Filesystem Size Used Available Use% Mounted on
none 185.1M 87.4M 97.6M 47% /dev
/dev/mmcblk0p1 124.7M 96.1M 28.7M 77% /flash
/dev/mmcblk0p2 1.7G 61.2M 1.6G 4% /storage
/dev/loop0 87.4M 87.4M 0 100% /
none 186.5M 0 186.5M 0% /dev/shm
/dev/sda1 916.9G 727.4G 142.9G 84% /var/media/cove
openelec:~ # passwd
-sh: passwd: command not found
Although the CPU in Raspberry Pi is an ARM 700 MHz processor (could be over-clocked up to 1 GHz), but the GPU (Broadcom VideoCore IV) is fast enough for 1080p video playback, which is the key to an HTPC. Since controlling an HTPC with a keyboard and mouse is way too geeky, we'll dump them and use an IR remote instead (shown below).
With the Raspberry enclosed in the black case, the composition looks less ugly tho.
Port usage in the USB hub (from left to right):
- Power supply for the Pi
- IR remote receiver
- USB external hard disk
While playing 1080p video, the CPU temperature is like 62 °C (144 °F) , guess it could go up to 70 °C (158 °F) in summer, and the power consumption is less than 8W with peripherals attached shown above.
|Hardware info of the Raspberry Pi|
The last thing to do is enabling the AirPlay feature in XBMC. Go to System -> Settings -> Services -> AirPlay to enable it, then your iOS devices could either play the music or display the photos to the XBMC screen (mirroring not feasible due to hardware limitation).
|AirPlay feature in XBMC|
Note that the iOS device and the XBMC must be within the same local network (or subnet to be specific) for the service to be broadcasted correctly. (no configuration is needed on iOS devices.) Click the AirPlay icon while browsing the photo to airplay it to the remote screen.
|AirPlay icon on iOS|
|Photo on iPad airplayed to the remote XBMC screen|
[Updated on Apr. 4, 2013]
Additional notes regarding the remote control, since the Raspberry Pi is CEC-enabled, which is a feature in HDMI specification that allows the user to operate multiple devices with one remote control, if your TV set is also CEC-enabled, you can just use your TV remote to control XMBC. Pretty cool, huh?
Luckily the TV (Sharp LC-52GX30T) I used is CEC-enabled. To check if your TV supports HDMI-CEC or not, login to the OpenELEC and type "cec-client":
openelec:~ # cec-client
No device type given. Using 'recording device'
CEC Parser created - libCEC version 2.1.1
no serial port given. trying autodetect:
path: Raspberry Pi
com port: RPI
opening a connection to the CEC adapter...
DEBUG: [ 108] unregistering all CEC clients
DEBUG: [ 111] Broadcast (F): osd name set to 'Broadcast'
DEBUG: [ 117] InitHostCEC - vchiq_initialise succeeded
DEBUG: [ 118] InitHostCEC - vchi_initialise succeeded
DEBUG: [ 120] InitHostCEC - vchi_connect succeeded
DEBUG: [ 124] logical address changed to Broadcast (f)
DEBUG: [ 125] RegisterLogicalAddress - registering address e
DEBUG: [ 306] logical address changed to Recorder 1 (1)
DEBUG: [ 307] logical address changed to Free use (e)
DEBUG: [ 307] Open - vc_cec initialised
NOTICE: [ 308] connection opened
DEBUG: [ 314] << Broadcast (F) -> TV (0): POLL
DEBUG: [ 314] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
TRAFFIC: [ 314] << e0
DEBUG: [ 316] processor thread started
DEBUG: [ 346] >> POLL sent
DEBUG: [ 346] TV (0): device status changed into 'present'
DEBUG: [ 346] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 346] << e0:8c
TRAFFIC: [ 538] >> 0f:87:08:00:1f
DEBUG: [ 538] >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG: [ 538] TV (0): vendor = Sharp (08001f)
DEBUG: [ 539] expected response received (87: device vendor id)
NOTICE: [ 539] registering new CEC client - v2.1.1
DEBUG: [ 539] detecting logical address for type 'recording device'
Or take a look at the lower-right corner after XBMC boots, a pop-up message will be shown (see image below) if a CEC-enabled device is connected.
|Message shows this TV is CEC-enabled|
Here's a quick test results on CEC features against my TV:
- Use the TV remote to control XBMC - PASS
- Shutdown XBMC and the TV will be turned off automatically - PASS
- While TV is on, turn on the Pi and the TV video source will be switched to the XBMC automatically - PASS
- While TV is off, turn on the Pi and the TV will be turned on automatically - FAIL