Monday, 26 August 2013

Play Room Media Centre: Keeping Ahead of the Curve

Following on from my last post, with any ideas of what we could do with a RaspberryPi in the #play_area, I need to make sure that I have some of the questions and answers squared away before introducing the ideas to my son. He's a smart, intelligent boy, with a great ability to conceivewhat could be done. But like all seven year olds, they don't necessarily handle failure and changes to plans once you start them on something. So, with any such projects, there is always going to be the necessary parental home work to be done upfront.

Play Room Functions
There are a number of needs that could be fulfilled within our son's play area. He loves watching his DVD/Video collection (my wife has an uncanny knack of finding old kids favourite videos in good condition!). He is also at an age where his musical tastes have and will continue to expand beyond the Wiggles, so playing music is also required. As all of these media can be digitised and served across our network - this all comes under the need for Wi-Fi media streaming. Though for the sake of our household Wi-Fi performance, it might be best if the majority of the children's content is available locally on the media centre.

Some of the programming that our son enjoys may be available from online/smart TV services line the ABC's iView service. However, other programs are not. Our experience is also that some smart TV devices are not compatible with the ABC's iView. So being able to watch free-to-air digital TV is desirable, but at the moment, we'll consider what hardware will be required to provision this, but not move to implement.
Games console. Don't ask how, but somehow we have existed all these years without owning a games console. No Xbox, no PS3, and no Wii. No we are not deprived and nor is our son. If anything there are times when he plays too many games already. However, as part of having a play room that provides entertainment to a small group of children when he has friends over, having a multi-controller games console would be good. Lets face it, having a group of friends huddled around one PC and a small monitor in the confines of a bedroom, whilst cosy, gets boring for those who are waiting to have a turn.

Other Requirements
All this needs to be established in such a way that it's power usage is economical, and such that it does not cost a lot - which might mean some seemingly crazy, yet innovative recycling/re-purposing of devices.

Initial Research - OS
One of the many questions to resolve here is which distro would be the most likely to achieve the greatest number of requirements - therefore providing a simpler low-risk solution and less set-up effort - and keep the focus upon conducting a successful project. Primarily I am considering one of two options - Debian 'Wheezy' and RaspBMC. Of these two offerings, RaspBMC is probably going to cover the need for the storage and streaming of digitised content. I am yet to find another distro for the Raspberry Pi that is know to be stable enough that would natively support a gaming interface such as Valve's Steam.

So, this is something that will need to be tested - is there a Raspberry Pi distro that can run steam? If not, this does not kill the project nor mean that we cannot meet the requirement. It just means that when we look for games to play, there will be a simple 'marketplace' to get them from.

Initial Research - Hardware
From the requirements that I've set, the solution is going to require the following hardware:

  1. Raspberry Pi - I'd like to go with the latest, but I have an old Rev A Ver 2 that needs to be put to use.
  2. Powered USB Hub - to power the Raspberry Pi and to provide device connectivity
  3. Wireless keyboard/mouse replacement - For the moment, I'll have to start with just a USB mouse and keyboard.
  4. USB HDD - at the moment I do have an HP 3TB unit sitting spare. I need to test it on the Pi as it is a little proprietary in its interface. It has it's own power supply which draws about 144W - so I am not entirely keen on this. A unit that is less power hungry or that could be powered through he USB hub would be nicer.
  5. USB Wi-Fi dongle. I have a Netgear Wireless N dongle that's been spare for a while. It might well be too old to support the bandwidth for the media streaming.

Initial Research - Power Consumption
What are we replacing? A DVD/Video player, in which the DVD does not work (50W), a DVD player (15W), and a stereo system that I suspect runs about 45W - but given that CD's can play in the DVD player, it's consideration is negligible. There is also the as yet non-existent games console. So for now, that means that we are trying to keep power input to around the 65W mark (drawn by existing DVD and Video players combined). In terms of considering the project a success in this aspect, some consideration must also be given for replacing the need for a dedicated game console. Not currently owning one means that more detailed research of their specifications is required.

If all that is required to successfully implement this was the Raspberry Pi, a Wi-Fi dongle, and a wireless RF or Bluetooth dongle to connect to a wireless controller, that could be successfully achieved on just the power supply for the Raspberry Pi, which draws 36W.

I know from previous investigations that most powered USB hubs draw more than 60W, and the powered USB drive I have sitting handy draws 144W.

From doing some leg work and looking for the power consumption specs for game consoles online - well they sort of do not exist. That is to say, that in conducting searches it was easier to find power consumption statistics from independent sites, than from the manufacturer's themselves. Probably the most useful statistics I found compared the Wii U, the Xbox 360S, and the PS3 against one another (http://www.eurogamer.net/articles/digitalfoundry-wii-u-is-the-green-console). Definitely the Wii U runs at 30-35W by this reckoning, where as the older versions of the Xbox and PlayStation platforms were running at 65-75W. Not sure about the power drain of the Xbox One and the PS4 - the companies are all about bragging about the power usage when in stand-by or low power modes, but not about their power consumption whilst the device is actively being used.

So to keep this home-made solution green, I think that a reasonable target for success is 100W or less. At 130W or less, I think it could be considered on a par with the collection of devices that it replaces, but any result over 130W would be a fail.

Sunday, 25 August 2013

Child's Play

I sometimes feel like I'm caught between two worlds. My father was one of the key people for getting Wang computers into parts of the Australian Federal Government, however his generation were born before our modern computers, and so he was always playing catch-up. My son at age seven has taken to having laptop and joining me in playing with the Arduino all to easily. And it has only been through my own lack of organisation that he hasn't had the opportunity to play with a RaspberryPi.

But we are taking steps in the right direction.

As an educator I know that even when dealing with an audience that has a background in the subject area and a strong conceptual ability, it is useful to have tangible, physical models to help stimulate and backup their learning of concepts. And this is where I think that the Arduino has a really strong place. There is just as much that can be done to demonstrate the base concepts behind electronics and programming by modifying the set-up of a circuit as there is to rewriting code, and this is an important point that the Arduino brings to any session of working with it.

When we gave our son my wife's old laptop, I first cleaned it up. It's about a 5 year old XP netbook. Even though he'd spent time on our desktops every now and then, it took him a while and some persistence, and many questions to get the swing of using it as a power user. And so his hunger for the knowledge grew. Apart form playing games, and researching old Dr Who episodes on YouTube, every second day he was changing his desktop appearance and demonstrating more skills in the administration of the machine.

Then he saw my Linux Mint-Cinnamon machine in use. He wondered what this Linux thing was and he wanted one – so now his laptop dual-boots. Interestingly enough, whilst he has made changes to the Linux Mint config, I haven't been consulted.

Being aware that he was yet to get the Raspberry Pi experience, I grabbed an idea from the Raspberry Pi distros, and installed Scratch on his Linux Mint partition. With a bit of coaxing he got into using it quite well. That was a couple of weeks prior to the both of us ending up on bed-rest with tonsillitis. With my wife overseas at the time, despite the fact that my son was sick – he still had his bounce. How would I keep him in one place, where it was warm, safe and preferably a bed, such that he'd recover quickly and if I fell asleep because of my illness, he'd still be right next to me? And that's where having Scratch tutorials on YouTube playing on the bedroom TV became a real godsend. By the afternoon of our second day laid up, he was re-mastering PacMan.

So I had been thinking about using a Raspberry Pi to make the play-room TV into a smart TV, and to give it games. I think the best course of action may be to let my son give that project some direction.