Index
Symbols
- != (not equal to) operator, Solution
- #! (shebang character), Discussion
- & command, Solution
- + (concatenate) operator, Problem
- < (less than) operator, Solution
- <> (not equal to) operator, Discussion
- = (set a value) operator, Discussion
- == (equal to) operator, Solution
- > (greater than) operator, Solution
- > command, Solution, Problem
- >>> prompt, Discussion
- [:] notation, Problem, Problem
- [] notation, Solution, Problem
- {} notation, Solution, Problem
- | (pipe command), Problem
A
- Abiword word processor, Solution
- AC devices, controlling, Problem
- accelerometers, Problem
- acknowledgments, Acknowledgments
- Adafruit
- addition, Problem
- addressable RGB LED strips, Problem
- add_event_detect function, Problem
- aLaMode boards, Problem
- aliases, creating, Problem
- analog accelerometers, Problem
- analog meters, Problem
- analog voltage sensors, Problem
- analog-to-digital converters (ADCs)
- and operator, Problem
- append function, Problem
- apt-get command, Problem, Solution
- Arduino boards
- aLaMode boards, Problem
- Arduino shields, Problem
- benefits of, Introduction
- communication over I2C, Problem
- communication over TTL serial, Problem, Problem
- communication using serial monitor, Problem
- compact boards, Problem
- controlling from Raspberry Pi, Problem
- controlling servo motors, Problem
- programming from Raspberry Pi, Problem
- reading analog inputs, Problem
- reading analog outputs, Problem
- reading digital inputs, Problem
- vs. Raspberry Pi, Introduction
- writing digital outputs to, Problem
- arithmetic operators, Problem
- as keyword, Discussion
- assignment operator, Problem
- Atari 2600, Solution
- atmospheric pressure measurement, Problem
- automatic boot option, Problem
B
- background programs, Problem
- battery power supply, Problem
- bit banging, Discussion
- Bluetooth wireless accessories, Discussion, Problem
- boot behavior, changing, Problem
- bottle library, Solution
- bounce (switches), Discussion, Problem
- breadboards
- break statement, Problem
- Broadcom chip, Solution
C
- camera module
- capacitative touch sensors, Problem
- capacitors, charging/discharging, Solution
- case conversion, Problem
- cases, selecting, Problem, Discussion
- cat command, Solution, Problem
- cd (change directory) command, Solution
- Charlieplexing, Problem
- Cheerlights project, Problem
- chmod command, Solution
- chown (change owner) command, Solution
- Chromium web browser, Solution
- classes
- clock frequency, increasing, Problem
- close function, Solution
- code
- command line
- accessing commands in history, Problem
- hiding output to the terminal, Problem
- redirecting output to a file, Problem
- redirecting output to a program, Problem
- commands
- comparison operators, Problem
- compass, Problem
- complex conditions, specifying, Problem
- components and tools, list of suppliers, Parts
- composite video output, Solution
- comprehensions language feature, Problem
- computer vision (CV)
- concatenation
- conditions, Discussion
- console cables, connection of, Problem
- console emulators, Problem
- copying, files/folders, Problem
- counting objects, with computer vision, Problem
- cp (copy) command, Discussion
- CPU (central processing unit), monitoring of, Problem, Problem, Problem, Problem
- crontab command, Discussion
- CTRL key commands, Discussion
- CUPS (Common Unix Printing System), Solution
D
- Darlington driver chips, Solution
- data
- date/time, setting, Problem
- dates, formatting, Problem
- DC motors
- debouncing, Problem
- deleting, files/directories, Problem
- development tools, Problem
- devices, listing connected, Problem
- df command, Problem
- DHCP (Dynamic Host Configuration Protocol), Discussion
- diameter method, Discussion
- dictionaries
- digital displays, Problem
- digital inputs
- clock time, remembering, Problem
- debouncing button presses, Problem
- external pull-up resistors, Problem
- GPS module, Problem
- keyboard presses, Solution, Problem
- keypads, Problem
- mouse movements, Problem
- movement detection, Problem
- reading Arduino digital imputs, Problem
- rotary encoders, Problem
- switches, Problem-See Also
- digital temperature sensors, Problem
- diodes, Solution, Transistors and Diodes
- directories
- displaying
- Displayotron Pimoroni HAT, Solution
- displays (see also monitors)
- distance measurement, Problem
- division, Problem
- DPDT (Double Pole Single Throw) switches, Discussion
- DS1307 chip, Solution
- DS18B20 digital temperature sensor, Problem, Problem
- DVI monitor connectors, Problem
- Dweet, Problem
- dynamic overclocking, Problem
E
- echo command, Solution
- editing
- EEPROM chips, Solution
- electronic component suppliers, list of, Parts
- Electronics Starter Kit, Solution
- elements
- else clause, Discussion
- email messages, Problem, Problem
- enumerate command, Problem
- equal to (==) operator, Solution
- error messages, Problem
- escape characters, Discussion
- events, scheduling, Discussion, Problem, Solution
- exception handling, Problem
- execute permissions, Discussion
- Explorer HAT Pro, Problem
- extend function, Problem
- external electronics, connection of (see GPIO connectors)
F
- face detection, Problem
- fart detecting projects, Discussion
- File Manager, moving files with, Problem
- file permissions
- files
- changing ownership of, Problem
- combining, Problem
- copying using Terminal, Problem
- creating from command line, Problem
- creating one-line files, Problem
- deleting with Terminal, Problem
- displaying hidden files, Discussion
- editing from command line, Problem
- fetching from command line, Problem
- file modes, Discussion
- listing using wildcard character, Discussion
- locating, Problem
- moving using graphical interface, Problem
- navigating filesystem with Terminal, Problem
- preventing accidental deletion of, See Also
- reading from, Problem
- renaming using Terminal, Problem
- saving data structures to, Problem
- sharing with Mac OS, Problem
- uncompressing, Problem
- viewing contents of, Problem
- writing to, Problem
- finally clause, Discussion
- find command (Linux), Solution
- find function (Python), Problem
- findCircle function, Solution
- Firmata sketch, Solution
- float function, Problem
- floating input, Discussion
- FM radio transmitter, Problem
- folders
- for command, Problem, Problem, Problem
- for loops, exiting, Problem
- formatting strings, Problem
- Freetronics LCD shield, Discussion
- full_name method, Solution
- functions
G
- game console emulators, Problem
- gas sensors, Problem
- gearmotors, Option 2: Motor controller module
- GIMP (GNU Image Manipulation Program), Solution
- Git code management system, Problem
- Gnumeric spreadsheet software, Solution
- GPIO (general-purpose input/output) connectors
- breadboard connection, Problem
- controlling hardware with (see hardware control)
- controlling using Web interfaces, Problem
- digital inputs for, Introduction-See Also
- Explorer HAT Pro, Problem
- HAT (Hardware At Top), Problem
- I2C device setup, Problem
- I2C tools, Problem
- interface for turning on/off, Solution
- Pi Compute Module, Problem
- Pi Plate prototyping boards, Problem
- Pi Zero, Problem
- pinouts by model, Solution, Raspberry Pi 3/2 model B, B+, A+, Zero
- power supply, Problem
- Raspberry Squid button, Problem
- Raspberry Squid LED, Problem
- RaspiRobot boards, Problem
- reducing risk of damage, Problem, Problem, Problem
- Sense HAT interface board, Problem
- serial port access using Python, Problem
- serial port testing, Problem
- signal conversion, Problem
- SPI setup, Problem
- using Python with, Solution
- GPIO.cleanup method, Solution
- GPS (global positioning system) module, Problem
- greater than (>) operator, Solution
- grep command, Problem
- gunzip command, Solution
- gyroscopes, Problem
H
- H-Bridge chips/modules, Solution, Solution
- Haar-like feature detection, Solution
- hardware basics
- breadboards, Problem-See Also
- converting 5V signals, Problem-See Also
- Explorer HAT Pro, Problem
- GPIO connectors, Problem-See Also
- I2C setup and use, Problem-See Also
- Minicom installation, Problem
- Perma-Proto Pi HAT, Problem
- Pi Compute Module, Problem
- Pi Plate Prototyping boards, Problem
- Pi Zero, Problem
- power supplies, Problem-See Also
- PySerial installation, Problem
- Raspberry Squid, Problem-See Also
- RaspPiRobot boards, Problem
- Sense HAT setup, Problem
- SPI (Serial Peripheral Interface) setup, Problem
- hardware control (see also motors)
- hashing functions, Discussion
- HAT (Hardware At Top)
- Adafruit Servo Motor HAT, Solution
- alphanumeric LCD HATs, Problem
- Capacitative Touch HAT, Problem
- Displayotron Pimoroni HAT, Solution
- Explorer HAT Pro, Problem
- for stepper motors, Problem
- Perma-Proto Pi HAT, Problem
- Sense HAT, Problem, Solution
- Unicorn HAT, See Also
- HC-SR04 rangefinders, Discussion
- HD44780-compatible LCD modules, Solution
- HDMI monitor connectors, Problem
- headless configurations, Solution
- heatsinks, Discussion
- history command, Problem
- HTML (HyperText Markup Language), Discussion
- HTTP requests, Problem
- humidity measurement, Problem
I
- I2C devices
- i2cDetect diagnostic tool, Discussion
- Iceweasel web browser, Solution
- IDLE Python development tool, Problem
- if command, Problem, Problem
- IFTTT (If This Then That) Maker channel, Problem, Problem
- images (see also computer vision; displays)
- import command, Problem
- IndentationError: unexpected indent, Discussion
- Inertial Management Unit (IMU), Problem
- inheritance, Problem
- init.d folder, Solution
- initializer method, Discussion
- input, prompting for, Problem
- (see also digital inputs)
- insert function, Problem
- instructions, repeating, Problem
- insufficient privileges, Problem
- int function, Problem
- interface boards, Problem-See Also, Introduction, Problem
- Internet
- Internet of Things (IoT)
- Internet radio, Problem
- Interrupt Service Routines (ISRs), Problem
- Invalid argument messages, Discussion
- IP address
- Iterators, Discussion
L
- L293D chip, Solution, Solution
- LCD shields, Solution
- LCDs
- LEDs
- 4-digit LED displays, Problem
- addressable RGB LED strips, Problem
- Cheerlights project participation, Problem
- connection of, Problem
- controlling brightness of, Problem
- controlling color of, Problem
- controlling high-power, Problem
- leaving GPIO pins in safe state, Problem
- LED matrix displays, Problem
- OLED (Organic LED) displays, Problem
- Raspberry Squid LED, Problem
- Sense Hat LED matrix display, Problem
- sliding power control, Problem
- using multiple, Problem
- led_state variable, Discussion
- len function, Problem, Problem
- less than (<) operator, Solution
- level converter modules, Problem, Solution
- libraries
- bottle library, Solution
- GPIO connectors, Solution
- HTTP requests, Solution
- importing, Problem
- mcpi library, Problem
- PyFirmata library, Problem
- Pygame library, Solution
- PySerial library, Solution
- random library, Problem
- RPi.GPIO library, Solution
- RRB3 library, Discussion
- SMTP, Problem
- Squid library, Solution
- termios library, Solution
- thread library, Solution
- time library, Problem
- web servers, Problem
- light intensity, measuring, Problem
- lightweight processes, Discussion
- Linux OS
- LiPo (lithium polymer) batteries, Problem
- lists
- accessing elements of, Problem
- adding elements to, Problem
- applying functions to, Problem
- creating, Problem
- creating from strings, Problem
- creating sublists, Problem
- determining length of, Problem
- enumeration of, Problem
- iterating over, Problem
- removing elements from, Problem
- saving complex data structures, Problem
- sorting, Problem
- local echo, Solution
- logical operators, Problem
- logout button, Problem
- lookup tables, Problem
- loops, exiting, Problem
- low-power mode, Discussion
- lower function, Problem
- lowercase, Problem
- ls command (list), Discussion, Solution
- lsusb command, Problem
- LX Terminal (see Terminal)
M
- Mac OS
- Magician Chassis, Solution
- magnetic north, finding, Problem
- magnetometers, Problem
- magnets, detecting, Problem-See Also
- Maker Channels, Problem
- MCP3008 ADC chips, Solution, Problem
- mcpi library, Problem
- media center, setup for, Problem, Problem
- methane gas sensors, Problem
- methods, defining, Problem
- mice
- microcontroller boards, Introduction
- (see also Arduino boards)
- Minecraft Pi edition, Problem, Problem
- Minecraft servers, Problem
- minicom, installing, Solution
- mkdir command, Solution
- modules
- alphanumeric LCD modules, ProblemĀ
- camera module configuration, Solution
- camera module installation, Problem
- camera module used for computer vision, Problem
- GPS module, Problem
- H-Bridge, Solution, Solution
- HD44780-compatible LCD modules, Solution
- I2C setup, Problem
- level converter modules, Solution
- list of suppliers, Modules
- Pi Compute, Problem
- PIR (Passive InfraRed) motion detector, Problem
- RTC (Real Time Clock), Problem
- using Python, Problem
- monitors (see also displays)
- more command, Solution
- MOSFET (Metal Oxide Semiconductor Field Effect Transistor), Solution
- motion software, Problem
- motors
- mouse movements, interpreting, Problem
- movement detection, Problem, Problem
- multiple inheritance, See Also
- multiplication, Problem
- multithreading, Problem
- mv (move) command, Solution
N
- naming/renaming
- nano editor, Discussion
- natural gas detectors, Discussion
- Neopixels, Problem
- netmask settings, Solution
- Network Attached Storage (NAS), Problem
- network connection/control
- console cable connection, Problem
- file sharing with Mac OS, Problem
- IP address discovery, Problem
- network attached storage, Problem
- printing through, Problem
- RDP remote control, Problem
- screen sharing with Mac OS, Problem
- setting network name, Problem
- setting static IP address, Problem
- SSH remote control, Problem
- VNC remote control, Problem
- wired connection, Problem
- wireless connection, Problem
- network name, setting, Problem
- new_switch_position variable, Discussion
- NOOBS (New Out of the Box Software)
- not equal to (!=) operator, Solution
- not equal to (<>) operator, Discussion
- not operator, Problem
- numbers
- numeric keypads, Problem
O
- object class, Problem
- objects
- counting with computer vision, Problem
- detecting motion with computer vision, Problem
- office applications, installing, Problem
- old_input_state variable, Discussion
- OLED (Organic LED) displays, Problem
- one-line files, Problem
- Open Arena, Problem
- open function, Solution
- OpenCV computer vision, Discussion
- OpenELEC , Solution
- operating system
- optical character recognition, Problem
- opto-isolator component, Discussion, Opto-Electronics
- or operator, Problem
- orientation information, Problem
- output, displaying, Problem
- (see also displays; monitors)
- overclocking, Problem
- overscan, changing settings for, Solution
P
- parameters, defining, Discussion
- parts and suppliers, Parts
- passwords, changing, Problem
- performance
- Perma-Proto Pi HAT, Problem
- photo-TRIAC switch, Discussion
- photoresistors, Problem, Solution
- photos, Solution
- Pi 2 B, Solution
- Pi Cobbler, Problem
- Pi Compute module, Problem
- Pi Plate prototyping boards, Problem
- Pi Store, Problem
- Pi Zero, Solution, Problem
- Pi-View converters, Discussion
- PiBow CoupƩ , Solution
- picamera module, Discussion
- pickling feature, Problem
- picture size, adjusting, Problem
- piezo-electric buzzers, Solution
- pip package manager, Problem
- pipe command (|), Problem
- PIR (Passive InfraRed) motion detector, Problem
- polling, Discussion, Problem
- pop command, Problem, Problem
- port forwarding, Discussion
- potential dividers, Discussion
- power supply
- PowerSwitch Tail II, Solution
- print command, Solution
- printing, Problem
- privileges, superuser, Problem
- Pro Mini boards, Solution
- programs
- prototyping boards, Solution-See Also, Prototyping Equipment
- pseudorandom number sequences, Discussion
- pull-up/pull-down resistors, Discussion, Problem
- pulse width modulation (PWM), Problem, Problem, Solution, Problem
- push switches
- Putty terminal software, Solution
- pwd (print working directory), Solution
- PyFirmata library, Problem
- Pygame library, Solution
- PySerial library, Solution
- Python
- actions, delaying, Problem
- arithmetic operators in, Problem
- characters, changing case in, Problem
- classes
- command-line arguments in, Problem
- commands
- conditions, specifying complex, Problem
- dates/times, formatting, Problem
- development tools, Problem
- dictionaries and, Problem-See Also
- exception handling, Problem
- files
- functions, defining, Problem
- GPIO connectors and, Solution
- instructions, repeating, Problem
- Internet programming with, Problem-Discussion
- LEDs, controlling brightness with, Problem
- libraries, installing, Problem
- lists and, Introduction-See Also
- loops, breaking out of, Problem
- methods, defining, Problem
- Minecraft Pi and, Problem
- modules, using, Problem
- multitasking in, Problem
- numbers
- programs, running from Terminal, Problem
- serial port access, Problem
- strings
- Terminal, running programs from, Problem
- Tkinter user interface framework, Problem, Problem
- user input, reading, Problem
- values
- variables, displaying values of, Problem
- version selection, Problem
R
- radio transmitters, Problem
- random numbers, generating, Problem
- range command, Discussion
- rangefinders, Problem
- Raspberry Pi
- connecting the system, Problem
- controlling Arduino boards from, Problem
- controlling hardware with, Introduction-See Also
- controlling motors with, Introduction-See Also
- digital inputs for, Introduction-See Also
- displays for, Introduction-See Also
- hardware basics, Problem-See Also
- network connection and control of, Introduction-See Also
- operating system functions, Introduction-See Also
- pinouts by model, Solution, Raspberry Pi 3/2 model B, B+, A+, Zero
- programming an Arduino from, Problem
- ready-made software for, Introduction-See Also
- recommended model, Preface to the Second Edition, Problem
- sensors for, Introduction-See Also
- setting date and time on, Problem
- setup and management, Introduction-See Also
- shutting down, Problem
- vs. Arduino boards, Introduction
- Raspberry Squid, Problem-See Also, Problem, Problem
- Raspbian operating system
- raspi-config tool
- RaspiRobot boards, Problem, Problem
- raw_input command, Solution
- RDP (Remote Desktop Protocol), Problem
- read function, Solution
- read-only files, editing, Discussion
- readline method, Discussion
- rebooting, Problem
- reed switches, Problem
- relays, switching high-power devices with, Problem
- remote control
- replace function, Problem
- resistive sensors, using with ADC, Problem
- resistors
- resolution, adjusting, Problem
- RGB LED strips, Problem
- rm (remove) command, Problem
- robot rover
- rotary (quadrature) encoder, Problem
- RPi.GPIO library, Discussion, Solution
- RRB3 library, Discussion
- RTC (Real Time Clock) module, Problem
S
- Safari Books Online, SafariĀ® Books Online
- Samba, installation/configuration of, Problem
- screen captures, Problem
- screen sharing, Problem
- scripts
- scrot screen capture software, Problem
- SD cards
- searching, with find command, Solution
- Secure Shell (SSH), setup of, Problem
- security issues
- Sense HAT
- sensors
- accelerometers, Solution, Problem
- analog voltage, Problem
- atmospheric pressure, Solution, Problem
- capacitative touch, Problem
- displaying sensor values, Problem, Problem
- distance, Problem
- gyroscopes, Solution
- logging data from, Problem
- magnetic north, finding, Problem
- magnetometer, Solution
- magnets, Problem-See Also
- methane gas, Problem
- orientation information, Problem
- photoresistors, Problem, Solution
- reducing voltage for measurement, Problem
- relative humidity, Solution, Problem
- sending sensor data to ThingSpeak, Problem
- temperature, Solution, Problem, Problem, Problem
- thermistors, Problem
- using resistive sensors, Problem-See Also
- using resistive sensors with ADC, Problem
- serial communication, installing minicom for, Solution
- serial console, See Also
- serial monitor, Problem
- serial port
- servo motors
- controlling, Problem, Problem
- controlling many, Problem
- controlling precisely, Problem
- HAT (Hardware At Top) for, Solution
- position of, Discussion
- power supply, Solution, Solution, Solution, Discussion
- ServoBlaster device driver software , Solution-See Also
- set a value (=) operator, Discussion
- setup/management
- Bluetooth wireless accessories, Problem
- camera module installation, Problem
- cases, Problem
- changing boot behavior, Problem
- maximizing performance, Problem
- monitor connection, Problem
- monitor picture size adjustment, Problem
- operating system selection, Problem
- passwords, Problem
- power supply, Problem
- shut down, Problem
- system connection, Problem
- writing to SD cards, Problem
- shebang character (#!), Discussion
- shut down, Problem
- signal conversion, Problem
- SimpleCV computer vision, Problem
- (see also computer vision (CV))
- sketches, Solution
- sleep function, Problem
- slide switches, Problem
- SMTP (Simple Mail Transfer Protocol), Problem
- SODIMM memory, Solution
- software
- FM radio transmitter, Problem
- from the Pi Store, Problem
- image editing software, Solution
- installing with apt-get, Problem, Solution
- Internet radio, Problem
- media center, Problem
- Minecraft Pi edition, Problem
- Minecraft servers, Problem
- motion software, Problem
- office software, Problem
- Open Arena, Problem
- removing with apt-get, Problem
- vintage game console emulator, Problem
- web browsers, Problem
- sort command, Problem
- sounds, creating buzzing sound, Problem
- source code, fetching with git, Problem
- Sparkfun motor controllers, Solution, Option 2: Motor controller module
- SPDT (Single Pole Double Throw) switches, Discussion
- special characters, Discussion
- special value .. (two dots), Discussion
- SPI (Serial Peripheral Bus) devices, setup of, Problem
- split function, Problem
- spreadsheet applications, installing, Problem
- Squid Buttons, Problem, Problem, Solution
- SR-04 rangefinders, Problem
- SSD1306 driver chips, Problem
- Steinhart-Hart equation, Discussion
- Stella console emulator, Solution
- step response technique, DiscussionĀ
- stepper motors
- storage
- str function, Problem
- strings
- applying formatting strings, Problem
- changing case of, Problem
- converting numbers to, Problem
- converting to numbers, Problem
- creating, Problem
- creating lists from, Problem
- determining length of, Problem
- extracting part of, Problem
- joining, Problem
- locating position of, Problem
- replacing characters in, Problem
- subtraction, Problem
- sudo (superuser do) command, Problem
- superfluous output, hiding, Problem
- superuser privileges, Problem
- suppliers and parts, Parts
- switches
- sys.stdin.read function, Solution
- system command, Problem
- System on a Chip (SoC), Solution
T
- tar command, Solution
- Task Manager utility, Solution
- temperature measurement, Problem, Problem, Problem, Problem, Problem
- Terminal
- terminal software, Solution
- termios library, Solution
- tesseract OCR (Optical Character Recognition), Problem
- text
- adjusting for off-screen display of, Problem
- improving readability of, Problem
- text editors
- thermistors, Problem
- ThingSpeak service, Problem, Problem
- threading, Solution
- tightvnc, Solution
- time.sleep command, Solution
- times, formatting, Problem
- Tkinter user interface framework, Problem, Problem
- TMP36 temperature sensor, Problem
- toggle switches, Discussion
- tools and components, list of suppliers, Parts
- top command, Discussion
- touch interfaces, Problem
- transistors
- try/except construction, Discussion
- try: finally: construction, Solution
- tuples, Solution
- tweets
- typographical conventions, Conventions Used in This Book
U
- ULN2803 Darlington chips, Solution
- ultrasonic rangefinders, Problem
- Unicorn HAT, See Also
- unpickling, Solution
- unzipping files, Problem
- Uplink RJ45 socket, Discussion
- upper function, Problem
- uppercase, Problem
- USB devices
- user input, prompting, Problem
- user interfaces, Problem-See Also, Problem
V
- values
- variable resistors, Problem
- variables
- VGA monitor connectors, Problem
- video images, Solution
- viewing (see displaying)
- vim editor, See Also
- vintage game console emulator, Problem
- VLC media player, Problem
- VNC (Virtual Network Connection), Problem
- volt meters, connection of, Problem
- voltage dividers, Discussion
- voltage sensors, Problem
- voltage, reducing for measurement, Problem
W
- web browsers, installing, Problem
- web interfaces, creating, Solution
- web requests, Problem
- web servers, creating simple, Problem
- webcams, setup for, Problem, Problem
- wget command, Solution
- while statement, Solution
- WiFi configuration, Problem
- WiFi dongles, Solution, Discussion
- wildcard (*) character
- Windows OS
- word processors, installing, Problem
- write function, Solution
- WS2812 RGB LED chips, Solution