Sunday 25 January 2015

SYSTEM ON CHIP: THE RASPBERRY


In a short span of last  2-3 years we have seen some incredible computing products which are not only quite powerful but are also very compact and are loaded with some fantastic features.There are many products like Beagle bone, PCduino, BananaPi, and the newest product to join the party is the Edison ,created by Intel. But one product that has become the hot Favorite of so many developers around the globe is  the RASPBERRY PI.Here is how it looks if you haven't seen it before. This is a B+ model.

It can do almost all the daily  tasks that your computer can do. You can surf on it,watch movie,write and edit documents ,yes you can't play a high end game on it but then there are things  that you can do with it which you can't do with your regular desktop computer or at least it is more feasible and practical to do it with the pi,Some example of such tasks could be like controlling  motors on a robot, your own real time translator, sensor data processing unit,may be an home automation solution and many other such things.

HOW IT CAME INTO EXISTENCE

Before i dive into the product specifications  i would like to  quickly share about the ethos behind the development of this product. The idea for an affordable computer came when Eben Upton, Rob Mullins, Jack Lang and Alan Mycroft, based at the University of Cambridge’s Computer Laboratory saw a gradual decline in the skill set of students applying  to study Computer Science .They figured out the reasons for such decline (for reasons you can go to history)and to fix the issue they came out with raspberry pi  which hit the market in 2012 . And this idea proved to be a great success and as of October 2014, about 3.8 million boards had been sold.


SPECIFICATIONS AND MORE
 Five models of raspberry pi have come out so far. 

below is a comparison chart of the specifications of different models. I have taken this chart from t element 14 you can find it  at element14_doc. i couldn't have made a better compilation.

OPERATING SYSTEMS AND OTHER SOFTWARES

A raspberry pi requires an operating system just like your normal desktop. Raspbian is the recommended operating system for any beginner.But there are many different operating systems available for raspberry pi,most of them are based on linux. On the website of raspberry pi you would find reference to Raspbian, Pidora, Openelec, RaspBMC. Openelec and RaspbBMC are generally used when you would like to use the pi as a media center. Non linux distributions like RISC OS are also there. Pawn pi is another distribution which is used for penetration testing etc but again it is for advance users.
For the windows users using a linux based distribution  might seem to be an intimidating task in the beginning but it is not that difficult. First thing you find is there is no .exe files for installation and if you want to install anything connect the pi to the internet and go to the repositories and shoot some commands like aptget, and sudu  for  administrator privileges.You can find a lot of content all over the internet where you can learn all this.
Python is the language you use to control the voltage on the GPIO and do some talking over I2C and SPI to control some external hardware. Other languages can be used like c ,c++ but python works out of the box and is also fun to use.Also there are so many open source libraries and a strong community support to find solutions whenever you get stuck somewhere.



HOW MUCH WILL YOU HAVE TO SPEND TO GET ONE?


CHEAP ISN'T IT? well not so cheap actually. This product is often marketed as a 30$ computer or a 20$ computer for a different model. But mind it that is just the cost of that green chip SOC ONLY. To actually make that thing do something and do some development on it you would require some peripherals like keyboard mouse,wifi dongle,HDMI cable,monitor. So if one really want to start working with a pi you need to spend more. A complete kit withall the bits and pieces you need like  camera,pi,keyboard mouse, cables will cost you around 12000 INR. only after you spend this much you will be able to create something. 
Here is a picture depicting the connections of various peripherals

Of course there are ways around like you can do SSH using softwares like putty and then you can also take the advantage of VNC  this will  eliminate the requirement of additional keyboard and mouse. There are some other tricks too to find a way around and manage with lesser resources but may be it will make the learning curve for a beginner much more difficult.

But all in all a great product to play with,it gives capability to do a lot of things. These things are going to be a part of our surroundings,there are people who  are using these to make a commercial product  like advertisement boards, photo souvenir printers,  Raspberry pi foundation seems to promote this kind of products and in fact the compute module is made with an idea of embedding pi into a commercial product but  there seems to be licensing issues with the video codecs.With developers having access to such cool SOC we are going to see more and more innovative products based on pi,particularly the products in the IOT (Internet Of Things) segment will get a great push. 
So that solves for this time,get you pi,learn python and get started.

Here is a video to start learning python with


DEEPANKAR MAITHANI