Index
A
- Acorn RISC Machine (ARM)
- about / Back to basics
- reference link / Registers, If else statements
- addresses
- about / Memory and addresses, The addresses
- Amixer
- reference link / Configuring the audio output
- Apache
- application
- compiling / Compiling and running our application, Compile and run
- running / Compiling and running our application, Compile and run
- apt-get
- about / Installing Screen and Vim
- reference link / Installing Screen and Vim
- Arduino
- reference link / Genuino/Arduino microcontroller
- website link / Genuino/Arduino microcontroller, Setting up the Arduino software, Communication over I2C
- integrating with / Integration with Arduino
- serial communication, over USB / Serial communication over USB
- and Raspberry Pi communication, via GPIO / Communication between the Arduino and Raspberry Pi via GPIO
- communication over I2C / Communication over I2C
- communication over Web / Communication over the Web
- Arduino IDE
- about / A quick guide to the Arduino IDE
- Arduino shields
- reference link / Cooking Hacks Arduino bridge shield
- Arduino software
- setting up / Setting up the Arduino software
- reference link / Setting up the Arduino software
- ARM architecture reference manual
- download link / CPU
- ARM instruction set
- reference link / The assembler
- ARM v7 architecture
- reference link / Assembly language
- assembler
- about / The assembler
- assembling
- about / Assembling and linking
- assembly language
- about / Assembly language
- audio interactions, through GPIO
- about / Interacting with audio through GPIO
- audio drivers, installing / Installing the audio drivers
- hardware setup / Hardware setup
- drivers, loading / Loading drivers
- drum tracks, obtaining / Getting some drum tracks
- Python drum machine / Python drum machine
- reference link / Python drum machine
- audio shields, for Raspberry Pi / Audio shields for the Raspberry Pi
- audio output, Raspberry Pi
- reference link / Audio
- audio setup
- reference link / Setting the audio output
- available web servers
- about / Popular web servers available on the Raspberry Pi
- Apache / Apache
- NGINX / NGINX
B
- .balign directive
- about / The .balign directive
- reference link / The .balign directive
- basic website
- about / A basic website
- baud rate / Serial communication over USB
- BCM
- about / Standard GPIO
- reference link / Python blinking LED program
- board pin modes
- reference link / Python blinking LED program
- booting up / Booting up
- Bourne Again Shell (bash)
- about / Installing Screen and Vim
- reference link / Installing Screen and Vim
- branching
- about / Branching
- Bresenham's line algorithm
- reference links / Plotting pixels and drawing lines
C
- C
- about / The C and C++ languages, C – a brief introduction
- example / An example in C
- and Linux Sound Architecture (ALSA) / C and ALSA
- C++
- C++ code
- about / A C++ equivalent
- URL / A C++ equivalent
- g++ command / The g++ command
- C++ compiler
- about / The C (and C++) compiler
- C, versus C++
- reference link / A quick look at C++
- C compiler
- about / The C (and C++) compiler
- chmod
- reference link / Running a Python program from a file
- circuit
- setting up, for LED / Building the circuit – a recap
- integrating, with Python app / Integrating with our Python app
- Cirrus device
- reference link / Audio shields for the Raspberry Pi
- C libraries
- comment blocks
- about / Multiline comments
- conditional variables
- about / Synchronization
- reference link / Synchronization
- config.txt
- reference link / Booting up
- control structures
- about / Adding power to our program – control structures
- if else statements / If else statements
- iteration / Iteration
- testing / Testing our control structures
- Cooking Hacks Arduino bridge shield
- reference link / Cooking Hacks Arduino bridge shield
- C program
- about / Our first C program
- creating / Creating a new C program
- writing, for turning screen red / A C program to turn the screen red
- compiling / Compile and run the C program
- running / Compile and run the C program
- CPU registers
- reference link / Assembly language
- cryptographic theory
- reference link / RSA key generation for SSH
- C standard library
- reference link / Compiling and running our application
D
- .data directive
- about / The .data directive
- .balign directive / The .balign directive
- word / Words
- labels / Labels
- database support
- adding / Adding database support
- SQLite / SQLite
- SQL / SQL – a quick overview
- Python program, with SQLite support / Python program with SQLite support
- Flask / Flask – displaying database data via Python
- data, entering / Next steps
- default gateway
- diagnostic tests
- about / Diagnostic tests
- digital touch screen, Raspberry Pi Foundation
- reference link / Replace the LED with a screen
- directive
- about / Assembly language, Directives
- benefits / Directives
- docstring / Python drum machine
- drum MP3 samples
- reference link / Getting some drum tracks
E
- Element 14
- reference link / Preinstalled microSD card versus creating your own
- eLinux Raspberry Pi troubleshooting page
- reference link / Troubleshooting
- eLinux website, peripherals guide
- reference link / Basic hardware needed
- email
- implementing, via Python / E-mail support
- email support functionality
- reference link / E-mail support
- Ethernet to USB adapters
- reference link / Ethernet port
- example servo projects
- reference link / PWM and PPM
- Extensible Markup Language (XML) / Introduction to web servers
- external HDD
- setting up / Setting up the external HDD, Setting up the HDD
- disk name, obtaining / Getting the disk name
- cmdline.txt, modifying / Modifying cmdline.txt
F
- favicon
- adding, to Python web server / Adding an index page and a favicon
- reference link / Adding an index page and a favicon
- fb.h library
- reference link / Check the display settings
- fibers / User level threads
- file
- Python program, running from / Running a Python program from a file
- File Allocation Table (FAT)
- file descriptor
- reference link / Check the display settings
- filesystem
- reference link / Setting up the HDD
- Flask
- about / Flask – displaying database data via Python
- reference link / Flask – displaying database data via Python, Next steps
- Flask-based website
- building / Building a Flask-based website
- database, adding / Adding a database
- Flask documentation site
- reference link / Building a Flask-based website
- for loop
- reference link / Iteration
- frame buffer
- accessing / Accessing the frame buffer
- display settings, checking / Check the display settings
- C code, testing / Testing our C code
G
- g++ command / The g++ command
- GCC compiler
- reference link / The C (and C++) compiler, The linker
- Geany
- Genuino/Arduino microcontroller / Genuino/Arduino microcontroller
- reference link / Genuino/Arduino microcontroller
- Git
- reference link / C blinking LED program
- GNU assembler man page
- reference link / The assembler
- GPIO
- audio interactions / Interacting with audio through GPIO
- GPIO pins
- about / GPIO pins, Introduction to GPIO pins
- testing / Going further – testing the GPIO pins
- reference link / Introduction to GPIO pins, PWM and PPM
- standard GPIO / Standard GPIO
- I2C / I2C
- Tx / Serial Rx and Tx
- Rx / Serial Rx and Tx
- Serial Peripheral Interface(SPI) / SPI
- Pulse Width Modulation (PWM) / PWM and PPM
- PPM / PWM and PPM
- Pulse Position Modulation (PPM) / PWM and PPM
- power voltages / GPIO power voltages
- direct connection / Connecting directly to the GPIO pins
- data, reading / Reading data from the GPIO pins in Python
- GPIO power voltages / GPIO power voltages
- graphics processing unit (GPU) documentation, Broadcom
- reference link / GPU
H
- H.264/MPEG-4 AVC
- reference link / Sample programs
- hardware options
- about / Hardware choices
- shields, prototyping / Prototyping shields and boards
- boards, prototyping / Prototyping shields and boards
- Cooking Hacks Arduino bridge shield / Cooking Hacks Arduino bridge shield
- hardware specifications, Raspberry Pi / Raspberry Pi hardware specifications
- HiFiBerri
- reference link / Audio shields for the Raspberry Pi
- Humble Pi
- reference link / Prototyping shields and boards
- hybrid threads
- reference links / Hybrid threads
- Hyper Text Markup Language (HTML)
- about / HTML
- document styling, reference link / HTML
- reference link / HTML, Adding an index page and a favicon
- Hypertext Transfer Protocol (HTTP)
- about / HTTP requests
- reference link / HTTP requests
I
- I2C
- about / I2C
- reference link / I2C
- in Python applications, reference link / I2C
- real time clock, reference link / I2C
- used, for communication between Arduino and Raspberry Pi / Communication over I2C
- I2C Bus
- reference link / Communication over I2C
- IEEE standards association
- URL / POSIX threads
- if else statements
- about / If else statements
- index page
- adding, to Python web server / Adding an index page and a favicon
- input/output control(ioctl) / Accessing the frame buffer
- Integrated Development Environment (IDE)
- about / Setting up the Arduino software
- installing, on Raspberry Pi 2 / Installing the IDE on your Raspberry Pi 2
- Integrated DeveLopment Environment (IDLE) / A simple Python program
- Inter-IC Sound (I2S) / Audio
- about / Introduction to the Raspberry Pi's sound
- specification, reference link / Introduction to the Raspberry Pi's sound
- interpreted languages
- reference link / The Python language
- iteration
- about / Iteration
J
- JavaScript Object Notation (JSON) / Introduction to web servers
- Jinja
- reference link / A basic website
- JOIN
- reference link / SQL – a quick overview
- joins
- about / Synchronization, Going further – mutexes and joins
- reference link / Synchronization
- compiling / Compile and test
- testing / Compile and test
K
- kernel level threads / Kernel level threads
L
- LDR command
- about / LDR and SUB
- LED
- switching on / Switching an LED on and off
- switching off / Switching an LED on and off
- hardware, setting up / Setting up the hardware
- C blinking program / C blinking LED program
- Python blinking program / Python blinking LED program
- adding / Adding in an LED
- circuit, setting up for / Building the circuit – a recap
- replacing, with screen / Replace the LED with a screen
- lines
- drawing / Drawing a line, Plotting pixels and drawing lines
- linker
- about / The linker
- Linker
- about / Assembly language
- linking
- about / Assembling and linking
- Linux
- connecting, to Network-attached storage(NAS) / Linux
- Linux commands
- about / Some handy Linux commands
- cd command / Some handy Linux commands
- touch command / Some handy Linux commands
- cp command / Some handy Linux commands
- mv command / Some handy Linux commands
- rm command / Some handy Linux commands
- reference link / Some handy Linux commands
- Linux RSA key generation / Linux and Mac RSA key generation
- Linux Sound Architecture (ALSA)
- and C / C and ALSA
- reference link / C and ALSA
- examples / ALSA examples
- examples, reference links / ALSA examples
- loadable kernel modules (LKM) / Loading drivers
- looping
- about / If else statements
M
- Mac
- connecting, to Network-attached storage(NAS) / Mac
- Mac RSA key generation / Linux and Mac RSA key generation
- make application
- Make command
- reference link / Makefiles
- Makefile
- about / Makefiles
- makefiles
- master / Communication over I2C
- memory
- about / Memory and addresses, The memory
- Message Passing Interface (MPI) / What are threads?
- microSD card
- mmap function
- reference link / A C program to turn the screen red
- multiline comments
- about / Multiline comments
- munmap function
- reference link / A C program to turn the screen red
- mutex
- reference link / Creation and termination, Synchronization
- about / Synchronization, Going further – mutexes and joins
- testing / Compile and test
- compiling / Compile and test
N
- Network-attached storage (NAS)
- about / Network-attached storage (NAS)
- Samba, installing / Installing Samba
- testing / Testing the NAS
- Mac, connecting to / Mac
- Linux, connecting to / Linux
- Windows, connecting to / Windows
- New Out Of the Box Software(NOOBS) / The microSD card – the main storage and boot device of the Raspberry Pi 2
- NGINX
- NOOBS
- references / The NOOBS operating system installation manager
- NOOBS operating system installation manager
- numbering format
- reference link / Standard GPIO
O
- opcode
- about / Assembly language
- OpenGL-based programs
- reference link / Next steps – polygons
- OpenGL ES
- reference link / Sample programs
- OpenMax
- reference link / Sample programs
- operand
- about / Assembly language
- OS
- tests, running on / Running tests on the OS and configuration changes
- overclocking
- reference link / Over and underclocking the Raspberry Pi
P
- packets
- about / Python web server code
- reference link / Python web server code
- Pageant
- download link / Windows RSA key generation
- Pentatonic Beeps / Experimenting with Sonic Pi
- physical pin listings
- reference link / Standard GPIO
- pigpio library
- download link / Going further – testing the GPIO pins
- references / Going further – testing the GPIO pins
- pin layout cheat sheet
- reference link / Communication between the Arduino and Raspberry Pi via GPIO
- Pinout project
- reference link / GPIO pins
- pip
- reference link / Flask – displaying database data via Python
- piscope
- reference link / Going further – testing the GPIO pins
- pixels
- plotting / Plotting pixels and drawing lines
- plate
- reference link / Prototyping shields and boards
- polygon mesh
- reference link / Next steps – polygons
- polygons
- creating / Next steps – polygons
- POSIX threads
- about / POSIX threads
- functions / POSIX threads
- attributes, URL / An example in C
- preinstalled microSD card
- program
- running / Running our program
- programming languages
- need for / Which programming languages?
- project
- extending / Extending the project further
- Pulse Code Modulation (PCM)
- about / C and ALSA
- reference link / C and ALSA
- Pulse Position Modulation (PPM)
- about / PWM and PPM
- reference link / PWM and PPM
- Pulse Width Modulation (PWM)
- about / PWM and PPM
- reference links / PWM and PPM
- PuTTY
- download link / Windows RSA key generation
- PuTTYgen
- download link / Windows RSA key generation
- PySerial
- about / Integration with Arduino
- website link / Integration with Arduino
- Python
- about / The Python language
- references / The Python language
- data, reading from GPIO pins / Reading data from the GPIO pins in Python
- database data, displaying via / Flask – displaying database data via Python
- Python app
- circuit, integrating with / Integrating with our Python app
- Python program
- about / A simple Python program
- running, from file / Running a Python program from a file
- Python quick reaction game
- reference link / Reading data from the GPIO pins in Python
- Python runtime services
- reference link / Running a Python program from a file
- Python web server
- building / Building a Python web server
- code / Python web server code
- index page, adding / Adding an index page and a favicon
- favicon, adding / Adding an index page and a favicon
R
- Raspberry Pi
- background / History and background of the Raspberry Pi
- history / History and background of the Raspberry Pi
- hardware specifications / Raspberry Pi hardware specifications
- dimensions / Dimensions
- System on Chip (SoC)architecture / System on Chip
- central processing unit / CPU
- graphics processing unit (GPU) / GPU
- SDRAM / SDRAM
- USB 2.0 ports / 4 USB 2.0 ports and 1 SoC on-board USB
- SoC on-board USB / 4 USB 2.0 ports and 1 SoC on-board USB
- microSD card port / MicroSD card port
- Ethernet port / Ethernet port
- audio / Audio
- GPIO pins / GPIO pins
- video - analog TV out / Video – analog TV out
- video - HDMI port / Video – HDMI port
- hardware requisites / Basic hardware needed
- reference link / Downloading the latest version of Raspbian
- underclocking / Over and underclocking the Raspberry Pi
- overclocking / Over and underclocking the Raspberry Pi
- reference link, for forums / Troubleshooting
- sound / Introduction to the Raspberry Pi's sound
- audio shields / Audio shields for the Raspberry Pi
- web servers available / Popular web servers available on the Raspberry Pi
- and Arduino communication, via GPIO / Communication between the Arduino and Raspberry Pi via GPIO
- Raspberry Pi 2
- static IP, assigning to / Assign a static IP to your Raspberry Pi 2
- setting up / Installing the IDE on your Raspberry Pi 2
- Raspberry Pi 2, versus Raspberry Pi B+
- reference link / Raspberry Pi hardware specifications
- Raspberry Pi firmware
- reference link / Booting up
- Raspberry Pi section, of Stack Exchange
- reference link / Troubleshooting
- Raspberry Pi website, guide to microSD card
- Raspbian
- latest version, downloading of / Downloading the latest version of Raspbian
- Raspbian operating system
- installing / Setting up your microSD card and installing the Raspbian operating system
- installation, wrapping up / Raspbian installation wrap-up
- Read Only Memory (ROM) / Booting up
- Reduced Instruction Set Computing
- about / Back to basics
- reference link / Back to basics
- registers
- about / Registers
- Relational Database Management System (RDBMS)
- about / SQL – a quick overview
- request methods
- reference link / HTTP requests
- RKPT Lucia
- reference link / Prototyping shields and boards
- rpi-update
- reference link / Booting up
- RPi Software
- reference link / Booting up
- RSA key generation, for SSH
- about / RSA key generation for SSH
- RSA keys
- reference link / RSA key generation for SSH
- Rx pin / Serial Rx and Tx
S
- Samba
- about / Network-attached storage (NAS)
- URL / Network-attached storage (NAS)
- installing / Installing Samba
- reference link / Linux
- Screen
- about / Installing Screen and Vim
- installing / Installing Screen and Vim
- references / Installing Screen and Vim
- screen
- filling, with color / Filling the screen with a color
- LED, replacing with / Replace the LED with a screen
- SD card, formatting for Linux
- SD card, formatting for Mac OS X
- SD card, formatting for Windows
- Secure Shell(SSH)
- about / Check SSH is running
- serial communication
- about / Serial Rx and Tx
- reference link / Serial Rx and Tx
- Serial Peripheral Interface(SPI)
- servomechanisms (servos) / PWM and PPM
- short-term scheduler / What are threads?
- single line comments
- about / Single line comments
- slave / Communication over I2C
- Sonic Pi
- about / Introducing Sonic Pi
- reference link / Introducing Sonic Pi
- example, reference link / Introducing Sonic Pi
- setup / Setup
- experimenting with / Experimenting with Sonic Pi
- sound
- playing / Playing a sound
- sound, Raspberry Pi
- about / Introduction to the Raspberry Pi's sound
- audio output, configuring / Configuring the audio output
- audio output, setting / Setting the audio output
- Sparkfun
- SQLite
- about / SQLite
- reference link / SQL – a quick overview
- Python program, using with / Python program with SQLite support
- standard GPIO / Standard GPIO
- static IP
- assigning, to Raspberry Pi 2 / Assign a static IP to your Raspberry Pi 2
- storage mechanism
- selecting / Choose your storage mechanism
- Structured Query Language (SQL)
- about / SQL – a quick overview
- styling guide, CSS
- reference link / Edit
- SUB command
- about / LDR and SUB
- subnet mask
- sudo command
- reference link / Raspbian installation wrap-up
- sys/mman.h file
- reference link / A C program to turn the screen red
- system level header files
- reference link / C libraries – a trove of reusable code
- System on Chip (SoC) / System on Chip
T
- tests
- running, on OS / Running tests on the OS and configuration changes
- threads
- about / What are threads?
- types / Thread types
- implementing, steps / Steps involved in implementing threads
- in C, example / An example in C
- program, testing / Trying out our program
- reference link / Compile and test
- threads, implementing
- steps / Steps involved in implementing threads
- creation step / Creation and termination
- termination step / Creation and termination
- creation, reference link / Creation and termination
- synchronization step / Synchronization
- scheduling step / Scheduling
- threads, types
- user level threads / User level threads
- kernel level threads / Kernel level threads
- hybrid threads / Hybrid threads
- thread termination process
- reference link / A C++ equivalent
- tools
- reference link / I2C
- troubleshooting
- about / Troubleshooting
- Tx pin / Serial Rx and Tx
U
- Uniform Resource Locator (URL)
- example, reference link / HTTP requests
- up-to-date overview, of Raspbian installation procedure
- USB
- serial communication over / Serial communication over USB
- user level threads / User level threads
V
- vcgencmd
- reference link / Diagnostic tests
- VideoCore IV GPU
- about / VideoCore IV GPU
- reference link / VideoCore IV GPU
- sample programs / Sample programs
- Vim
- about / Vim – an optional handy text editor
- installing / Vim – an optional handy text editor
- reference link / Vim – an optional handy text editor
- voltage divider / Communication between the Arduino and Raspberry Pi via GPIO
W
- web forms
- web servers
- about / Introduction to web servers
- Hypertext Transfer Protocol (HTTP) requests / HTTP requests
- Hyper Text Markup Language (HTML) / HTML
- while loop
- reference link / Iteration
- Windows
- connecting, to Network-attached storage(NAS) / Windows
- Windows RSA key generation
- about / Windows RSA key generation
- Wiring
- website link / Genuino/Arduino microcontroller
- wiringPi
- code, reference link / C blinking LED program
- website link / C blinking LED program