Table of Contents

Introduction

What’s in This Book

Who Can Use This Book

How to Use This Book

Task: This Is a Task

There’s More Online...

Part I Hardware Foundations

Chapter 1 What Is the Raspberry Pi?

Why the Pi?

Hardware Versions

Is the Raspberry Pi Open Source?

Open Source Licenses

Open Source and the Raspberry Pi

How Can I Purchase a Raspberry Pi?

Chapter 2 Hardware Components Quick Start

Understanding Pi Hardware Terminology

The Hidden Cost of Owning a Raspberry Pi

A 5V Power Supply

SD Card

Powered USB Hub

Ethernet Cable

Monitor

Cables

USB Keyboard and Mouse

A Tour of the Model B Board

Networking

Video and Audio

Storage

Power/Status Information

Camera

Processing

Expansion

Next Steps

Chapter 3 A Tour of Raspberry Pi Peripheral Devices

Circuit Prototyping Equipment

Single-Board Microcontrollers

The Gertboard

Single-Board Computers

Relevant Technician Tools

Task: Check Raspberry Pi Voltage with a Multimeter

Raspberry Pi Starter Kits

Next Steps

Part II Software Foundations

Chapter 4 Installing and Configuring an Operating System

Common Operating Systems

Understanding Linux

Linux and Raspberry Pi

The Kernel and Firmware

Raspberry Pi’s Other Operating Systems

Installing Raspbian on Your Raspberry Pi

Task: Creating a Raspbian SD Card in Windows

Task: Creating a Raspbian SD Card in OS X

Task: Creating a Raspbian SD Card in Linux

An All-in-One Solution

Task: Installing an OS on Your Raspberry Pi Using NOOBS

Testing Your New Raspbian Image

Chapter 5 Debian Linux Fundamentals—Terminal

Baby Steps

Essential Terminal Commands

startx

pwd

ls

cd

sudo

passwd

nano

man

shutdown

Updating Your Software

Updating Raspbian

Updating the Pi Firmware

Revisiting Raspi-Config

Expand Filesystem

Change User Password

Enable Boot to Desktop

Internationalisation Options

Enable Camera

Add to Rastrack

Overclocking

Advanced Options

Raspi-Config Under the Hood

Next Steps

Chapter 6 Debian Linux Fundamentals—Graphical User Interface

LXDE—The Desktop Environment

Starting and Exiting LXDE

Task: Using Raspi-Config to Adjust Boot Behavior

Touring the LXDE Interface

Delving into the Main Menu

Installing, Updating, and Removing Software

Accessing the Pi Store

Task: Downloading a Free App from the Pi Store

Tweaking the LXDE UI

Task: Change the Desktop Background

Task: Customize the LXTerminal

Task: Customize the LXPanel

Openbox

Editing Configuration Files

Chapter 7 Networking Raspberry Pi

Basic Networking Concepts

Configuring Wired Ethernet

Task: Setting a Static IP Address on Your Raspberry Pi

Configuring Wireless Ethernet

Task: Setting Up Wi-Fi on Your Pi

Configuring “Headless” Raspberry Pi

Secure Shell (SSH)

Task: Using SSH to Connect to a Raspberry Pi Remotely

Virtual Network Computing (VNC)

Task: Using VNC to Connect to the Raspberry Pi

Task: Configure Your Pi to Start VNC Server Automatically

On Browsing the Web with the Pi

Chapter 8 Programming Raspberry Pi with Scratch—Beginnings

Technical Aspects of Scratch

Scratch Version Issues

The Scratch Community

Getting Comfortable with the Scratch Interface

About Blocks

Crafting a (Very) Simple Scratch Application

Task: Creating a Basic Scratch App

The PicoBoard

Obtaining a PicoBoard?

Using a PicoBoard in Scratch

Task: Using the PicoBoard in Scratch

Chapter 9 Programming Raspberry Pi with Scratch—Next Steps

Begin with the End in Mind

Let’s Build the Game!

Task: Setting Up the Game Screens

Task: Setting Up the Scratch Cat

Setting Up the First Ball

Setting Up the Second and Third Balls

Debugging and Troubleshooting

Uploading Your Project

Task: Share Your Scratch Project

Remixing

Task: Create a Remix

Chapter 10 Programming Raspberry Pi with Python—Beginnings

Checking Out the Python Environment

Interacting with the Python 3 Interpreter

Exiting the Interpreter

Getting Online Help

Writing Your First Python Program

Task: Creating Your First Python Script

Running Python Scripts

Task: Running Python Scripts (command line)

Task: Running Python Scripts (IDLE)

Broadening Your Python Horizons

Chapter 11 Programming Raspberry Pi with Python—Next Steps

Getting Comfortable with IDLE

Task: Creating a New Python Script File

Writing a Simple Game

Delving into a Bit More Detail

Variables

Type Casting

Concatenation

Modules

Task: Loading and then Updating the GPIO Module in Python 3

Where Do You Go from Here?

Part III Basic Raspberry Pi Projects

Chapter 12 Raspberry Pi Media Center

A Bit o’ History

But Will It Blend?

Introducing Raspbmc

Task: Installing Raspbmc Under Windows

Task: Installing Raspbmc Under OS X

Configuring Raspbmc

Getting Your Remote Control Working

Task: Controlling Your Raspbmc Box from iOS

Task: Controlling Your Raspbmc Box from a Web Browser

Task: Configuring a GPIO-based IR Receiver

Transferring Content to Your Pi

Task: Uploading Media Content to Raspberry Pi

Scraping Your Media

Task: Configuring XBMC Media Detection

Playing Your Content

Installing Add-Ons

Chapter 13 Raspberry Pi Retro Game Station

A Word About Console Video Game Emulation

Installing RetroPie

Task: Setting Up RetroPie

Transferring ROMs to RetroPie

Task: Transferring ROMs to Your Raspberry Pi

Setting Up Your Controls

Task: Configure RetroPie Joystick Control Mappings

Playing Your Games

Installing Useful Add-Ons

Task: Install ES-Scraper

In Search of the Perfect Joystick

Chapter 14 Raspberry Pi Minecraft Server

Installing Minecraft Pi

Task: Installing Minecraft Pi

Accessing the Python API

Task: Loading the Minecraft Python Libraries

Task: Making Your Player Jump High!

Task: Create a Diamond Floor

Building a Minecraft Server

Task: Installing Java and the Minecraft Server

Administering a Minecraft Server

Minecraft Plugins

Chapter 15 Raspberry Pi Web Server

What Is the LAMP Stack?

Installing Your Web Server

Task: Installing the LAMP Stack on Raspberry Pi

Task: Verifying PHP Configuration

Task: Verifying MySQL Installation

Tweaking Up Your Web Server Settings

Transferring Content to Your Web Server

Task: Using SFTP to Transfer Content to Your Pi

Task: Install and Test FTP on Your Raspberry Pi

Setting Up phpMyAdmin

Task: Installing phpMyAdmin

Setting Up Joomla

Task: Installing Joomla on Your Raspberry Pi

Putting Your Web Server on the Public Internet

Task: Making Your Raspberry Pi Publicly Accessible by Using No-IP

Chapter 16 Raspberry Pi Portable Webcam

About the Raspberry Pi Camera Board

Installing and Configuring the Raspberry Pi Camera Board

Task: Preparing the Raspberry Pi for the Camera Board

Task: Installing the Raspberry Pi Camera Board

Using the Camera Board

Capturing Still Pictures

Recording Video with the Camera Board

Task: Encoding a raspivid Video File

Using a Third-Party USB Webcam

Task: Configuring a Third-Party USB Webcam

Setting Up Your Webcam

Task: Setting Up a Time-Lapse Webcam

Adding a Rechargeable Battery Pack to Your Pi Camera

Python and Your Webcam

Task: Setting up SimpleCV

Chapter 17 Raspberry Pi Security and Privacy Device

Encrypting Your Internet Connection with a VPN

Browsing Where You Want via a Proxy Server

Building Your Raspberry Pi VPN Gateway

Task: Creating Your Hamachi VPN

Task: Connecting to Your Hamachi VPN from Your Desktop Computer

Task: Installing Hamachi Client on Your Raspberry Pi

Building Your Raspberry Pi Proxy Server

Task: Installing and Configuring Privoxy Raspberry Pi

Testing the Configuration

Task: Pointing Your Workstation Computer at Your Pi Proxy

Speaking of Geolocation...

Task: Adding Your Raspberry Pi to the Rastrack Database

Building a Raspberry Pi Tor Proxy

Part IV Hacking the Raspberry Pi

Chapter 18 Raspberry Pi Overclocking

What Is Overclocking?

Warranty Implications of Overclocking

Overclocking Your Pi

The Raspi-Config Method

Task: Verifying Your Pi’s CPU, Voltage, and Temperature Status

The Manual Method

Benchmarking Your Pi

Task: Installing and Running nbench

Adjusting the Memory Split on Your Pi

Task: Tweaking Memory Split with Raspi-Config

Tweaking Memory Split by Hand

A Historical Footnote

Various and Sundry Performance Tweaks

Chapter 19 Raspberry Pi and Arduino

Introducing the Arduino

Digging into the Arduino Uno

Connecting the Arduino and the Raspberry Pi

Connecting the Raspberry Pi GPIO Pins to the Arduino Serial Pins

Connecting the Raspberry Pi GPIO Pins to the Arduino I2C

Connecting the Raspberry Pi to the Arduino via USB

Connecting the Raspberry Pi to the Arduino via a Shield or Bridge Board

Connecting the Raspberry Pi to an Arduino Clone

Understanding the Arduino Development Workflow

Task: Install and Configure Arduino IDE on the Raspberry Pi

Task: Running the “Blink” Sample Sketch

Fading an LED

Task: Running the Fade Sketch

Using the AlaMode

Task: Getting the AlaMode Up and Running

Chapter 20 Raspberry Pi and the Gertboard

Anatomy of the GPIO

Connecting Your Gertboard and Raspberry Pi

Installing the Testing Software

Task: Enabling SPI on Your Raspberry Pi

Task: Installing the Python Gertboard Test Suite

Testing the LEDs

Testing Input/Output

A Couple Quick Breadboarding Exercises

Accessing the GPIO Pins Directly

Task: Lighting an LED Directly from the GPIO

Accessing the GPIO Pins via the Pi Cobbler

Programming the Atmel Microcontroller

Task: Preparing Your Arduino Environment

Final Thoughts, and Thank You

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset