The taste of Pi - Raspberry

Last week I got delivery of the Raspberry Pi, the small computer that is available for under $40. That was not just the only selling point, the point was that you can run what you want and extend it as you want.

The Beginning

Over the Christmas break I placed an order for the Pi and expected it to arrive just before the new year as it was being shipped from Melbourne, Australia. I got it just around the new year. Many of the websites had pictures of the Pi arriving in a thin cardboard box, however this one arrived in a nice plastic container with a slot for an SD card. It would have been so good if this plastic box could be used as the casing for the Pi. Apart from the little circuit board there is a "Quick Start Guide" that explains a few things and that's that.


Booting it up

The things that you need before you can start are
1. A Micro USB cable
2. A SD Card of at least 2GB capacity
3. A Monitor or a TV with HDMI or RCA Video In
4. A Keyboard (for the first time setup)
5. A Mouse (if you are going to use the GUI

I was lucky to have a couple of micro SD cards and an adapter that I could use to boot this up. Next was to download the image to place on the SD card. It is not a simple copy/paste type operation, it needs to be written to the card, not copied onto it. There are a couple of tools on Windows to do so and for Unix and Mac the best option is the dd command. Though the only issue is that it is not verbose so you cannot see what's happening, you have to wait for the command to complete.

so far the best option is to use the Debian image, it features a full fledged linux system with a graphical interface.


The Boot process

The boot process is the same as a unix boot process where the penguin (tux) is replaced with the raspberry (rasp) and the boot messages keep scrolling on the screen. Once they finish you are presented with the prompt. Though the first time you will be presented with a text based menu to configure the system.

You can start the GUI by simply typing startx though if you want to work with the GUI on a regular basis then you can include the startx command in your bash profile to start everytime.


It was lucky to have a small 14" Portable TV handy (reminds me of the 80's when the portable used to be B&W and connected to a ZX Spectrum)


Adding functionality

While the image provided has the necessary applications, and comes with python, gcc, perl, lua, scratch and squeak you can always add more from the terminal (command line) using the apt-get install commands. One package that you must add is the vncserver and you can set that to run on start up too. This will then allow you to run and mange the Pi remotely and allow for it to run without a keyboard and mouse.

Note: everytime there you plug or unplug a USB device onto the USB ports present on the Pi, the device reboots. It is just good that the boot process is really fast so you do not miss much really and since it is running off a SD card it is (supposedly) fast. However on attaching a USB hub and then plugging or unplugging the Keyboard/mouse from the hub did not trigger the restarts.

Hardware extensions

I found an old Bluetooth adaptor I had purchased around 2004 for my HP Laptop to work with the Sony Ericsson T610, a small and wonderful phone, it could communicate over BT and allow controlling your music playlists, move the mouse, run your presentations, etc. You could send AT commands and create custom menus and list on the device. While the trusty Nokia still worked with IR data communication. You had to align the two devices to look at each other's IR ports and then select send (mostly contact information) to the other (using OBEX). In fact that was also available with the Pocket PC's at the time.

So when you plug-in the BT dongle, it does not get recognised instantly. It is not Windows or Mac OSX, it is a simple linux distro. You can use the lsusb command to list out the usb devices connected and if you do see the Bluetooth device in that list, that's step 1. For the next step, you need to install the relevant Bluetooth drivers and packages. You can also install the GUI package to help manage the BT items. Generally the pairing for devices that do not have a keyboard is automatic or might require to pair using "0000".

I also had an old Belkin Wireless USB Adaptor, but did not get far as to test it on the Pi, so cannot comment on how to set it up (as yet, will do that soon). After getting used to practically every other device connected wirelessly it is a bit strange to see a big thick cable pulling the little device down. The USB wireless dongle is not small either it is longer than the device itself.

Adding Disk Drives and other equipment

This is something that is not as yet tested for the lack of an IDE/SATA interface (from my end) where as I found the $49 (just $13 more) Cubieboard could be double the price than that of the Raspberry Pi, but it features double the RAM at 1GB DDR3, 4GB on-board memory, 1 Sata Slot, 1 IR port, VGA Out, and 1G A8-Arm Cortex processor and a built-in WiFi module.


Impressions

The Raspberry Pi is a good attempt at the low priced devices market. While nameless Android tablets can be purchased from the manufacturers for $50-250 that are knock-offs of some big brand Android devices, you cannot flash these to run Linux, etc. In that sense, the devices like Pi can be used to run portable linux based servers. In fact the 5V power supply for the Pi is from the USB port of the device, which means that you can set up a mini web server farm using several of these devices saving power. The next thing that I need to test is running a cluster of these devices and see what kind of computing power can they offer. There might be someone that could have already done this, so if I find a paper/article on that first, it would save me the hassle to run that experiment.

Educational Uses

The main reason with which the Pi was created was for education and truly so it is quite apt for the task. It can connect to a Television using the RCA or the HDMI. If you want to connect to a monitor, you might require the HDMI to VGA adapter. I am aware of some local schools that use Scratch for primary school students to play with. The single largest issue that the schools are faced with are budgets so with low cost devices that can be taken care of. While I was teaching at the University, the subject was called "Linux/Unix Administration" and the biggest issue was installing Linux on the lab devices. While the university IT&R support group was not very keen on creating partitions to support or provide dual bootable machines (they could not manage these if the machines were left to boot in Linux mode and not Windows) So my students would often face the issue of poor lab support. If these devices were available at the time, it would have made learning so much fun, no more running VM's on their laptops and fiddling with the restrictions, etc of the networks and the policies.


I have no affiliation with these but still I would recommend that everyone must have one of these devices and a book on Bash/Unix Scripting it can make life so much more useful. I can see the scenario, where the device is plugged into the USB port of the Lab machines and it automatically gains a wireless IP Address and is powered off the USB. Then using Putty you can SSH and or tunnel and VNC to this headless device and work with it. It would be so much easier to have SD cards and swap them like HDD's to boot into client mode or server mode. There are plenty of things that one can achieve with a little ingenuity and Linux.


The IO ports could have been a bit more student friendly and more accessible than just 26 pins.

Non Educational Uses

There are other ingenious uses of the Pi, there is an article on CNET that lists out the 25 things you can do with your Raspberry Pi ( http://reviews.cnet.co.uk/desktops/25-fun-things-to-do-with-a-raspberry-pi-50009851/ )

Note: While this (Pi) is powerful enough to run a web server, mail server, file and ftp servers, it is not powerful enough to run GUI apps/terminal services. However the other boards like Cubieboard are powerful enough to run a desktop GUI version of Linux. I remember the AS/400 that was purchased (around 1998) to replace the System/36 had 1 GB or HDD and ran an entire group of companies transactions, etc off that. These devices are as powerful as the machines in those times. It is just that the GUI bits (images) take up a lot of space.


In Summary

While I am impressed with the device and am using it to run a small little Linux based server, the Ubuntu VM running under VMFusion is still more usable in terms of applications. The headless Pi can be used for running Lua scripts and as a server that can be replaced by simply swapping the SD card. I am tempted to look at the other options. Cubieboard at $49 seems like a good buy with the specs and functionality, at $69 the GameStick (http://www.gamestick.tv/) is another very good alternative given that it has a cool XBox like interface and the games demonstrated in the video lean slightly towards the 3D types thereby demonstrating that it might run 3D without much effort. The only difference being that while Game Stick and Ouya (http://www.ouya.tv/) are closed as far as the hardware is concerned. Pi and Cubieboard allow them to be extended and customised.

The shift from build your own computers to laptops to tablets could soon see a shift back to build your own tablets and this could be the turning point. You could be soon building your own custom small devices.

Update: If you have the need for a Media Player, and are not happy with Apple TV, Raspberry Pi is the next best alternative. Personally after having a TV that takes a USB stick or HDD and plays the Music/Video/Pictures off it, having the T-Box (http://www.telstra.com.au/tv/tbox/), the Apple TV, PS3, XBox, Direct connection to the TV from a Laptop, etc. The best alternative is the in-built player of the TV (It did not have the WiFi option when I got mine). I could play a 1920x1080 video with hi-res, crisp text and menu items, control it using the XBMC remote on the iPhone/iPod, there is no better media player than that. Best of all, swap the SD card and I am back to my Webserver/FTP server and swap it back for entertainment.

The only irritating thing is that I could not get the media I copied onto the SD card used for booting to play, it recognized the external HDD and played the audio well, but had a few issues with the video. I guess it was because they could have been xvid or divx with a .avi extension.




Comments

Popular Posts