O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning BeagleBone Python Programming

Book Description

Unleash the potential of BeagleBone using Python

In Detail

BeagleBone is a barebone computer that can be configured and customized for different applications and is almost half the price of a standard computer. This book will cover the basics of how BeagleBone Black's hardware interface subsystems work, and can be controlled using two popular Python libraries for BeagleBone Black. You will be introduced to BeagleBone Black's GPIO, PWM, ADC, UART, SPI, I2C, and eQEP subsystems. We will then dive deep into more complex built-in peripherals, demonstrating different ways to receive input from a user including buttons, potentiometers, and rotary encoders with the eQEP module. We will also learn about interfacing with external devices; this will be demonstrated using the serial modules to interface with external devices such as temperature sensors and accelerometers. Towards the end of the book, we will present a couple of real-world problems and demonstrate how to solve them with the skills you've acquired.

What You Will Learn

  • Set up BeagleBone Black for development with the PyBBIO and Adafruit_BBIO Python libraries
  • Understand how each of BeagleBone Black's hardware interface subsystems work
  • Connect many different types of hardware to BeagleBone Black
  • Use Python code to control and communicate with external hardware
  • Write programs that interact with the physical world around you

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Learning BeagleBone Python Programming
    1. Table of Contents
    2. Learning BeagleBone Python Programming
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Errata
        2. Piracy
        3. Questions
    8. 1. Before We Begin
      1. An overview of BeagleBone
        1. General purpose input/output
        2. Analog-to-digital converter
      2. Pulse width modulation
        1. Universal asynchronous receiver/transmitter
        2. Serial peripheral interface
        3. Inter-Integrated Circuit
      3. Tools and additional hardware
      4. The BeagleBone design
      5. Board comparison
      6. Helpful resources
      7. Summary
    9. 2. Getting Started
      1. Initial setup
      2. Updating your Debian image
      3. Connecting to your BeagleBone
        1. The Cloud9 IDE
        2. SSH
      4. Connecting to the Internet
        1. Ethernet
        2. Network forwarding
      5. Using the serial console
      6. Updating your software
      7. The PyBBIO library
      8. The Adafruit_BBIO library
      9. Summary
    10. 3. Digital Outputs
      1. GPIO modules
        1. Kernel drivers
        2. Pin multiplexing
      2. Interactive GPIO
      3. Calculating resistor values for LEDs
      4. Driving higher currents from GPIO pins
      5. Blink
      6. Taking advantage of the OS
        1. Multiprocessing
        2. Running at startup
      7. Summary
    11. 4. PWM and ADC Subsystems
      1. PWM
        1. Fading an LED
        2. Servo motors
      2. ADC
        1. Voltage divider
        2. Voltage follower
      3. Your first robot
      4. Summary
    12. 5. User Input
      1. Buttons
        1. Pull-up/pull-down resistors
        2. Polling
        3. Interrupts
      2. Potentiometers
      3. Summary
    13. 6. Program Output
      1. LED displays
        1. LED bar graphs
        2. 7-segment displays
        3. The LED matrix
      2. SMTP
      3. Character LCD
      4. Summary
    14. 7. Serial Communication
      1. Serial communication
      2. UART
      3. I2C
      4. SPI
      5. Summary
    15. 8. Interfacing with External Devices
      1. Accelerometers
        1. Hooking it up
        2. Reading data
        3. Writing a module
        4. Using interrupts
      2. Summary
    16. 9. Using the Network
      1. TCP/IP
      2. HTTP
      3. IoT Services
        1. Phant
        2. dweet.io
        3. Freeboard
      4. Summary
    17. 10. A Practical Example
      1. Weather station
      2. Connecting to the Internet
      3. Weather alerts
      4. Summary
    18. A. The BeagleBone Black Pinout
    19. B. Disabling HDMI
    20. Index