Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / IoT / Raspberry-Pi

Raspberry Pi - [Episode 1] The journey begins

4.96/5 (31 votes)
13 Sep 2013CPOL7 min read 112.7K  
Bought, Imaged and Booted - So far so good!

 

Raspberry Pi Logo

Introduction

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.

Raspberry Pi - Model B
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!

Win32DiskImager

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.........

Boot Config Menu

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.

Desktop Environment

After finishing with the config screen, at the command prompt you can load up the desktop by typing 'startx'.

Command Prompt

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.

LXDE Desktop

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.

Image 7

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

Image 8

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.

Image 9

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.

Image 10

Enter your normal RasPi username/password combo and you will be presented with a desktop session.

Image 11

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.

Summary

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.

References

History

  • 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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)