I would like to create a multimedia system which my (young) kids can control themselves. XBMC on the RPi is a great system and has lots of easy ways to control, but although fiddling around with a keyboard or with remote controls on smartphones can be extreme fun for the kids, it is in general not really fit for our little ones to really get a movie selected or the sound adjusted. Especially in the weekend, mom and dad occasionally can enjoy an additional hour of sleep, so it would be great they can choose their own movie or show.
Besides controlling XBMC, we can go a step further and we could also control our DIY domotica system, dimming lights or powering the TV itself. In order to comfort mom and dad even more, a camera could provide a monitoring system.
You can follow my progress in separate blog posts:
XBMC will be at the heart of our media center. Using RaspBMC this should be straightforward to set up. With the XBMC bundle, we connect our RPi with the HDMI cable to the TV. XBMC provides a JSON-RPC interface which we can use to build our own interface.
Interactive control board
In order to create an interactive control board, I plan to use a PiFace Digital. This addon shield should provide an easy way to add my own buttons which can than be mapped to XBMC functions. The state of the buttons will be read by a service on the RPi which will send the appropriate calls to the XMBC over the JSON-RPC interface.
To make it even more fun for the kids, I would like to add some light effects to the board. Using a LED matrix some response can be generated to clearly indicate e.g., the allowed sound levels.
By now, we should have a working media center which can be controlled by the kids to select their favourite movie while mom and dad can stay in bed for another hour. But, as worried parents you cannot directly catch your sleep again as it seems awfully quiet downstairs now. Are they just so focused on their favourite show or did they find something they are not supposed to play with? Can you ignore this doubt? Do you get out of bed to check and possibly disturb your angels while they watch their show or do you just grab your smartphone and check the camera on the PI to see what they are doing?
In this second part of the project, I would hook up the PI camera to RPI and make a web service so I would be able to remotely check the living room. Using the WiPi I can connect the RPi to our wireless network.
In our home, we have most of the lights in our living room controlled by a wireless system. We don’t want our kids to stay in the dark all time, so I see two options for our kids to control the lights. Both options would use the RPI extension board I already made to create a webservice which can control the lights. It is an arduino like scheme on a Humble Pi connected to the RPi. With this board I can sent signals to the lights from the RPI. First option would be to just extend the card board control with some buttons to control the light. This should be straightforward with what we created before. Second option would be to have some (wireless) light sensors verify if it is dark in the room when the entertainment system is used. If so, lights are automatically turned on. The RPi extension I made also contains a receiver for TinyTX like sensors, so I should be able to hook up those to read out the ambient light in the room. As we are now using both my own extension and the prototyping board needed for the cardboard control set, the PiRack might come in handy. It seems it should be able to connect multiple extension boards to the RPi.
The kids are not the only ones which would like to use the RPi media center! As a final touch, I would like to add a PiFace Control and Display to the stack to have some basic direct controls to the RPi. As the RPi could be used to collect data from the sensors (including temperature sensors), the display could show the latest received temperature readings. Using the buttons, I could change the function of the RPi from media center to Internet Radio and at the same time change channels.