You might be able to tell from my other articles based on the Arduino that I like dabbling. When the Raspberry Pi was announced, that was an instant 'Ooooo', then the price was announced which led to a bigger 'Ooooooooooo'. And that was that, it was a must have. Don't know what I was going to do with it, but it was on the list.
Registered on the waiting list on the Farnell website in mid-April '12, and some time later on, got a notification if I still wanted one to follow a link and place the order. The order was placed on the 9th May. Time ticked on and Farnell sent me an email 27th June saying I should have my Raspberry Pi shipped on the 9th July. I was offshore at the time of shipment, and arrived home on the 17th July to find it was waiting for me.
And so the games begin...
What is a Respberry Pi
The Raspberry Pi is a fully featured micro-computer squashed onto a circuit board measuring approximately 9cm x 5.5cm. The specification (Model B) is;
- ARM 11 CPU running at 700MHz
- Videocore 4 GPU
- 256Mb Ram
- 2 x USB
- 1 x SD Card slot
- 1x HDMI port
- 1 x 3.5mm audio port
- 1 x RCA Video
- 1 x mini-USB (Power port)
- 1 x 10/100 Ethernet port
According to the website (http://www.raspberrypi.org) it has an overall performance equivalent of a Pentium 2 running at 300MHz, and the GPU performance is capable or running H.264 video at 40MBits/s or 24GFlops of general purpose compute power.
Why "Episode 1"?
Quite simply, this is my first venture into the Raspberry Pi. I might write another article or I might not. I have a million other things I want to do, but just not enough hours in the day for them all.
This really is just a very basic intro to the platform, and just to see really how quickly it is possible to get going from out of the box, to up and running.
What are all the connectors on the board?
The image below is of the "Model B" board which I purchase, the "Model A" board is a lower spec with less connectivity aimed at the educational market.
GPIO (General Purpose Input/Output) Connector Pinout
Top Row (L-R, Evens 2- 26): 5V0, DNC, GND, TXD, RXD, GPIO1, DNC, GPIO4, GPIO5, DNC, GPIO6, SPI_CE0_N, SPI_CE1_N
Bottom Row (L-R Odds 1-25): 3V3, SDA0, SCL0, GPIO7, DNC, GPIO0, GPIO2, GPIO3, DNC, SPI_MOSI, SPI_MISO, SPI_SCLK, DNC
JTAG Connector, is actually in two parts, the left side is the P2 Header and is the VideoCore JTAG and the right side is the P3 header (no populated pins) for the LAN JTAG. These are low level debugging ports only used during the board production.
CSI connector is the Camera Serial interface, there is meant to be a compatible camera coming out in the future for this port.
DSI connector is the Display Serial Interface, again possibly a future LCD panel coming.
What do I need to just get it going?
Apart from the Raspberry Pi itself the following things I have at hand to get it going are;
- SD Card (I am using a 2GB)
- Suitable SD Card reader attached to/in your computer
- USB Mouse and Keyboard
- Micro-USB power connector
- HDMI cable (or HDMI to whatever display connector you are using)
- Ethernet Cable
What about the software?
Popping over to the Raspberry Pi website, I downloaded the following;
- Win32DiskImager Zip File
- Debian "wheezy" Image Zip File (Version: 15th July 2012)
The Win32DiskImager is a tool for taking the image file and preparing the SD card to make it bootable. Simply dragging and dropping the files from the image to the SD card isn't sufficient.
Preparing the SD-Card
Next we need to prepare the SD Card with an image of the operating system we are going to use. Extract the Win32DiskImager to a folder on your computer. Extract the image file zip to a folder on your computer. Load up Win32DiskImager and select the source image file and the target drive you have inserted the SD card into on your computer. Click "Write" to commence imaging the SD Card. All data on the SD Card will be wiped, so make sure you have not left anything on there you need!
Connecting up and Boot time
The time has come to plug it in, switch it on and hope that it boots!. Hook up the HDMI, usb keyboard and mouse, plug in the newly imaged sd card, attach the ethernet cable and then plug in the power, sit back and hold your breath.........
Success, after the usual boot messages flying past, the screen above appeared, this is the Raspi-config menu screen. A quick check of the locale and timezone was all ok. I even selected the 'update' option and it went off out to the internet and checked for available update packages, found and installed 4 of them. So it looks like the network is working.
After finishing with the config screen, at the command prompt you can load up the desktop by typing 'startx'.
The image I installed comes pre-configured with 'LXDE' enabled as the gui. Once the desktop has fully loaded, you will see a typical desktop layout, icons down the left and toolbar along the bottom.
Next thing was to confirm I had network connectivity, I opened up Midori, which is one of the configured browsers, and navigated to The Codeproject and success, it loaded up fine and I also managed to log in, and then posted a message on the site.
Setting up Remote Desktop Access
Having to set up a second display with a additional keyboard and mouse, or having to swap over displays can be a pit of a pain. Not everyone has a spare display/mouse/keyboard lying around so being able to Remote Desktop onto the RasPi is essential.
Fortunately this is extremely easy to do.
After installing your system and getting your network working, from a terminal prompt enter the following command:
sudo apt-get install xrdp
You will see the software install and when you receive the "Done" message, we need to confirm that the RDP server will be active on a power up/reboot. To do this simply reboot the RasPi (by pulling the power or doing a CTRL-ALT-DEL).
The system will reboot and you should see the XRDP Server running message and the IP-Address that is listening for connections.
You can now use a remote desktop client to access the RasPi. The Windows Remote Desktop works fine and simply enter the IP-Address of the machine and your connection will be established. You will be presented with a login prompt on the XRDP Server.
Enter your normal RasPi username/password combo and you will be presented with a desktop session.
If you are not sure what the IP-Address of the RasPi is, or you missed the messages on the screen you can use the
ifconfig command at the terminal to list the available interfaces and their associated addresses.
Point Of Interest
Watch your power! I had some initial problems with the usb keyboard I had attached. The keyboard was backlit and also had an lcd display and usb hub built in. This took too much power and caused some problems. I purchased a cheap wireless Logik mouse/keyboard combo that has one of those tiny usb receivers. Works a treat and also the single receiver can handle both the keyboard and mouse, keeping one of the USB ports free.
Well that has been a very short 'get it going' intro to the Raspberry Pi. Just have to start to see what else I can do.
- 13th September 2013 - V1.2 Added Remote Desktop info. (Meant to add this ages ago, but where did the time go!
- 20th July 2012 - V1.1, Added additional connector detail
- 19th July 2012 - V1.0, First submission of article