Cover image for Exploring BeagleBone : Tools and Techniques for Building with Embedded Linux.
Exploring BeagleBone : Tools and Techniques for Building with Embedded Linux.
Title:
Exploring BeagleBone : Tools and Techniques for Building with Embedded Linux.
Author:
Molloy, Derek.
ISBN:
9781118935217
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (599 pages)
Contents:
Exploring BeagleBone -- About the Author -- About the Technical Editors -- Credits -- Acknowledgments -- Contents -- Introduction -- Part I BeagleBone Basics -- Chapter 1 The BeagleBone Hardware -- Introduction to the Platform -- Who Should Use the BeagleBone -- When to Use the BeagleBone -- When You Should Not Use the BeagleBone -- BeagleBone Documentation -- The BeagleBone Hardware -- BeagleBone Versions -- The BeagleBone Black Hardware -- BeagleBone Accessories -- Highly Recommended Accessories -- Micro-SD Card (for Flashing the BBB) -- External 5V Power Supply (for Flashing and Peripherals) -- Ethernet Cable (for Network Connection) -- HDMI Cable (for Connection to Monitors/Televisions) -- USB to Serial UART TTL 3.3 V (for Finding Problems) -- Optional Accessories -- USB Hub (to Connect Several USB Devices to a USB Host) -- Micro-HDMI to VGA adapters (for VGA Video and Sound) -- Wi-Fi Adapters (for Wireless Networking) -- USB Webcam (for Capturing Images and Streaming Video) -- USB Keyboard and Mouse (for General-Purpose Computing) -- Capes -- How to Destroy Your BeagleBone! -- Summary -- Support -- Chapter 2 The BeagleBone Black Software -- Linux on the BeagleBone -- Linux Distributions -- Communicating with the BBB -- Installing Drivers -- Network Connections -- Internet-over-USB -- Regular Ethernet -- Ethernet Crossover Cable -- Communicating with the BBB -- Serial Connection over USB -- Serial Connection with the USB-to-TTL 3.3 V Cable -- Connecting through Secure Shell (SSH) -- Secure Shell Connections using PuTTY -- Chrome Apps: Secure Shell Client -- Transferring Files Using PuTTY/psftp over SSH -- Controlling the BeagleBone -- Basic Linux Commands -- First Steps -- Basic File System Commands -- Environment Variables -- Basic File Editing -- What Time Is It? -- Package Management -- Interacting with the BBB On-board LEDs -- Shutdown.

Node.js, Cloud9, and BoneScript -- Introduction to Node.js -- Introduction to the Cloud9 IDE -- Introduction to BoneScript -- Summary -- Further Reading -- Chapter 3 Exploring Embedded Linux Systems -- Embedded Linux Basics -- What Embedded Linux Offers -- Is Linux Open Source and Free? -- Booting the BeagleBone -- The BeagleBone Bootloaders -- Kernel Space and User Space -- System V init (SysVinit) -- Managing Linux Systems -- The Super User -- System Administration -- The Linux File System -- Linking to Files and Directories -- Users and Groups -- File System Permissions -- Exploring the File System -- Commands for File Systems -- find and whereis -- more or less -- Linux Commands -- Standard Input and Output Redirection (>, >>, and <) -- Pipes (

Light-Emitting Diodes (LEDs) -- Smoothing and Decoupling Capacitors -- Transistors -- Transistors as Switches -- Field Effect Transistors (FETs) as Switches -- Optocouplers/Opto-isolators -- Switches and Buttons -- Hysteresis -- Logic Gates -- Floating Inputs -- Pull-Up and Pull-Down Resistors -- Open-Collector and Open-Drain Outputs -- Interconnecting Gates -- Analog-to-Digital Conversion -- Sampling Rate -- Quantization -- Operational Amplifiers -- Ideal Operational Amplifiers -- Negative Feedback and Voltage Follower -- Positive Feedback -- Concluding Advice -- Summary -- Further Reading -- Chapter 5 Practical BeagleBone Programming -- Introduction -- Performance of Different Languages -- Setting the BBB CPU Frequency -- Scripting Languages -- Scripting Language Options -- Bash -- Perl -- Python -- JavaScript and Java -- JavaScript and Node.js on the BBB 1 -- Java on the BBB -- C and C++ on the BeagleBone -- C and C++ Language Overview -- Compiling and Linking -- Writing the Shortest C/C++ Program -- Variables and Operators in C/C++ -- Pointers in C/C++ -- C-Style Strings -- LED Flashing Application in C -- The C of C++ -- First Example and Strings in C++ -- Passing by Value, Pointer, and Reference -- Flashing the LEDs Using C++ (non-OO) -- Writing Your Own Multi-Call Binary -- C++ with Classes -- Overview of Object-Oriented Programming -- Classes and Objects -- Encapsulation -- Inheritance -- Object-Oriented LED Flashing Code -- /Proc-Process Information File System -- GLIBC and Syscall -- Summary -- Further Reading -- Part II Interfacing, Controlling, and Communicating -- Chapter 6 Interfacing to the BeagleBone Input/Outputs -- General-Purpose Input/Outputs -- Introduction to GPIO Interfacing -- GPIO Digital Output -- GPIO Digital Input -- GPIO Confi guration -- Internal Pull-up and Pull-down Resistors -- GPIO Pin Configuration Settings.

C++ Control of GPIOs -- The Linux Device Tree -- The Flattened Device Tree (FDT) -- Device Tree Overlays (DTOs) -- Writing an Overlay -- Compiling and Deploying an Overlay -- The BBB Cape Manager -- Loading a Device Tree Overlay -- Removing an Overlay -- Loading an Overlay on Boot -- Analog Inputs and Outputs -- Analog Inputs -- Enabling the Analog Inputs -- Input Application-A Simple Light Meter -- Analog Outputs (PWM) -- Output Application-Controlling a Servo Motor -- Advanced GPIO Topics -- More C++ Programming -- Callback Functions -- POSIX Threads -- Linux poll (sys/poll.h) -- Enhanced GPIO Class -- GPIO-KEYS -- Using GPIOs without Using sudo -- Summary -- Further Reading -- Chapter 7 Cross-Compilation and the Eclipse IDE -- Setting Up a Cross-Compilation Toolchain -- A Toolchain for Debian -- Testing the Toolchain -- Cross-Compilation with Third-Party Libraries (Multiarch) -- Installing a Change Root -- Installing an armhf Change Root -- Emulating the armhf Architecture -- Cross-Compilation Using Eclipse -- Installing Eclipse on Desktop Linux -- Confi guring Eclipse for Cross-Compilation -- Remote System Explorer -- Integrating GitHub into Eclipse -- Remote Debugging -- Automatic Documentation (Doxygen) -- Adding Doxygen Support in Eclipse -- Building Debian for the BBB -- Summary -- Further Reading -- Chapter 8 Interfacing to the BeagleBone Buses -- Introduction to Bus Communication -- I2C -- I2C Hardware -- The ADXL345 Accelerometer -- Using Linux I2C-Tools -- i2cdetect -- i2cdump -- i2cget -- i2cset -- I2C Communication in C -- Wrapping I2C Devices with C++ Classes -- SPI -- SPI Hardware -- SPI on the BBB -- Enabling the First SPI Bus (SPI0) -- Testing the SPI Bus -- A First SPI Application (74HC595) -- Wiring the 74HC595 Circuit -- SPI Communication Using C -- Bidirectional SPI Communication in C++ -- The Second SPI Bus (SPI1).

The ADXL345 SPI Interface -- Connecting the ADXL345 to the BBB -- Wrapping SPI Devices with C++ Classes -- Three-Wire SPI Communication -- Multiple SPI Slave Devices on the BBB -- UART -- UARTs on the BBB -- The Arduino UART Example -- BeagleBone to Arduino Serial Communication -- Echoing the Minicom Program -- UART Echo Example in C -- UART Command Control of an Arduino -- Logic-Level Translation -- Summary -- Further Reading -- Chapter 9 Interacting with the Physical Environment -- Interfacing to Actuators -- DC Motors -- A BBB DC Motor Driver Circuit -- Controlling a DC Motor Using sysfs -- Controlling a DC Motor Using C++ -- Stepper Motors -- The EasyDriver Stepper Motor Driver -- A BBB Stepper Motor Driver Circuit -- Controlling a Stepper Motor Using C++ -- Relays -- Interfacing to Analog Sensors -- Protecting the BBB ADC Inputs -- Diode Clamping -- Op-Amp Clamping -- Analog Sensor Signal Conditioning -- Scaling Using Voltage Division -- Signal Offsetting and Scaling -- Analog Interfacing Examples -- Infrared Distance Sensing -- ADXL335 Conditioning Example -- Interfacing to Display Modules -- Seven-Segment Displays -- Character LCD Modules -- Remote Control BeagleBone -- Managing Services with Systemd -- BBB Serial Connection to Desktop -- Starting a Custom Service on Boot -- Bluetooth -- Installing an Adapter -- Loadable Kernel Modules -- Configuring a Bluetooth Adapter -- Making the BBB Discoverable -- Android Application Development with Bluetooth -- Building Dynamic Linked Libraries -- Summary -- Further Reading -- Part III Advanced BeagleBone Systems -- Chapter 10 The Internet of Things -- The Internet of Things (IoT) -- More Sensors (Things!) -- A Room Temperature Sensor -- Texas Instruments SensorTag -- Connecting to Bluetooth Smart Devices -- Building a Linux Package -- Controlling a Bluetooth Smart Device.

The BeagleBone as a Web Server.
Abstract:
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 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.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: