The Raspberry Pi is an inexpensive, feature-rich modern computer created by the Raspberry Pi Foundation. Since the release of the Model B in 2012, the community surrounding the computer has grown, allowing for an incredible amount of projects and software to be created for the device. These range from programming languages, educational applications, hardware prototypes, and of course, video games.
In this chapter, you will learn the following topics:
The different flavors of a Raspberry Pi
Setting up an SD card
Hooking up your Raspberry Pi
The Raspberry Pi Foundation has released four major models of the Raspberry Pi computer. They the are Model A, Model B, Model B+, and Model A+. The Raspberry Pi's CPU is the Broadcom BCM2835 chip. It contains an ARM processor running at 700 MHz and a powerful graphics chip. The board features HDMI and Composite (RCA) video outputs, USB ports, two expansion slots, a Micro USB port for power, and an array of GPIO (General-purpose input/output) pins to interact with the outside world.
Since all models share the same basic hardware platform, all the examples in this book are applicable to all the versions.
The Raspberry Pi uses SD cards to contain its operating system and main storage space. A Raspberry Pi SD card contains two partitions, which are explained as follows:
The first one, is the boot partition. This space contains the Linux kernel, required boot up files, and most importantly, the
config.txt
file. This file allows you to change the boot time parameters and customize some of the functions of the Raspberry Pi. These options include over-clocking the device, changing monitor settings, and the memory split between CPU and GPU, among numerous other options.The second partition contains a Linux partition, which holds all of your applications, configurations, and operating system files.
Preloaded SD card images are available, which make it quick and easy to get your Raspberry Pi up and running.
Choosing an SD card is an important step. There are many different combinations of card sizes and card speeds. 4 GB is the minimum size required for many of the operating systems (OS). I recommend that you start out with an 8 GB card. You will also see cards marked with Class 4, Class 6, and Class 10. This is the speed at which the card can be read and written to. I have found that the best bang for the buck is a Class 6 card, but don't worry too much about which one you choose.
Before we begin, you will need to download a suitable Raspberry Pi OS. We will be using the official operating system called Raspbian. You can download it from
http://www.raspberrypi.org/downloads.
Note
Warning! dd and Win32DiskImager can be used to overwrite your computer's own hard drive or other drives connected to your computer. Double and triple check that the drive you select is your SD card.
To create the SD card in Windows, you will need to download the program called Win32DiskImager by visiting http://sourceforge.net/projects/win32diskimager/.
Once you are done with the downloading, perform the following steps:
Unzip the Raspbian image by double-clicking on the
Raspbian.zip
file.Select a place on your hard drive to save the extracted file.
Click on Extract files….
Insert the SD card into your computer's SD card reader.
Run Win32 Disk Imager.
Select the drive letter under the device that corresponds to the SD card.
Click on Write.
OS X includes everything you need to create the SD card out of the box. We will use a utility called dd:
Double-click the Raspbian image ZIP file. It will automatically extract into the same place as the ZIP file.
Insert the SD card into your computer's SD card reader.
Open the terminal application (located in the Applications | Utilities folder).
Find the name of your SD card by typing
diskutil list
.Unmount your SD card by typing
disktuil umountdisk <disk>
, that is,/dev/disk2
.Copy the OS image from your hard drive to the SD card by typing
dd if=/path/to/os/image.img of=<disk>
where<disk>
is/dev/disk2
, andpath/to/os/image.img
is the place to which you saved the image.It can take anywhere from 15 minutes to over an hour for the image to be written to the SD card. It will look like nothing is happening until it finishes copying. When it is done, you will see a message showing how long it took to transfer in seconds.
Like OS X, Linux includes everything you need out of the box:
Using the terminal of your system, find the name of your SD card by typing
sudo fdisk –l
.If required, you can unmount your SD card by typing
umount <disk>
(which will be listed from the earlier command ,IE/dev/disk2
).Copy the OS image on your hard drive to the SD card by typing
dd if=/path/to/os/image.img of=<disk>
.
Now that you have created your Raspberry Pi SD card, it's time to set up our device!
The Raspberry Pi Foundation has created a piece of software called New Out Of the Box Software, often abbreviated as NOOBS. This is a small operating system, which is used to install other OSs onto your Raspberry Pi.
Installing NOOBS is much easier than other installs:
Download NOOBS from http://www.raspberrypi.org/downloads and unzip the file.
Drag and drop the NOOBS files onto the SD card and you are done!
At the first boot, you will be presented with a list of OSs available to be installed. Choose Raspbian and press Enter.
It's very easy to properly set up a Raspberry Pi. If you can build a Lego set, you can build your Raspberry Pi computer. The following steps will help you in this:
Place your SD card into the SD card slot on the underside of the Raspberry Pi.
Connect the HDMI or RCA cable to the respective connector on the Raspberry Pi, and plug the other end into your monitor.
Plug the Ethernet cable into the Ethernet jack (not applicable to Model A and A+) on the Raspberry Pi and the other end into your router or switch.
Connect the USB mouse and keyboard to the two USB ports available on the Raspberry Pi. If you are using Model A, connect a USB hub to your Raspberry Pi and the mouse and keyboard to the hub.
Plug the power supply's Micro USB connector into the Micro USB port on the Raspberry Pi to turn it on.
A red LED, by the USB ports, will light up to indicate that the power is turned on.
On your screen, a square rainbow image will appear for a brief moment, followed by some quick moving text or a graphic loading screen.
Congratulations! You have successfully booted up your Raspberry Pi!
The Raspberry Pi and Raspbian can easily connect to the Internet via Ethernet, but when using a USB wireless device, you can also connect to a Wi-Fi network. Raspbian includes a graphical utility to make connecting to a Wi-Fi access point easy. Go through the following steps:
Boot up your Raspberry Pi.
At the login screen, enter your username and password (default is
pi
andraspberry
, respectively).In the command prompt, type
startx
to launch the desktop environment.Using your mouse, double-click on the WiFi Config icon that is on the desktop.
The Wi-Fi configuration tool will appear shortly.
Click on Scan to scan for available wireless networks around you.
Double-click on the one you wish to connect to.
If it is a secured network, you will be asked for a password.
Enter the password and click on Add.
The Status: Disconnected message should now change to Status: Completed.
You are now connected to your wireless network.
Note
wpa_gui saves your connection information. If you logout or reboot your Raspberry Pi, it will automatically try to connect to a previously added access point.
If you do not see wlan0 appear in the wpa_gui, or if your Raspberry Pi is unstable, you might need to use a powered USB hub. You should connect your device to a powered hub, and then connect the hub to the Raspberry Pi. This will ensure that the correct amount of power is received.
You can also check whether your Wi-Fi adapter is supported by visiting http://elinux.org/RPi_USB_Wi-Fi_Adapters.
In this chapter, you learned how to create your Raspberry Pi's SD card, hook it up to your TV and other accessories, and connect it to the Internet. Now, it's time to have fun with the software on your Raspberry Pi.
In the next chapter, you will learn how to create your own video game using the Scratch programming language.