1. BeagleBone Cookbook
Mark A. Yoder <Mark.A.Yoder@Rose-Hulman.edu> v2.0 beta
2. Outline
A cookbook for programming Beagles
-
-
Introduction
-
Picking Your Beagle
-
Getting Started, Out of the Box
-
Verifying You Have the Latest Version of the OS on Your Bone
-
Running the Python and JavaScript Examples
-
Cloning the Cookbook Repository
-
Wiring a Breadboard
-
Editing Code Using Visual Studio Code
-
Running Python and JavaScript Applications from Visual Studio Code
-
Finding the Latest Version of the OS for Your Bone
-
Running the Latest Version of the OS on Your Bone
-
Updating the OS on Your Bone
-
Backing Up the Onboard Flash
-
Updating the Onboard Flash
-
-
-
Introduction
-
Choosing a Method to Connect Your Sensor
-
Input and Run a Python or JavaScript Application for Talking
-
Reading the Status of a Pushbutton or Magnetic Switch (Passive
-
Mapping Header Numbers to gpio Numbers
-
Reading a Position, Light, or Force Sensor (Variable
-
Reading a Distance Sensor (Analog or Variable Voltage Sensor)
-
Accurately Reading the Position of a Motor or Dial
-
Measuring a Temperature
-
Reading Temperature via a Dallas 1-Wire Device
-
Playing and Recording Audio
-
-
-
Introduction
-
Toggling an Onboard LED
-
Toggling an External LED
-
Toggling an External LED via gpiod
-
Toggling a High-Voltage External Device
-
Fading an External LED
-
Writing to an LED Matrix
-
Driving a 5 V Device
-
Writing to a NeoPixel LED String Using the PRUs
-
-
-
Introduction
-
Controlling a Servo Motor
-
Controlling a Servo with an Rotary Encoder
-
Controlling the Speed of a DC Motor
-
Controlling the Speed and Direction of a DC Motor
-
Driving a Bipolar Stepper Motor
-
Driving a Unipolar Stepper Motor
-
-
-
Introduction
-
Running Your Bone Standalone
-
Getting to the Command Shell via SSH
-
Getting to the Command Shell via the Virtual Serial Port
-
Viewing and Debugging the Kernel and u-boot Messages at Boot Time
-
Verifying You Have the Latest Version of the OS on Your Bone from the Shell
-
Controlling the Bone Remotely with a VNC
-
Learning Typical GNU/Linux Commands
-
Editing a Text File from the GNU/Linux Command Shell
-
Establishing an Ethernet-Based Internet Connection
-
Establishing a WiFi-Based Internet Connection
-
Sharing the Host’s Internet Connection over USB
-
Setting Up a Firewall
-
Installing Additional Packages from the Debian Package Feed
-
Removing Packages Installed with apt
-
Copying Files Between the Onboard Flash and the MicroSD Card
-
Freeing Space on the Onboard Flash or MicroSD Card
-
Using C to Interact with the Physical World
-
-
-
Introduction
-
Accessing Your Host Computer’s Files on the Bone
-
Serving Web Pages from the Bone
-
Interacting with the Bone via a Web Browser
-
Displaying GPIO Status in a Web Browser - reading a button
-
Controlling GPIOs
-
Plotting Data
-
Sending an Email
-
Displaying the Current Weather Conditions
-
Sending and Receiving Tweets
-
Wiring the IoT with Node-RED
-
-
-
Introduction
-
Updating the Kernel
-
Building and Installing Kernel Modules
-
Controlling LEDs by Using SYSFS Entries
-
Controlling GPIOs by Using SYSFS Entries
-
Compiling the Kernel
-
Using the Installed Cross Compiler
-
Applying Patches
-
Creating Your Own Patch File
-
-
-
Introduction
-
I/O with Python
-
I/O with C
-
I/O with devmem2
-
I/O with C and mmap()
-
Tighter Delay Bounds with the PREEMPT_RT Kernel
-
-
-
Introduction
-
Using a Seven-Inch LCD Cape
-
Using a 128 x 128-Pixel LCD Cape
-
Connecting Multiple Capes
-
Moving from a Breadboard to a Protoboard
-
Creating a Prototype Schematic
-
Verifying Your Cape Design
-
Laying Out Your Cape PCB
-
Migrating a Fritzing Schematic to Another Tool
-
Producing a Prototype
-
Creating Contents for Your Cape Configuration EEPROM
-
Putting Your Cape Design into Production
-