RaspberryPi

Overview

The RaspberryPi is a cheap, fully-functional micro-computer.

raspberry-pi-with-lots-of-cables-filtered The RaspberryPi while testing.

Quick Setup

www.raspberrypi.com has released software called NOOBS (new out-of-the-box software), which makes it really easy to setup the RPi. Just download NOOBS (which was just over 1GB at v1.2.1), format (go here) then unpack NOOBS onto the SD card, and your good to plug the SD card into the RPi and power up (NOOBS will present you with various operating systems to install on start-up).

At the bare minimum, you’ll also need a USB keyboard, mouse (hard-outs may be able to forgo this) and either an HDMI or composite screen.

Default username: pi
Default password: raspberry

Longer Setups

You can also write images directly to the SD card. The recommended tool for this is the open source program Win32DiskImager.

Operating Systems

There are many operating systems that are compatible with the RPi.

A list of some of the supported operating systems and downloads for them can be found here.

General Purpose

Occidentalis

A port of the Raspian OS by Adafruit industries which makes the OS more hacker friendly. It provides hardware SPI and I2C support, Realtek RTL8188CUS WiFi support (a common chipset used in USB WiFi modules).

Pidora

URL: http://pidora.ca/

Pidora is a mod of Fedora for the RPi.

Raspian

URL: http://www.raspbian.org/

A Debian-based (Ubuntu-like) operating system optimised for running on the RPi. It is one of the most popular operating systems for the RPi. Provides a config menu the first time you boot, where you can change settings such as the password, enabling SSH, expanding the file system to use the entire SD card, and configuring the keyboard/mouse.

You can bring up the config menu at any time by typing the command  sudo raspi-config.

To load up the GUI from the command-line, type startx.

To shutdown the GUI from the command-line, type sudo shutdown "now" (this also shuts down any other processes).

The nano text editor comes pre-installed, type nano to load it.

RISC OS

URL: https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi

A version of the RISC OS (a operating system dating back to 1987 for 32-bit ARM chips) for the RPi.

Music Orientated

Pi MusicBox

Supported Music Sources
  • Apple AirPlay
  • DLNA streaming from phone/tablet
  • Google Music
  • MP3/OGG/FLAC/AAC (on SD Card, USB or Network)
  • Spotify
  • Soma FM
  • SoundCloud
  • Subsonic
Supported Platforms
  • Raspberry Pi
Structure
  • Mopidy (which itself is MPD)
Licensing
  • Open Source

 

 

Volumio

Supported Music Sources
  • Apple Airplay
Supported Platforms
  • Cubox
  • Beaglebone Black
  • Raspberry Pi
  • Udoo
   
Licensing
  • Open Source

Comments:

Volumio began as the RaspyFi project in December 2012. It then expanded to support many embedded platforms including the Udoo and BeagleBoard. IMO, Volumio looks more polished than the Pi MusicBox.

RPi Store

There is an official RPi store that offers applications and games (some cost, some are free) for the RPi.

Video Output

The RPi has two native video outputs, HDMI, and RCA/composite. You cannot use both at the same time. Converting any of these two to VGA is rather expensive.

DSI

The RaspberryPi also has a DSI output connector (the 15-pin connector that is not on the edge of the board), which is a high-speed, differential, serial point-to-point bus designed by the mobile industry to connect a host controller up to a graphics display device (normally an LCD screen). However, it is very difficult to use these on the RaspberryPi, as the pins are controller by the GPU, which is controlled by closed software written by Broadcom. I don’t know of anyone who has managed to connect anything to this 15-pin connector!

Controlling The GPIO

Understanding Outputs explains the GPIO pins on the RaspberryPi really well.

Check out the Quick2wire Python API repo, this allows to to control the RPi’s GPIO from a python script.

There is also the pi-gpio module for controlling GPIO with nodejs. Good for when you are wanting to control the RPi GPIO from across a network (remotely).

simple-led-connected-to-raspberry-pi-gpio I used a single LED connected up to one of the RaspberryPi's GPIO pins for basic testing.

PWM

The RPi has one hardware PWM output (yes, only one, this isn’t a microcontroller). Unfortunately this is shared with the audio system, so you can’t use the PWM and listen to audio through the 3.5mm jack at the same time. Other GPIO can be bit-bashed with software PWM.

How To Change Keyboard Layout

The default keyboard layout is British, so you might find yourself getting a pound sign when you really want a dollar sign (and other quirky differences). To change the keyboard mapping, open the file etc/default/keyboard with a text editor like nano.

Updating

Assuming you have an internet connection, run:

SSH

You can log into a RaspberryPi from another computer using SSH. Type the following command into a terminal:

where you replace 192.168.1.100 with the IP address of the RaspberryPi (this is the RaspberryPi’s local address, which is only accessible via another computer on the intranet). The flag -l pi tells SSH to login with the username pi, not the default username of the calling terminal.

Useful Packages To Install

Node.js

Node.js will work with the hard-float version of Raspian Wheezy. It takes aggggeeeesss to compile from the source code, but luckily, there is a pre-compiled binary available for the ARM processor which will work on the RaspberryPi.

UPDATE 13/09/27

You can install Node.js on Wheezy by just typing sudo apt-get install nodejs. See below for the harder way.

Then Node.js has to be added to your PATH variable, to do this, type

And add the following lines before the export variable

This great tutorial on the Kitware blog easily explains how to remotely access the RPi using nodejs. Once you have installed Node.js, it also pays to install npm (node package manager), by typing:

Uses

Education

The RPi is great for educating people about computers, as it is cheap and readily available.

Home Automation

QW Home Automation

Website: http://qwhomeautomation.com/

Works with Insteon products.