Raspberry Pi Pages From Computer Shopper 2015-02
Raspberry Pi Pages From Computer Shopper 2015-02
net
Raspberry Pi
Recipe
Take one very small computer Take a dollop of code
Garnish with inexpensive peripherals Add a dash of ingenuity
Stuff with a light, zingy Baste it on liberally, and make
operating system something truly unique
Set aside to rise overnight
Ultimate guide to
Raspberry Pi
It can be used as a media centre, a NAS device and
even for playing games yet costs less than 30.
Shopper presents its complete guide to a life of Pi
aspberry Pi computers were originally conceived diminutive size, low price and unglamorous appearance,
to inspire young programmers to hone their however, the Pi is a fully functional computer. Lets take a
coding talents and earn themselves a place on closer look at the Pis component parts and nd out what
the computing degree course at Cambridge kinds of task its capable of.
University. But when word got out about a tiny
sub-30 computer anyone could buy and write The brains
programs for, suddenly everyone wanted to get their hands A single chip contains the Pis memory, central processing unit
on a slice of Pi. and graphics chip. The Raspberry Pi uses a chip designed by
When your Raspberry Pi arrives, the rst thing youll notice ARM, the same Cambridge-based company that designs
is that its very different to the type of computer you might be processors used in many smartphones and tablets. The version
used to. For starters, its tiny the size of a pack of cards. It used in the Pi is slower than youll nd in devices such as the
also has no case; its simply a printed circuit board. Despite its iPad, but its fast enough to do the job.
Worldmags.net
Pi ingredients
2x or 4x USB
Ethernet
Camera
connector
RCA video
(A and B models) HDMI
512MB RAM,
CPU & GPU
GPIO pins
DSI connector
Storage
As the Raspberry Pi has no built-in storage, the most important
extra you will need is an SD card or, if you have a model B+, a The older A can be solved by using a powered USB hub instead (see below).
microSD card. This stores the operating system along with your and B models CPC sells a basic wireless desktop set for 18 including VAT.
own les and projects. It must be at least 4GB in size and have composite
preferably a Class 4 speed grade or higher. The bigger the video outputs Display
capacity, the more room youll have for your own stuff. Cards for connecting The Pi has two display connectors: HDMI and, on the old Model
to old CRT TVs
up to 32GB are supported; anything larger than that needs A and B, composite video. For best results, use an HDMI cable
some advanced tinkering to make it work. Cards are often (just over 1 on Amazon). Most HD TVs and some newer PC
bundled with the Pi itself for a couple of pounds extra, but a monitors have HDMI, but some older monitors have only DVI or
new 4GB SD or microSD card normally costs under 7. Always VGA connectors. An HDMI-to-DVI cable costs around 5. If you
buy branded cards from a reputable store to avoid fakes. already have an HDMI cable, a DVI adaptor is a little cheaper.
As the operating system is entirely contained on the SD HDMI-to-VGA converters are more expensive at around 18, but
card, theres nothing to stop you putting it on several cards and still cheaper than a new monitor. Composite video cables
swapping them as needed; for example, you could have one costing less than 1 can be used with older CRT TVs.
card for programming projects and another congured to use
your Raspberry Pi as a media player (see page 114).
Experienced users can connect USB hard disks or USB ash You can put the operating
drives to add more storage later if needed, but these storage
devices cant easily be used for the OS, as the Pi can only start
system on several SD cards
from an SD card. Well be considering USB storage on page 113.
and swap them as needed
Power supply
The Pi gets its power from a separate Micro USB power Audio
adaptor, which can be bought very cheaply (CPC sells one for The stereo minijack audio output on the Pi can be connected to
3.54). However, if you have a mobile phone charger with a headphones, powered speakers or a standard hi- system. A
Micro USB connector you might be able to use that instead. 3.5mm minijack to dual-phono cable costing about 1 might be
The only requirement is that the power supply can supply needed if the hi- has phono (also called RCA) connectors. If
ve volts and least 700 milliamps (mA) of current. Check the you use HDMI to connect to a TV (or a monitor with built-in
label on the power supply and look for the Output gures. It speakers), a separate audio cable isnt needed.
should say 5V and the milliamp rating; it doesnt matter how
large the milliamp number is, as long as its over 700mA. The Networking
more power your supply has, the less likely you are to have To connect the Pi to the internet, a wired or Wi-Fi network
problems with USB devices. connection to your home router is needed. The Model B/B+ Pi
has a wired network port that takes a standard Ethernet
Keyboard and mouse network cable costing a couple of pounds. A USB Wi-Fi dongle
To get up and running, a USB keyboard and mouse are can also be used, and CPC sells a compatible Dynamode 11n
essential. Any model is suitable, and no software or drivers are The Pi can model for 7. If you already have a spare dongle its worth
needed. Wireless sets are a good choice, as they use only one be powered trying, but not all work. No software is needed as the drivers are
USB port. However, if the wireless adaptor takes too much by Micro USB included in the operating system. For the Model A/A+, youll
power, it can prevent the Pi from starting up. If this happens, it phone chargers need a USB hub to connect dongle, keyboard and mouse at the
same time. Head to page 112 to read more about using Wi-Fi.
Optional extras
One of the most useful accessories for your Pi is a powered
USB hub. This connects to one of the Pis USB ports and allows
several devices to be connected at once without draining power
from the Pi. Hubs typically have four or seven ports, and a
seven-port model from CPC costs just 10. Dont use
unpowered hubs, as they could overload the Pis power supply.
A great addition to any Pi is a case to protect the
components. A basic plastic case costs 5.39 from CPC and
is available in several colours. There are loads of other
exciting new accessories appearing all the time, including a
very cool Raspberry Pi camera board.
107
Worldmags.net
Install an operating system on your Pi
O
nce your tiny new computer arrives, you have a little work to use a special Windows program to burn an OS image to your SD card;
do before you can connect it to a display and boot it up, that option is still available should you wish to use it (see Steps 5 and
including installing an operating system the software that 6). However, the process of installing an operating system has been
provides an interface for the Pi and allows you to run other programs. now been made a whole lot simpler thanks to something called NOOBS.
The Raspberry Pi uses a standard SD card instead of the hard disk It stands for New Out Of Box Software and makes setting up your
youll nd in most laptops, and your rst job is to prepare the SD card Pi much simpler than before. Follow these steps to install the
and transfer a suitable operating system to it. Until recently, you had to recommended operating system Raspbian on your Pi.
04 Right-click the Zip le and select Extract All. In the dialog box,
click Browse, navigate to the SD card and click OK, Extract.
03 Insert your
SD card into
your PC, printer or
Use the Safely Remove Hardware tool (in the Windows Notication
Area) to eject the SD card and insert it into the Raspberry Pi. Set up the
Pi (see opposite) and switch it on. Your Pi will now boot into NOOBS
card reader and launch and should automatically display a list of operating systems you can
SD Formatter. Under install. If your screen is blank, you
Drive, make sure the can try manually selecting the
drive letter selected is correct display mode using the
the one for your SD number keys on your
card; pick the wrong keyboard. Tap 1 for
one and you could end HDMI mode, 2 for
up wiping another HDMI safe mode, 3
drive. Unplug any other external drives to be safe and double-check you for Composite PAL
have the correct drive selected by clicking Start, Computer. In SD (UK) mode and 4 for
Formatter, click Option and set Format Size Adjustment to On. Click OK Composite NTSC
then click Format and OK again twice. A summary will be displayed. (US) mode. Once
Click OK and close the formatting tool. Now go to www.snipca.com/9319 you see the NOOBS
and download the NOOBS Zip le, using the Direct Download option. dialog box, select
Its quite big (about 1GB) so it might take a while to transfer to your PC. Raspbian and click
Install OS.
03 If youre using an
older TV that lacks
HDMI, connect a composite
the bottom of the Pi.
press OK, then Enter. Select OK on the next screen, press Enter and wait
until the main menu returns, and choose Time Zone. Select Europe
from the list, press Enter, select your nearest city and press Enter again.
Finally, to set the keyboard layout, open Internationalisation Options
again, choose Change Keyboard Layout then press Enter. Choose
Generic 105-key (Intl) PC, press Enter, then English (UK) and press
Enter again. On the next three screens, we recommend keeping the
default settings; press Enter until you return to the main menu.
01 The Raspberry Pi
comes with a
basic range of software
02 Lets begin by installing Chromium. Double-click LXTerminal
and type sudo apt-get update followed by the Enter key.
This probably looks incomprehensible, so lets take it step by step.
built in. Similarly to The rst command, sudo, tells Linux you want to run the rest of the
Windows, theres a button command as a super-user. This is similar to the Administrator user in
in the bottom left-hand Windows; it gives permission to change the system, which can be
corner of the screen that dangerous if not used properly. Next, apt is short for Advanced
you can click in order to Packaging Tool and this is the program that installs our software.
see a launch menu of Get is the utility within apt that does this it gets packages.
programs and tools that Finally, update tells apt-get to download the latest list of packages:
are installed. In addition, you should always update apt-get before trying to install software.
each distribution of Linux comes with a library of optional software,
called Package Repositories. You can think of the initial setup as a
starting point, to which you can then add software from the
repositories to suit your purpose. For a general-purpose computer,
youd probably want to install an oce suite such as LibreOce (a
version of OpenOce), and the Chromium browser (the open-source
version of Google Chrome). In this case, were going to install Chromium
and then focus mainly on installing a programming editor.
03 Once CUPS is
installed, add
the user pi (thats you)
to the group allowed
to access the printer.
04 Assuming your
printer is
connected via USB, you
To do this, type sudo should see your printer
usermod -a -G lpadmin listed on the Add Printer
pi and press Enter. page; you should also see
With CUPS all printer any other printers CUPS
management is done has discovered on your
via web pages, but none of the built-in home network. You might
browsers works well with CUPS, so were nd that the name CUPS suggests
going to install Iceweasel, the Raspbian version of Firefox. Do this by for your printer isnt exactly the
typing sudo apt-get install iceweasel into LXTerminal and pressing same as its model name; just check that it matches with the model
Enter. After installation, start Iceweasel by clicking the start button at name you came up with in step 2. Click the Continue button and, on the
the bottom left and selecting Internet. Bring up the CUPS pages by next page, you can add a location (for example spare bedroom). If you
typing 127.0.0.1:631 into the address bar that address is pointing at want other people on your home network to be able to access the
your Raspberry Pi. Now, click the Adding Printers and Classes link, type printer, click the Share This Printer tick box and click Continue.
the username pi and password raspberry into the pop-up box and
click the Login button. On the next screen, click Add Printer.
to a wired connection
should fix them
01 Start LXTerminal
by clicking the
bottom left button,
02 You can do
more than
simply build structures
Accessories, then in Minecraft by
LXTerminal. Type cd ~, interacting with it
press Enter, then type using the Python
wget https://s3. programming language
amazonaws.com/assets. and whats called the
minecraft.net/pi/minecraft- Minecraft API. An API
pi-0.1.1.tar.gz, press Enter, is a set of programming tools; in this case these tools let you nd out
then type tar -zxvf whats happening in Minecraft and change it while the game is running.
minecraft-pi-0.1.1.tar.gz Press Esc in Minecraft so that the normal mouse cursor appears and
and Enter. This creates a move the Minecraft window off to the right. Now rearrange the
folder called mcpi containing Minecraft. To start it, type cd mcpi, press LXTerminal window so that it lls the left-hand space left by Minecraft.
Enter, then minecraft-pi and Enter. Now select Create new. Youll nd It will be a narrow window, but everything were going to do can either
yourself in a new Minecraft world. Press E to see a full list of items in wrap text or scroll backwards and forwards.
your inventory; click one to select it. Press the right mouse button to
place an item and left-click to destroy a block. Press Space once to
jump or twice quickly to enter the ying mode.
04 The next section of the program is where it actually starts.
Type if __name__ == "__main__": and press Enter twice.
Note that there are two
01 Samba is the
software
used to allow
02 We now
need to set
up Samba by editing
Windows machines its conguration les.
to communicate with In common with many
Linux computers Linux programs,
(including the Pi), theres no graphical
which use different user interface but you
le formats only have to set it up
including EXT4 which once. Were going to
we used for our USB use nano, one of the
drive on page 113. Raspberry Pis built-in text editors.
To install Samba, In LXTerminal, open the conguration le in nano by typing sudo
make sure your Pi nano /etc/samba/smb.conf. You use the keyboard rather than your
is connected to the internet and open LXTerminal. Type sudo apt-get mouse to edit les in nano, but its straightforward. Navigate through
update to make sure your system is up to date followed by sudo the le using the arrow keys until you reach a section called
apt-get install samba samba-common-bin. This process will take up to Authentication. We want to add some security to our network, so nd
30 minutes, depending on the speed of your broadband connection. the line # security = user and remove the hash symbol at the beginning
of the line. Hash is often used to tell computers not to pay attention; by
removing it were turning on user-level security and preventing people
[Share]
comment = Raspberry Pi Share
04 We need
to restart
Samba so that it reads
path = /media/usbash_/Share the conguration le
valid users = @users back in. To do this,
force group = users type sudo /etc/init.d/
create mask = 0660 samba restart.
directory mask = 0771 We now create a
read only = no Raspberry Pi user who
can access the share; were choosing the username networkuser and
Once youve done this, press password raspberry. It will be these details that people using other
Ctrl-O to save the le, then Enter computers to connect to your USB drive will be asked for. To do this,
to conrm. Press Ctrl-X to exit type sudo useradd networkuser m G users and Enter followed by
nano and youll return to the sudo passwd networkuser. After pressing Enter, the Pi will ask you to
command prompt in LXTerminal. set a password. Make sure you write this down as you and all your
NAS drives other users will need it.
Creating a game
Beyond Scratch
Lets make a simple game of chase in Scratch. The player will
control the cat sprite in an effort to try to reach a snowman,
while avoiding a ball that moves across the stage. Well create
Scratch has the potential for creating some fairly sophisticated programs. the program so that the two characters appear in opposing
For example, it makes it easy to perform several tasks simultaneously, which corners at the beginning of the game, and apply random
can be quite tricky with traditional coding methods. movement to the ball.
However, if you want to develop your skills then at some point it will Create a new script by selecting New from the File menu
become necessary to move to a more traditional programming language. and click No when asked if you want to save your work.
Small Basic (http://smallbasic.com) is a good one to try. The next step up is Drag and drop the when [green ag icon] clicked command
Visual Studio. Microsoft produces a free version called Visual Studio Express into the scripts pane. Now select the Motion category and
(www.snipca.com/9818). Although some handwritten code is required, its drag the go to x:[X] y:[X] and the point in direction [X] icons
also possible to design programs by dragging and dropping commands in a to join them to the rst command. Click in the x: box and type
similar way to Scratch. Another good choice is Game Maker Studio (www. -182 as the new value, and set y: to -112.
yoyogames.com/studio). The best way, however, would be to try Python To make the cat react to the cursor (arrow) keys, return to
(www.python.org), which is a simple, free programming language thats the Control category and drag when [X] key pressed to the
ideally suited to your Raspberry Pi. scripts pane; this wont join up with the previous three
commands. Click this commands down-pointing arrow and
ULTIMATE GUIDE TO RASPBERRY PI
Worldmags.net
command into the scripts area, followed by a go to x:[X] y:[X]
Motion command. Change x: to 178 and y: to 106.
To make the snowman move, add a forever loop and then a
repeat loop within that. From the Operators category, drag a
pick random [X] to [X] command into the number eld in the
repeat command, and change the [X] values to 1 and 5. Below
this, attach a move [X] steps] command (from the Motion
category) and another pick random [X] to [X] command to the
move command, setting the [X] values to 5 and 15.
Drag a point towards [X] Motion command so that it
appears underneath the repeat loop but still inside the
forever loop. Click on the down-pointing arrow and
choose Sprite1. Now insert a turn [X] degrees command
underneath this. Drag a pick random [X] to [X] Operator
command into the turn [X] degree commands number eld
and set the values to -90 and 90. This is to make the ball
travel in the general direction of the cat but with some
randomness, so the game isnt impossible.
Finally, the ball needs to know whether or not it has
touched the cat. Insert an if command after the turn [X]
degrees command, but still within the forever loop. From the
Sensing category, drag a touching [X] ? command into the if
In Scratch,
choose up arrow for the [X] value. Return to the Motion commands gap, choosing Sprite1 as the [X] value. Add a say
you can build up
category. Drag both the point in direction [X] and the move command from the Looks category and change the text to
a program just
[X] steps commands to join up with the second orange by dragging and
read Got You!. Add a stop all [red circle icon] after this say
command. Click the down-pointing arrow to ensure that the dropping command to end the game.
point in direction [X] value is set to 0 (up). For move [X] If you ran the program now (by clicking the green ag icon)
steps, the [X] value should be 10. youd discover the ball moves too fast. This can be xed by
Click Control and drag another when [X] key pressed adding a wait command (from the Control category) to the
command to the scripts pane, choosing down arrow for [X]. very end, but still within the forever loop. Set it to 0.2 seconds.
Add point in direction [X] and the move [X] steps commands
as before, changing the rst [X] value to 180. Repeat twice
more, for the left and right arrows, using -90 for the left arrow Scripts are created by dragging
items from the commands pane
[X] value and 90 for the right arrow.
Click the green ag icon to check your work. Tapping the
arrow keys should now allow you to control the cat.
into the scripts area
Adding the snowman
To add a new sprite, click the middle star-shaped icon under Now run the program. The ball will move and the cat will
the stage. In the New Sprite dialog box, click the Costumes respond to direction commands from the cursor (arrow) keys.
button on the left and then double-click the Fantasy folder. Try to get to the snowman without being touched by the ball.
Scroll down to nd and double-click on snowman2 and he will If somethings wrong, check the code carefully or download
appear in the stage. Double-click on the snowman to make him the completed program from www.snipca.com/7950.
the subject of scripts pane. As before, add a when [green ag
icon] clicked command. Then join a forever command beneath Save and share
it, followed by an if command inside that. The forever Save your work often. Type a name at the bottom of the
command grows to allow if to t inside. window. If youre planning to share your creation, add your
We have now created a loop. Loops are used to repeat It wont be
name in the Project author box and a description in the About
actions either endlessly, or based on a particular condition that long before this project box, then click OK.
will be checked by the if command. youve created To share the program with other people using your Scratch
We need the if command to check whether or not the cat a simple script account, click the orange icon. Enter your Scratch login details
has touched the snowman. Click to select the Sensing category using Scratch and some information about the program, then click OK.
and drag the diamond-shaped touching [X] ? command into
the diamond-shaped depression inside the if command.
Click the down-pointing arrow to change the touching [X] ?
commands [X] value to Sprite1 this is the cats sprite.
Select the Looks category and drag and drop the say Hello!
command inside the if loop. Double-click the Hello! text,
delete it and replace it by typing You Win!. Return to the
Control category and drag and drop a stop all [red circle icon]
command (you may need to scroll down the commands list to
nd it) below the say command. This will end the game when
the cat sprite touches the snowman.