About the Author |
|
xiii | |
About the Technical Reviewer |
|
xv | |
|
Chapter 1 Raspberry Pi System Anatomy |
|
|
1 | (16) |
|
|
1 | (9) |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (4) |
|
|
9 | (1) |
|
|
10 | (2) |
|
|
10 | (1) |
|
CPU, RAM, and SoC Features |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
Integrated Network Features |
|
|
13 | (2) |
|
|
15 | (1) |
|
|
15 | (2) |
|
Chapter 2 The Distro Bunch |
|
|
17 | (26) |
|
|
17 | (4) |
|
Raspbian with PIXEL Fast Facts |
|
|
18 | (2) |
|
|
20 | (1) |
|
Other Linux Distros Available with NOOBS |
|
|
21 | (5) |
|
LibreELEC_R Pi 2 Overview and Fast Facts |
|
|
21 | (1) |
|
Lakka_R Pi 2 Overview and Fast Facts |
|
|
22 | (1) |
|
OSMC_P2 Overview and Fast Facts |
|
|
23 | (1) |
|
RISC OS Overview and Fast Facts |
|
|
24 | (1) |
|
Windows 10 IoT Core Overview and Fast Facts |
|
|
25 | (1) |
|
Other Linux Distros Available with PINN |
|
|
26 | (1) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
27 | (3) |
|
Installing an OS with NOOBS |
|
|
27 | (1) |
|
|
28 | (2) |
|
Using PINN: An Alternative to NOOBS |
|
|
30 | (3) |
|
|
33 | (5) |
|
|
33 | (1) |
|
Installing an OS with BerryBoot |
|
|
34 | (3) |
|
More Options for BerryBoot |
|
|
37 | (1) |
|
Loading an OS with BerryBoot |
|
|
38 | (1) |
|
Other Linux Distros for Raspberry Pi |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
Choosing the Best Distro for the Task |
|
|
39 | (3) |
|
|
39 | (3) |
|
|
42 | (1) |
|
Chapter 3 Adding Mass Storage |
|
|
43 | (18) |
|
Recommended Memory Card Types |
|
|
43 | (2) |
|
Expanding a Partition on a Flash Memory Card |
|
|
45 | (3) |
|
Determining the Current Partition Size (Parted) |
|
|
46 | (1) |
|
Expanding the Partition Using Parted |
|
|
47 | (1) |
|
Expanding the Partition with RootFS-Expand (CentOS) |
|
|
47 | (1) |
|
Expanding the Partition Used by RISC OS |
|
|
48 | (1) |
|
Connecting a USB Flash Drive or Memory Card |
|
|
48 | (2) |
|
Mounting a Drive for Read/Write Access |
|
|
50 | (1) |
|
Partitioning a Flash Memory Card or USB Drive |
|
|
50 | (3) |
|
Formatting a Drive with ext4 File System |
|
|
53 | (1) |
|
Adding and Using an External Hard Drive |
|
|
53 | (1) |
|
Adding and Using a WDLabs Pi Drive |
|
|
54 | (4) |
|
|
58 | (1) |
|
|
58 | (1) |
|
Incorrectly Formatted Media |
|
|
58 | (1) |
|
|
59 | (1) |
|
Drive Can't Be Mounted in Read/Write Mode |
|
|
59 | (1) |
|
|
59 | (2) |
|
Chapter 4 Connecting to a Workgroup Network |
|
|
61 | (24) |
|
Distro and Raspberry Pi Configuration |
|
|
61 | (6) |
|
Connecting to a Windows Share with PIXEL |
|
|
61 | (3) |
|
Connecting to a Windows Share from the Command Line with smbclient |
|
|
64 | (1) |
|
Connecting to Different Workgroups |
|
|
65 | (1) |
|
Connecting to an OSX (MacOS) Share from Raspbian PIXEL |
|
|
65 | (2) |
|
|
67 | (4) |
|
Connecting to a SanDisk Connect Wireless Flash Drive |
|
|
68 | (1) |
|
Connecting to a Seagate Wireless Plus Drive |
|
|
69 | (2) |
|
Printing to a Network Printer |
|
|
71 | (4) |
|
|
72 | (2) |
|
|
74 | (1) |
|
|
75 | (1) |
|
Scanning with a Network Scanner |
|
|
75 | (1) |
|
Raspberry Pi Linux Samba Server Configuration |
|
|
75 | (5) |
|
|
76 | (1) |
|
|
77 | (1) |
|
|
77 | (2) |
|
Logging into the Raspberry Pi |
|
|
79 | (1) |
|
Connecting to Raspberry Pi from an Android Device |
|
|
80 | (2) |
|
Connecting to Raspberry Pi from an iOS Device |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
83 | (2) |
|
Chapter 5 Sharing an Internet Connection |
|
|
85 | (14) |
|
Hardware Used in This Chapter |
|
|
85 | (1) |
|
Configuring the Pi for Sharing (Hardware) |
|
|
86 | (1) |
|
Configuring the Pi for Sharing (Software) |
|
|
86 | (3) |
|
Planning the Network Configuration |
|
|
87 | (2) |
|
Sharing a Wired Connection Using a Wireless Adapter |
|
|
89 | (9) |
|
Sharing a Wireless Connection Using an Ethernet Port and Switch |
|
|
93 | (5) |
|
|
98 | (1) |
|
|
98 | (1) |
|
Chapter 6 Setting Up a Print and Scan Server |
|
|
99 | (24) |
|
Hardware Used in This Chapter |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
100 | (1) |
|
Manual Connections to a Wireless Network |
|
|
101 | (2) |
|
Installing and Using CUPS |
|
|
103 | (5) |
|
Adding Users to the Print Administration Group |
|
|
103 | (1) |
|
Configuring CUPS for Remote Administration |
|
|
104 | (1) |
|
Logging into CUPS Remotely |
|
|
104 | (1) |
|
Selecting and Configuring a Printer with CUPS |
|
|
105 | (2) |
|
Installing Printer Drivers |
|
|
107 | (1) |
|
Installing and Configuring Samba |
|
|
108 | (7) |
|
Connecting to a Samba Print Server with Windows |
|
|
109 | (4) |
|
Connecting to a Samba Print Server with MacOS (OSX) |
|
|
113 | (2) |
|
Installing and Configuring SANE |
|
|
115 | (1) |
|
Configuring SANE as a Server |
|
|
116 | (2) |
|
Connecting to SANE from Windows |
|
|
117 | (1) |
|
Connecting to SANE from MacOS (OSX) |
|
|
118 | (1) |
|
|
118 | (2) |
|
Connecting via SSH Using Windows |
|
|
118 | (2) |
|
|
120 | (1) |
|
|
121 | (2) |
|
Chapter 7 Imaging and Video |
|
|
123 | (34) |
|
Hardware Used in This Chapter |
|
|
123 | (1) |
|
Connecting a Camera to the Camera Port |
|
|
123 | (6) |
|
Swapping Cables for a Raspberry Pi Zero |
|
|
125 | (2) |
|
|
127 | (2) |
|
Using Raspivid to Capture Video |
|
|
129 | (4) |
|
Raspivid Options and Examples |
|
|
129 | (3) |
|
Playing Videos with OMXplayer |
|
|
132 | (1) |
|
Converting Recordings with MP4Box |
|
|
132 | (1) |
|
Using Raspistill to Take Photos |
|
|
133 | (3) |
|
Taking Time-Lapse Photos with Raspistill |
|
|
134 | (1) |
|
Viewing Raspistill Photo Metadata |
|
|
135 | (1) |
|
Controlling the Raspberry Pi Camera with Python |
|
|
136 | (2) |
|
Controlling Your Raspberry Pi Camera with Android or iOS |
|
|
138 | (5) |
|
Using RaspiCAM Remote for Android |
|
|
138 | (2) |
|
|
140 | (3) |
|
Using a Webcam with a Raspberry Pi |
|
|
143 | (3) |
|
|
143 | (1) |
|
Capturing Video or Stills Using Guvcview |
|
|
144 | (1) |
|
Using RaspiCAM Remote with a Webcam |
|
|
145 | (1) |
|
Connecting to an Image Scanner |
|
|
146 | (7) |
|
Installing SANE with PIXEL, Other Linux GUIs |
|
|
147 | (1) |
|
|
148 | (2) |
|
|
150 | (3) |
|
|
153 | (2) |
|
Raspberry Pi Camera Issues |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (2) |
|
|
157 | (12) |
|
Hardware Used in This Chapter |
|
|
157 | (1) |
|
|
157 | (1) |
|
BerryBoot, WD PiDrive, and Media Serving |
|
|
158 | (3) |
|
|
161 | (5) |
|
|
163 | (3) |
|
Connecting to a PLEX Server with RasPlex |
|
|
166 | (2) |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
168 | (1) |
|
Chapter 9 GPIO Anatomy and Applications |
|
|
169 | (16) |
|
Hardware Used in This Chapter |
|
|
169 | (4) |
|
What Can You Do with GPIO? |
|
|
169 | (1) |
|
|
170 | (1) |
|
Raspberry Pi GPIO Pin Numbering Schemes |
|
|
171 | (2) |
|
Programming the GPIO Interface |
|
|
173 | (1) |
|
|
173 | (2) |
|
Using a PiFace Control and Display Board |
|
|
175 | (3) |
|
|
178 | (5) |
|
|
183 | (1) |
|
|
183 | (2) |
|
Chapter 10 Taking Your Raspberry Pi on the Road |
|
|
185 | (14) |
|
|
185 | (1) |
|
Configuring the Raspberry Pi for Minimal Power Consumption |
|
|
186 | (5) |
|
|
187 | (1) |
|
|
187 | (1) |
|
Enabling Login and Control via TTY |
|
|
188 | (2) |
|
Disabling USB Hub and Ethernet |
|
|
190 | (1) |
|
|
191 | (2) |
|
Estimated Battery Runtimes |
|
|
191 | (2) |
|
Car Chargers and Raspberry Pi |
|
|
193 | (1) |
|
Using Intelligent Power Management Peripherals |
|
|
194 | (3) |
|
MoPi Mobile Power for Raspberry Pi |
|
|
194 | (1) |
|
|
195 | (1) |
|
Sleepy Pi and Sleepy Pi 2 |
|
|
196 | (1) |
|
Comparing Power Management Products for Raspberry Pi |
|
|
197 | (1) |
|
|
197 | (1) |
|
|
198 | (1) |
Index |
|
199 | |