Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface to the Second Edition
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. Setup and Management
1.0. Introduction
1.1. Selecting a Model of Raspberry Pi
1.2. Enclosing a Raspberry Pi
1.3. Selecting a Power Supply
1.4. Selecting an Operating System Distribution
1.5. Writing a MicroSD Card with NOOBS
1.6. Connecting the System
1.7. Connecting a DVI or VGA Monitor
1.8. Using a Composite Video Monitor/TV
1.9. Adjusting the Picture Size on Your Monitor
1.10. Maximizing Performance
1.11. Changing Your Password
1.12. Setting the Pi to Boot Straight into a Windowing System
1.13. Shutting Down Your Raspberry Pi
1.14. Installing the Raspberry Pi Camera Module
1.15. Using Bluetooth
2. Networking
2.0. Introduction
2.1. Connecting to a Wired Network
2.2. Finding Your IP Address
2.3. Setting a Static IP Address
2.4. Setting the Network Name of a Raspberry Pi
2.5. Setting Up a Wireless Connection
2.6. Connecting with a Console Lead
2.7. Controlling the Pi Remotely with SSH
2.8. Controlling the Pi Remotely with VNC
2.9. Controlling the Pi Remotely with RDP
2.10. File Sharing on a Mac Network
2.11. Sharing the Pi Screen on a Mac
2.12. Using a Raspberry Pi for Network Attached Storage
2.13. Network Printing
3. Operating System
3.0. Introduction
3.1. Moving Files Around Graphically
3.2. Starting a Terminal Session
3.3. Navigating the Filesystem Using a Terminal
3.4. Copying a File or Folder
3.5. Renaming a File or Folder
3.6. Editing a File
3.7. Viewing the Contents of a File
3.8. Creating a File Without Using an Editor
3.9. Creating a Directory
3.10. Deleting a File or Directory
3.11. Performing Tasks with Superuser Privileges
3.12. Understanding File Permissions
3.13. Changing File Permissions
3.14. Changing File Ownership
3.15. Making a Screen Capture
3.16. Installing Software with apt-get
3.17. Removing Software Installed with apt-get
3.18. Installing Python Packages with Pip
3.19. Fetching Files from the Command Line
3.20. Fetching Source Code with Git
3.21. Running a Program or Script Automatically on Startup
3.22. Running a Program or Script Automatically as a Service
3.23. Running a Program or Script Automatically at Regular Intervals
3.24. Finding Things
3.25. Using the Command-Line History
3.26. Monitoring Processor Activity
3.27. Working with File Archives
3.28. Listing Connected USB Devices
3.29. Redirecting Output from the Command Line to a File
3.30. Concatenating Files
3.31. Using Pipes
3.32. Hiding Output to the Terminal
3.33. Running Programs in the Background
3.34. Creating Command Aliases
3.35. Setting the Date and Time
3.36. Finding Out How Much Room You Have on the SD Card
4. Software
4.0. Introduction
4.1. Making a Media Center
4.2. Installing Office Software
4.3. Installing other Browsers
4.4. Using the Pi Store
4.5. Making a Webcam Server
4.6. Running a Vintage Game Console Emulator
4.7. Running Minecraft Pi Edition
4.8. Running a Minecraft Server
4.9. Running Open Arena
4.10. Raspberry Pi Radio Transmitter
4.11. Running GIMP
4.12. Internet Radio
5. Python Basics
5.0. Introduction
5.1. Deciding Between Python 2 and Python 3
5.2. Editing Python Programs with IDLE
5.3. Using the Python Console
5.4. Running Python Programs from the Terminal
5.5. Variables
5.6. Displaying Output
5.7. Reading User Input
5.8. Arithmetic
5.9. Creating Strings
5.10. Concatenating (Joining) Strings
5.11. Converting Numbers to Strings
5.12. Converting Strings to Numbers
5.13. Finding the Length of a String
5.14. Finding the Position of One String Inside Another
5.15. Extracting Part of a String
5.16. Replacing One String of Characters with Another Inside a String
5.17. Converting a String to Upper- or Lowercase
5.18. Running Commands Conditionally
5.19. Comparing Values
5.20. Logical Operators
5.21. Repeating Instructions an Exact Number of Times
5.22. Repeating Instructions Until Some Condition Changes
5.23. Breaking Out of a Loop
5.24. Defining a Function in Python
6. Python Lists and Dictionaries
6.0. Introduction
6.1. Creating a List
6.2. Accessing Elements of a List
6.3. Finding the Length of a List
6.4. Adding Elements to a List
6.5. Removing Elements from a List
6.6. Creating a List by Parsing a String
6.7. Iterating Over a List
6.8. Enumerating a List
6.9. Sorting a List
6.10. Cutting Up a List
6.11. Applying a Function to a List
6.12. Creating a Dictionary
6.13. Accessing a Dictionary
6.14. Removing Things from a Dictionary
6.15. Iterating Over Dictionaries
7. Advanced Python
7.0. Introduction
7.1. Formatting Numbers
7.2. Formatting Dates and Times
7.3. Returning More Than One Value
7.4. Defining a Class
7.5. Defining a Method
7.6. Inheritance
7.7. Writing to a File
7.8. Reading from a File
7.9. Pickling
7.10. Handling Exceptions
7.11. Using Modules
7.12. Random Numbers
7.13. Making Web Requests from Python
7.14. Command-Line Arguments in Python
7.15. Running Linux Commands from Python
7.16. Sending Email from Python
7.17. Writing a Simple Web Server in Python
7.18. Doing More Than One Thing at a Time
7.19. Doing Nothing in Python
7.20. Using Python with Minecraft Pi Edition
8. Computer Vision
8.0. Introduction
8.1. Installing SimpleCV
8.2. Setting Up a USB Camera for Computer Vision
8.3. Using a Raspberry Pi Camera Module for Computer Vision
8.4. Counting Coins
8.5. Face Detection
8.6. Motion Detection
8.7. Optical Character Recognition
9. Hardware Basics
9.0. Introduction
9.1. Finding Your Way Around the GPIO Connector
9.2. Keeping Your Raspberry Pi Safe When Using the GPIO Connector
9.3. Setting Up I2C
9.4. Using I2C Tools
9.5. Setting Up SPI
9.6. Installing PySerial for Access to the Serial Port from Python
9.7. Installing Minicom to Test the Serial Port
9.8. Using a Breadboard with Jumper Leads
9.9. Using a Breadboard with a Pi Cobbler
9.10. Using a Raspberry Squid
9.11. Using a Raspberry Squid Button
9.12. Converting 5V Signals to 3.3V with Two Resistors
9.13. Converting 5V Signals to 3.3V with a Level Converter Module
9.14. Powering a Raspberry Pi with Batteries
9.15. Powering a Raspberry Pi with a LiPo Battery
9.16. Getting Started with the Sense HAT
9.17. Getting Started with the Explorer HAT Pro
9.18. Getting Started with a RaspiRobot Board
9.19. Using a Pi Plate Prototyping Board
9.20. Making a Hardware At Top (HAT)
9.21. The Pi Compute Module
9.22. The Pi Zero
10. Controlling Hardware
10.0. Introduction
10.1. Connecting an LED
10.2. Leaving the GPIO Pins in a Safe State
10.3. Controlling the Brightness of an LED
10.4. Make a Buzzing Sound
10.5. Switching a High-Power DC Device Using a Transistor
10.6. Switching a High-Power Device Using a Relay
10.7. Controlling High-Voltage AC Devices
10.8. Making a User Interface to Turn Things On and Off
10.9. Making a User Interface to Control PWM Power for LEDs and Motors
10.10. Changing the Color of an RGB LED
10.11. Using Lots of LEDs (Charlieplexing)
10.12. Using an Analog Meter as a Display
10.13. Programming with Interrupts
11. Motors
11.0. Introduction
11.1. Controlling Servo Motors
11.2. Controlling Servo Motors Precisely
11.3. Controlling Many Servo Motors
11.4. Controlling the Speed of a DC Motor
11.5. Controlling the Direction of a DC Motor
11.6. Using a Unipolar Stepper Motor
11.7. Using a Bipolar Stepper Motor
11.8. Using a Stepper Motor HAT to Drive a Bipolar Stepper Motor
11.9. Using a RaspiRobot Board to Drive a Bipolar Stepper Motor
11.10. Building a Simple Robot Rover
12. Digital Inputs
12.0. Introduction
12.1. Connecting a Push Switch
12.2. Toggling with a Push Switch
12.3. Using a Two-Position Toggle or Slide Switch
12.4. Using a Center-Off Toggle or Slide Switch
12.5. Debouncing a Button Press
12.6. Using an External Pull-up Resistor
12.7. Using a Rotary (Quadrature) Encoder
12.8. Using a Keypad
12.9. Detecting Movement
12.10. Adding GPS to the Raspberry Pi
12.11. Intercepting Keypresses
12.12. Intercepting Mouse Movements
12.13. Using a Real-Time Clock Module
13. Sensors
13.0. Introduction
13.1. Using Resistive Sensors
13.2. Measuring Light
13.3. Measuring Temperature with a Thermistor
13.4. Detecting Methane
13.5. Measuring a Voltage
13.6. Reducing Voltages for Measurement
13.7. Using Resistive Sensors with an ADC
13.8. Measuring Temperature with an ADC
13.9. Measuring the Raspberry Pi CPU Temperature
13.10. Measuring Temperature, Humidity, and Pressure with a Sense HAT
13.11. Measuring Temperature Using a Digital Sensor
13.12. Measuring Acceleration with an MCP3008 Module
13.13. Using the Inertial Management Unit (IMU) of the Sense HAT
13.14. Finding Magnetic North with the Sense HAT
13.15. Sensing a Magnet with a Reed Switch
13.16. Sensing a Magnet with the Sense HAT
13.17. Measuring Distance
13.18. Capacitative Touch Sensing
13.19. Displaying Sensor Values
13.20. Logging to a USB Flash Drive
14. Displays
14.0. Introduction
14.1. Using a Four-Digit LED Display
14.2. Displaying Messages on an I2C LED Matrix
14.3. Using the Sense HAT LED Matrix Display
14.4. Displaying Messages on an Alphanumeric LCD HAT
14.5. Displaying Messages on an Alphanumeric LCD Module
14.6. Using an OLED Graphical Display
14.7. Using Addressable RGB LED Strips
15. The Internet of Things
15.0. Introduction
15.1. Controlling GPIO Outputs Using a Web Interface
15.2. Displaying Sensor Readings on a Web Page
15.3. Sending Email and Other Notifications with IFTTT
15.4. Sending Tweets Using ThingSpeak
15.5. CheerLights
15.6. Sending Sensor Data to ThingSpeak
15.7. Responding to Tweets Using Dweet and IFTTT
16. Arduino and Raspberry Pi
16.0. Introduction
16.1. Programming an Arduino from Raspberry Pi
16.2. Communicating with the Arduino by Using the Serial Monitor
16.3. Setting Up PyFirmata to Control an Arduino from a Raspberry Pi
16.4. Writing Digital Outputs on an Arduino from a Raspberry Pi
16.5. Using PyFirmata with TTL Serial
16.6. Reading Arduino Digital Inputs Using PyFirmata
16.7. Reading Arduino Analog Inputs Using PyFirmata
16.8. Analog Outputs (PWM) with PyFirmata
16.9. Controlling a Servo Using PyFirmata
16.10. Custom Communication with an Arduino over TTL Serial
16.11. Custom Communication with an Arduino over I2C
16.12. Using Small Arduinos with a Raspberry Pi
16.13. Getting Started with an aLaMode Board and a Raspberry Pi
16.14. Using an Arduino Shield with an aLaMode Board and a Raspberry Pi
A. Parts and Suppliers
Parts
Prototyping Equipment
Resistors and Capacitors
Transistors and Diodes
Integrated Circuits
Opto-Electronics
Modules
Miscellaneous
B. Raspberry Pi Pinouts
Raspberry Pi 3/2 model B, B+, A+, Zero
Raspberry Pi model B rev. 2, A
Raspberry Pi model B rev. 1
Index
← Prev
Back
Next →
← Prev
Back
Next →