Exploring BeagleBone, 2nd Edition

Book description

In-depth instruction and practical techniques for building with the BeagleBone embedded Linux platform

Exploring BeagleBone is a hands-on guide to bringing gadgets, gizmos, and robots to life using the popular BeagleBone embedded Linux platform. Comprehensive content and deep detail provide more than just a BeagleBone instruction manual-you'll also learn the underlying engineering techniques that will allow you to create your own projects. The book begins with a foundational primer on essential skills, and then gradually moves into communication, control, and advanced applications using C/C++, allowing you to learn at your own pace. In addition, the book's companion website features instructional videos, source code, discussion forums, and more, to ensure that you have everything you need.

The BeagleBone's small size, high performance, low cost, and extreme adaptability have made it a favorite development platform, and the Linux software base allows for complex yet flexible functionality. The BeagleBone has applications in smart buildings, robot control, environmental sensing, to name a few; and, expansion boards and peripherals dramatically increase the possibilities. Exploring BeagleBone provides a reader-friendly  guide to the device, including a crash course in computer engineering. While following step by step, you can:

  • Get up to speed on embedded Linux, electronics, and programming
  • Master interfacing electronic circuits, buses and modules, with practical examples
  • Explore the Internet-connected BeagleBone and the BeagleBone with a display
  • Apply the BeagleBone to sensing applications, including video and sound
  • Explore the BeagleBone's Programmable Real-Time Controllers
  • Updated to cover the latest Beagle boards, Linux kernel versions, and Linux software releases.
  • Includes new content on Linux kernel development, the Linux Remote Processor Framework, CAN bus, IoT frameworks, and much more!

Hands-on learning helps ensure that your new skills stay with you, allowing you to design with electronics, modules, or peripherals even beyond the BeagleBone. Insightful guidance and online peer support help you transition from beginner to expert as you master the techniques presented in Exploring BeagleBone, the practical handbook for the popular computing platform.

Table of contents

  1. Cover
  2. Introduction
    1. Why the BeagleBone and PocketBeagle?
    2. How This Book Is Structured
    3. Conventions Used in This Book
    4. What You'll Need
    5. Errata
    6. Digital Content and Source Code
  3. Part I: Beagle Board Basics
    1. CHAPTER 1: The Beagle Hardware Platform
      1. Introduction to the Boards
      2. BeagleBone Documentation
      3. The Beagle Hardware
      4. Beagle Accessories
      5. Capes
      6. How to Destroy Your Board!
      7. Summary
      8. Support
      9. Notes
    2. CHAPTER 2: Beagle Software
      1. Linux on the Beagle Boards
      2. Communicating with the Boards
      3. Controlling the Beagle Board
      4. Node.js, Cloud9, and BoneScript
      5. Summary
      6. Further Reading
      7. Notes
    3. CHAPTER 3: Exploring Embedded Linux Systems
      1. Introducing Embedded Linux
      2. Managing Linux Systems
      3. Using Git for Version Control
      4. Desktop Virtualization
      5. Code for This Book
      6. Summary
      7. Further Reading
      8. Bibliography
      9. Notes
    4. CHAPTER 4: Interfacing Electronics
      1. Analyzing Your Circuits
      2. Basic Circuit Principles
      3. Discrete Components
      4. Logic Gates
      5. Analog-to-Digital Conversion
      6. Concluding Advice
      7. Summary
      8. Further Reading
      9. Note
    5. CHAPTER 5: Practical Beagle Board Programming
      1. Introduction
      2. Scripting Languages
      3. Dynamically Compiled Languages
      4. C and C++ on the Beagle Boards
      5. Overview of Object-Oriented Programming
      6. Interfacing to the Linux OS
      7. Improving the Performance of Python
      8. Summary
      9. Further Reading
      10. Bibliography
      11. Notes
  4. Part II: Interfacing, Controlling, and Communicating
    1. CHAPTER 6: Interfacing to the Beagle Board Input/Outputs
      1. General-Purpose Input/Outputs
      2. The Linux Device Tree
      3. Analog Inputs and Outputs
      4. BoneScript
      5. Advanced GPIO Topics
      6. Summary
      7. Further Reading
      8. Notes
    2. CHAPTER 7: Cross-Compilation, Eclipse, and Building Linux
      1. Setting Up a Cross-Compilation Toolchain
      2. Cross-Compilation Using Eclipse
      3. Cross-Building Linux
      4. Summary
      5. Notes
    3. CHAPTER 8: Interfacing to the Beagle Board Buses
      1. Introduction to Bus Communication
      2. IC
      3. SPI
      4. UART
      5. CAN Bus
      6. Logic-Level Translation
      7. Summary
      8. Further Reading
      9. Notes
    4. CHAPTER 9: Interacting with the Physical Environment
      1. Interfacing to Actuators
      2. Interfacing to Analog Sensors
      3. Interfacing to Local Displays
      4. Building C/C++ Libraries
      5. Summary
      6. Further Reading
      7. Notes
    5. CHAPTER 10: Real-Time Interfacing Using External Slave Processors
      1. Real-Time Beagle Board
      2. Extended GPIO Availability
      3. Adding External UARTs
      4. The Arduino
      5. Summary
      6. Further Reading
      7. Notes
  5. Part III: Advanced Beagle Board Systems
    1. CHAPTER 11: The Internet of Things
      1. The Internet of Things
      2. A Beagle Board IoT Sensor
      3. The Beagle Board as a Sensor Web Server
      4. A C/C++ Web Client
      5. A Beagle Board as a “Thing”
      6. IoT Frameworks
      7. The C++ Client/Server
      8. IoT Device Management
      9. Summary
      10. Notes
    2. CHAPTER 12: Wireless Communication and Control
      1. Introduction to Wireless Communications
      2. Bluetooth Communications
      3. Wi-Fi Communications
      4. ZigBee Communications
      5. Near Field Communication
      6. Summary
      7. Notes
    3. CHAPTER 13: Beagle Board with a Rich User Interface
      1. Rich UI Beagle Board Architectures
      2. Rich UI Application Development
      3. Qt Primer
      4. Remote UI Application Development
      5. Summary
      6. Further Reading
      7. Notes
    4. CHAPTER 14: Images, Video, and Audio
      1. Capturing Images and Video
      2. Streaming Video
      3. Image Processing and Computer Vision
      4. BeagleBone Audio
      5. Summary
      6. Further Reading
    5. CHAPTER 15: Real-Time Interfacing with the PRU-ICSS
      1. The PRU-ICSS
      2. Development Tools for the PRU-ICSS
      3. Using the AM335x PRU-ICSS
      4. A First PRU Example
      5. The PRU-ICSS in Detail
      6. PRU-ICSS Applications
      7. Summary
      8. Further Reading
    6. CHAPTER 16: Embedded Kernel Programming
      1. Introduction
      2. A First LKM Example
      3. An Embedded LKM Example
      4. Enhanced Button GPIO Driver LKM
      5. Enhanced LED GPIO Driver LKM
      6. Conclusions
      7. Summary
      8. Note
  6. Index
  7. End User License Agreement

Product information

  • Title: Exploring BeagleBone, 2nd Edition
  • Author(s): Derek Molloy
  • Release date: January 2019
  • Publisher(s): Wiley
  • ISBN: 9781119533160