Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright Page
Introduction
Part 1 Getting Started with Your Raspberry Pi
1 Introducing the Raspberry Pi
The Single-Board Computer
Raspberry Pi Hardware
The Raspberry Pi Foundation
How the Raspberry Pi Came to Be
The Pi’s Original Purpose
Initial Technology and Design
The Launch of the Raspberry Pi
What’s Next for the Raspberry Pi
2 Choosing a Raspberry Pi
The Different Models
The Model A+
Model A+ Hardware Specifications
Model A+ Ports and Connectors
The Model B
Model B Hardware Specifications
Model B Ports and Connectors
The Model B+
Model B+ Hardware Specifications
Model B+ Ports and Connectors
The Model 2
Model 2 Hardware Specifications
Model 2 Ports and Connectors
Which Model Is for You?
What Do You Want to Do?
Pros and Cons of Models B, B+, and 2
Price and Availability
3 Required Accessories
Powering Your Raspberry Pi
Amperage and Voltage Requirements
Finding a Power Adapter
SD Cards
The “Hard Drive” for Your Pi
Recommended SD Cards
Composite and HDMI Options
Connecting to PC Monitors Versus HD TVs
Sound Output
Connecting to the Internet
On-Board Ethernet
Wi-Fi Adapters
4 Picking a Case
Project-Based Cases
The Best All-Purpose Cases
All-in-One Computer Cases
Cases for Outdoor Use
DIY Cases
LEGO Cases
Wood Cases
Cardboard Cases
Part 2: Setting Up Your Raspberry Pi
5 What You Need for Setup
Personal Computer
HDMI or Composite-Enabled Monitor or TV
USB Keyboard and Mouse
Internet Connectivity
SD Cards and Readers
6 Ports, Pins, and Plug-Ins
Ports and Pinouts
Raspberry Pi Ports
Raspberry Pi Pinouts
GPIO Pin Locations
Connecting Equipment
Adding Accessories
Plugging In
Connecting the SD Card
Powering On
7 Selecting an Operating System
An Introduction to Linux
Why the Raspberry Pi Uses Linux
Open-Source Ideology
Why Windows and OS X Don’t Work
Linux Distributions for the Raspberry Pi
Raspbian
Arch Linux
Debian
Raspbmc, XBian, and OpenELEC
Specialized Distributions
Why Raspbian Is Best
8 Installing Linux
Downloading Raspbian
Installing Raspbian on Your SD Card
Booting Up
Configuring Raspbian
Configuring Raspbian for Full Storage
Configuring Raspbian for Full-Screen
Establishing Keyboard Layout
Changing Your Password
Setting Your Time Zone
Configuring Raspbian for Boot-to-Desktop
Logging In for the First Time
Accessing the Raspi-Config Tool
Launching Raspbian Manually
Getting Acquainted with Raspbian
Learning the Raspbian Interface
Preinstalled Applications
Desktop Utilities
Getting and Installing New Applications
Shopping the Pi Store
Finding Applications Manually
9 Working with the Command Line
Getting to Know the Command Line
The Command Line and Raspbian
Accessing the Command Line in Raspbian
Basic Command Line Tools You Need to Know
Sudo
Navigating Files and Folders from the Command Line
Downloading and Installing Programs from the Command Line
Other Common Commands
Editing Text Files from the Command Line
Loading a Text File
Navigating, Editing, and Saving Files
Part 3: Raspberry Pi Projects
10 Building a Useable PC
Making Raspbian More Windows-Like
Simple Adjustments
Windows 7 or 8
Changing the Wallpaper
Popular Software You Need
Web Browsers
Office Productivity Tools
Video and Music Players
Antivirus Tools
11 Adding Wi-Fi
The Convenience of Wi-Fi
USB Wi-Fi Adapters
Choosing the Right Adapter
Where to Buy Your Adapter
Getting Online
Setting Up Wi-Fi with Raspbian’s Graphical Interface
Setting Up Wi-Fi with the Command Line
Testing Your Connectivity
Troubleshooting
Manually Finding and Installing Drivers
Fixing Common Drop-Out Issues
12 Making a Media Center
Raspberry Pi–Powered Media Center Capabilities
Streaming Content from the Web
Playing Movies and Music from Your Home Network
Attaching External Storage to Your Pi
Raspberry Pi Media Center Limitations
Raspberry Pi Media Center Options
Raspbmc
OpenELEC
XBian
Media Center Operating System Pros and Cons
Installing Raspbmc
Downloading and Installing Raspbmc
The First Run
Configuring Raspbmc
Adjusting Resolution
Setting Up Local Network Playback Options
The Risks and Rewards of Overclocking
XBMC Add-Ons and Repositories
Browsing the Add-On Repositories
Installing Add-Ons
Popular Plug-Ins
Remote Controls
Raspbmc-Supported Remotes
Smartphone as Remote
13 Setting Up a Personal VPN
What Is a VPN?
Security and Encryption
Why Use a VPN?
An Introduction to OpenVPN
Setting Up Your At-Home VPN
Changing Your Home Network for a VPN
Logging in to Your Home Router
Assigning Your Raspberry Pi a Static Internal IP Address
Assigning Your Raspberry Pi a Static External IP Address via Dynamic DNS
Other Dynamic DNS Options
Preparing Your Raspberry Pi for OpenVPN
Installing Raspbian
Changing Your Default Password
Installing SSH for Remote Connectivity
Connecting to Your Raspberry Pi Remotely
Installing OpenVPN on Your Raspberry Pi
Downloading OpenVPN
Generating Your Security Keys
Generating Your Security Certificates
Building the Key Exchange
Writing the OpenVPN Configuration File
Setting Up Your Raspberry Pi’s Firewall
Configuring Keys for Each Client
Terminal Commands to Start and Stop the VPN
Installing OpenVPN on Your Computer
Setting Up Security Keys and Config Files
Connecting to Your Pi VPN Remotely
Establishing a Connection
Accessing Files and Folders Remotely
14 Creating a Streaming Internet Radio
What Can a Pi-Powered Internet Radio Do?
Internet Radio in Home Theater Setups
Support for Pandora, Spotify, Google Music, and Others
Installing Pi MusicBox
Preparing Your SD Card for a Pi MusicBox Image
Changing Your Pi MusicBox Settings
Connecting to External Audio
Booting Pi MusicBox
Using Pi MusicBox
Playing Music Remotely from Your Smartphone or Computer
Installing Pianobar for Pandora
Downloading Pianobar to Your Pi
Setting Up Pianobar and Logging in to Pandora
Remote Control via SSH or the Command Line
Setting Up a Static IP Address and SSH
Setting Up SSH
Keyboard Controls for Pianobar
Adding Better-Quality Sound with a USB Sound Card
Choosing the Right USB Sound Card
Setting Up and Installing a USB Sound Card
15 Building a Private Minecraft Server
What You Get with a Minecraft Server
Getting to Know Minecraft
Minecraft Versus a Server
Installing Raspbian
Configuring Raspbian with Optimal Minecraft Settings
Setting Up SSH
Installing Java
Why You Need Java
Downloading and Installing Java
Installing and Setting Up the Minecraft Server
Installing the Minecraft Server Files
Starting and Stopping Your Server
Accessing Your Minecraft Server from Your Computer
Changing Your Server’s Settings
Setting Your Server to Start on Boot
Moderating Your Server
Accessing Your Server Remotely
16 Setting Up a Home Surveillance System
What a Raspberry Pi Surveillance System Can Do
What You Need
Camera Module Sources
Storage Considerations
Video Limitations
Camera Limitations
Setting Up and Configuring Raspbian
Installing Raspbian
Setting Up SSH
Enabling Wi-Fi
Assigning Your Raspberry Pi a Static IP Address
Updating Raspbian
Connecting to Your Pi Remotely
Assembling the Hardware
Connecting the Camera Module
Fitting Your Raspberry Pi into the Camera Housing
Setting Up Your Software
Enabling the Camera
Installing Motion-Detection Software
Adjusting Your Motion-Detection Software
Storing Videos on Your Computer
Accessing Saved Videos
Remotely Reviewing Footage
Setting Up a DNS Address for Your Raspberry Pi
Enabling Port Forwarding on Your Router
Setting Up Email Alerts
Mounting Your Camera
17 Making a Wireless Router
What a Raspberry Pi Router Can Do
Installing Raspbian
Choosing a Wireless Adapter
Setting Up SSH
Installing the Required Components
Configuring Your USB Wireless Adapter
Testing Your USB Wireless Adapter
Configuring a Wireless Interface
Configuring hostapd
Configuring DNS Settings
Accessing the Internet
Enabling Port Forwarding
Enabling NAT
Setting Everything to Start on Boot
18 Creating a Web Server
What a Raspberry Pi Web Server Can Do
What’s Included
Limitations of a Raspberry Pi Web Server
Installing Raspbian Turnkey
Updating Webmin
Logging in to Webmin
Upgrading Webmin
Logging in over the Shell Interface
Logging in Through Your Browser
Changing Your Host Name
Mounting an External Hard Drive (Optional)
Downloading NTFS
Mounting Your Hard Drive
Installing MySQL
Downloading and Installing MySQL
Setting Up a Database
Adding a New User to MySQL
Installing PHP
Installing FTP Software
Downloading FTP Software
Configuring Webmin
Installing Samba (Optional)
Downloading and Installing Samba
Setting Up Samba
Creating a New Samba User
Installing ownCloud (Optional)
Installing ownCloud
Configuring ownCloud
Using ownCloud
Installing WordPress (Optional)
Setting Up a WordPress Database
Downloading and Installing WordPress
Creating a WordPress Configuration File
Installing WordPress
A Quick Tour of WordPress
Assigning Your Raspberry Pi an IP Address
Getting an External IP Address with No-IP
Installing No-IP
Setting Up Port Forwarding on Your Router
19 Building a Network Storage Device
Getting Started with Your NAS
The Benefits of a NAS
What Else You Need
Mounting the External Drive
Installing Raspbian
Adding NTFS Support for Raspbian
Creating Mounting Directories
Installing Samba
Downloading Samba
Backing Up Samba’s Configuration Files
Editing Samba’s Configuration Files
Configuring Your Raspberry Pi to Mount to External Drives on Boot
Accessing Your NAS from Your Other Computers
Testing Your Samba Shares
Adding a Second Hard Drive
The Importance of Data Redundancy
Setting Up rsync Backup
Setting Up Automated Backups
Downloading and Installing CrashPlan
Configuring CrashPlan to Back Up to Your NAS
Scheduling Backups in CrashPlan
Restoring a Backup
20 More Advanced Projects
Retro Game Station Projects
Retro Game Station Operating Systems
Setting Up RetroPie
Example Projects
Raspberry Pi Photography Projects
Building a Point-and-Shoot Camera
Using Your Raspberry Pi for Time-Lapse Photography
Embedding the Raspberry Pi into a Digital Camera
Car-Related Raspberry Pi Projects
Raspberry Pi–Compatible LCD Screens
Example Projects
Home-Automation Projects
Raspberry Pi–Compatible Home-Automation Accessories
Example Projects
Portable Raspberry Pi Projects
Turning Your Raspberry Pi into a Tablet
Turning Your Raspberry Pi into a Tiny Laptop
Making a Portable Gaming System
Making Your Own Mobile Phone
Part 4: Going Further with Your Raspberry Pi
21 Additional Accessories
Turning Your Pi Into a Mini Computer
Display Adapters and LCD Displays
Touchscreen Kits
Miniature Keyboard and Mouse Combos
Powered USB Hubs
External Hard Drives
Adding a Camera to Your Raspberry Pi
What the Camera Module Can Do
Support for Webcams and External Video Cameras
Breakouts and Pinouts for Embedded/Advanced Projects
Cobbler Kits
Pinouts
Breadboards and Prototyping Kits
Other Accessories for the Raspberry Pi
GPS Modules
Accelerometer Modules
Real-Time Clocks
Computer Modules
22 Learning to Code on Your Raspberry Pi
Why Learn to Code?
What Basic Coding Can Teach You
How Coding Can Help You Every Day
Learning Basic Coding with Google Coder
Projects and Guides
Learning Basic Web Development Skills
Coder
Downloading Coder
Installing Coder
Using Coder
Accessing Coder Projects
Adding New Projects
Scratch
The History of Scratch
How Scratch Works
The Main Screen
The Block Palette
Sprites and Scripts
The Stage
Going Further
Other Programming Skills You Can Learn on Your Pi
Python
C++
Java
23 The Raspberry Pi Community
The Raspberry Pi Foundation
Raspberry Jams
Making the Most of the Foundation’s Resources
Instructables
The Instructables Website
How to Join
Maker Media
Maker Faires
MAKE Magazine
Getting Involved
Hackerspaces
Finding a Hackerspace Near You
How to Join
Appendixes
A Glossary
B Resources
About the Author
← Prev
Back
Next →
← Prev
Back
Next →