rdf-syntax-grammar
mods:
  schema location: http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
  title info:
    title: Bad to the Bone
    sub title: crafting electronic systems with BeagleBone and BeagleBone Black
  title info:
    title: Synthesis digital library of engineering and computer science
  name:
    name part: Barrett, Steven F. (Steven Frank)
    name part: 1957-
    role:
      role term: creator
  name:
    name part: Kridner, Jason.
  type of resource: text
  genre: bibliography
  origin info:
    place:
      place term: cau
    date issued: 2013
    issuance: monographic
  language:
    language term: eng
  physical description:
    reformatting quality: access
    form: remote
    extent: 1 online resource (xxv, 397 pages) : illustrations
  abstract: BeagleBone is a low cost, open hardware, expandable computer first introduced in November 2011 by BeagleBoard.org, a community of developers sponsored by Texas Instruments. Various BeagleBone variants, including the original BeagleBone and the new BeagleBone Black, host a powerful 32-bit, super-scalar ARM Cortex A8 processor operating from 720 MHz to 1 GHz. Yet, BeagleBone is small enough to fit in a small mint tin box. The "Bone" may be used in a wide variety of projects from middle school science fair projects to senior design projects to first prototypes of very complex systems. Novice users may access the power of the Bone through the user-friendly Bonescript environment, a browser-based experience, in MS Windows, the Mac OS X, or the Linux operating systems. Seasoned users may take full advantage of the Bone's power using the underlying Linux-based operating system, a host of feature extension boards (Capes) and a wide variety of Linux community open source libraries. This book provides an introduction to this powerful computer and has been designed for a wide variety of users including the first time novice through the seasoned embedded system design professional. The book contains background theory on system operation coupled with many well-documented, illustrative examples. Examples for novice users are centered on motivational, fun robot projects while advanced projects follow the theme of assistive technology and image processing applications.
  table of contents: 1. Getting started -- 1.1 Welcome! -- 1.2 Overview -- 1.3 A brief Beagle history -- 1.4 BeagleBoard.org community -- 1.5 BeagleBone hardware -- 1.5.1 Open source hardware -- 1.6 Developing with Bonescript -- 1.7 BeagleBone Capes -- 1.8 Power requirements and capabilities -- 1.9 Getting started, success out of the box -- 1.9.1 Exercise 1: programming with Bonescript through your browser -- 1.9.2 Exercise 2: blinking an LED with Bonescript -- 1.9.3 Executing the binkled.js program -- 1.9.4 Exercise 3: developing your own boneyard, aroo! -- 1.10 Summary -- 1.11 References -- 1.12 Chapter exercises --
  table of contents: 2. System design: programming -- 2.1 An overview of the design process -- 2.2 Overview -- 2.3 Anatomy of a program -- 2.3.1 Comments -- 2.3.2 Include files -- 2.3.3 Functions -- 2.3.4 Interrupt handler definitions -- 2.3.5 Program constants -- 2.3.6 Variables -- 2.3.7 Main function -- 2.4 Fundamental programming concepts -- 2.4.1 Operators -- 2.4.2 Programming constructs -- 2.4.3 Decision processing -- 2.5 Programming in JavaScript using Node.js -- 2.5.1 JavaScript -- 2.5.2 Event-driven programming -- 2.5.3 Node.js -- 2.6 Bonescript development environment -- 2.7 Application 1: Robot IR sensor -- 2.8 Application 2: Art piece illumination system -- 2.9 Application 3: Blinky 602A autonomous maze navigating robot -- 2.9.1 Blinky 602A robot -- 2.9.2 Requirements -- 2.9.3 Circuit diagram -- 2.9.4 Structure chart -- 2.9.5 UML activity diagrams -- 2.9.6 Bonescript code -- 2.10 Summary -- 2.11 References -- 2.12 Chapter Exercises --
  table of contents: 3. BeagleBone operating parameters and interfacing -- 3.1 Overview -- 3.2 Operating parameters -- 3.2.1 BeagleBone 3.3 VDC operation -- 3.2.2 Compatible 3.3 VDC logic families -- 3.2.3 Input/output operation at 5.0 VDC -- 3.2.4 Interfacing 3.3 VDC logic families to 5.0 VDC logic families -- 3.3 Input devices -- 3.3.1 Switches -- 3.3.2 Switch debouncing -- 3.3.3 Keypads -- 3.3.4 Sensors -- 3.3.5 Transducer Interface Design (TID) circuit -- 3.3.6 Operational amplifiers -- 3.4 Output devices -- 3.4.1 Light Emitting Diodes (LEDs) -- 3.4.2 Seven segment LED displays -- 3.4.3 Tri-state LED indicator -- 3.4.4 Dot matrix display -- 3.4.5 Liquid Crystal Display (LCD) -- 3.5 High power interfaces -- 3.5.1 High power DC devices -- 3.5.2 DC motor speed and direction control -- 3.5.3 DC motor operating parameters -- 3.5.4 H-bridge direction control -- 3.5.5 DC solenoid control -- 3.5.6 Stepper motor control -- 3.6 Interfacing to miscellaneous devices -- 3.6.1 Sonalerts, beepers, buzzers -- 3.6.2 Vibrating motor -- 3.6.3 DC fan -- 3.7 AC devices -- 3.8 Application: Equipping the Blinky 602A robot with a LCD -- 3.9 Application: the Blinky 602A interface on a custom cape -- 3.10 Summary -- 3.11 References -- 3.12 Chapter Exercises --
  table of contents: 4. BeagleBone systems design -- 4.1 Overview -- 4.2 What is an embedded system? -- 4.3 Embedded system design process -- 4.3.1 Project description -- 4.3.2 Background research -- 4.3.3 Pre-design -- 4.3.4 Design -- 4.3.5 Implement prototype -- 4.3.6 Preliminary testing -- 4.3.7 Complete and accurate documentation -- 4.4 Submersible robot -- 4.4.1 Requirements -- 4.4.2 Structure chart -- 4.4.3 Circuit diagram -- 4.4.4 UML activity diagram -- 4.4.5 BeagleBone code -- 4.4.6 Project extensions -- 4.5 Mountain maze navigating robot -- 4.5.1 Description -- 4.5.2 Requirements -- 4.5.3 Circuit diagram -- 4.5.4 Structure chart -- 4.5.5 UML activity diagrams -- 4.5.6 Bonescript code -- 4.5.7 Mountain maze -- 4.5.8 Project extensions -- 4.6 Summary -- 4.7 References -- 4.8 Chapter exercises --
  table of contents: 5. BeagleBone features and subsystems -- 5.1 Overview -- 5.2 Programming BeagleBone in Linux, C and C++ -- 5.2.1 Beagling in Linux -- 5.2.2 BeagleBone Linux releases -- 5.2.3 Bonescript processing in Linux -- 5.3 Updating your SD card or eMMC in Linux -- 5.3.1 Programming in C using the Ångstrom toolchain -- 5.4 BeagleBone features and subsystems -- 5.5 Exposed functions -- 5.5.1 Expansion interface, original BeagleBone -- 5.5.2 Accessing pins via Linux 3.2 -- 5.6 Expansion interface BeagleBone Black -- 5.6.1 Accessing pins with device tree overlays, Linux 3.8 -- 5.6.2 Overview -- 5.6.3 Binary tree -- 5.6.4 Device tree format -- 5.6.5 BeagleBone device tree, Linux 3.8 -- 5.7 Fundamental examples programming in C with BeagleBone Black, Linux 3.8 -- 5.8 Analog-to-digital converters (ADC) -- 5.8.1 ADC process: sampling, quantization and encoding -- 5.8.2 Resolution and data rate -- 5.8.3 ADC conversion technologies -- 5.8.4 BeagleBone ADC subsystem description, Linux 3.2 -- 5.8.5 ADC conversion via Linux 3.2 -- 5.8.6 ADC support functions in C Linux 3.2 -- 5.8.7 ADC support functions in C Linux 3.8 -- 5.9 Serial communications -- 5.9.1 Serial communication terminology -- 5.9.2 Serial UART -- 5.9.3 Serial peripheral interface (SPI) -- 5.10 Precision timing -- 5.10.1 Timing related terminology -- 5.10.2 BeagleBone timing capability system, Linux 3.2 -- 5.11 Pulse width modulation (PWM) -- 5.11.1 BeagleBone PWM subsystem (PWMSS) description -- 5.11.2 PWM configuration, Linux 3.2 -- 5.11.3 PWM C support functions, Linux 3.2 -- 5.11.4 PWM C support functions, Linux 3.8 -- 5.12 Networking -- 5.12.1 Inter-integrated circuit (I2C) bus -- 5.12.2 Controller area network (CAN) bus -- 5.12.3 Ethernet -- 5.13 Liquid crystal display (LCD) interface -- 5.13.1 C support functions -- 5.14 Interrupts -- 5.14.1 Bonescript interrupt support -- 5.15 Summary -- 5.16 References -- 5.17 Chapter exercises --
  table of contents: 6. BeagleBone "off the leash" -- 6.1 Overview -- 6.2 Boneyard II: a portable Linux platform, BeagleBone unleashed -- 6.3 Application 1: Weather station in Bonescript -- 6.3.1 Requirements -- 6.3.2 Structure chart -- 6.3.3 Circuit diagram -- 6.3.4 UML activity diagrams -- 6.3.5 Bonescript code -- 6.4 Application 2: Speak-and-Spell in C -- 6.4.1 BeagleBone C code -- 6.5 Application 3: Dagu Rover 5 treaded robot -- 6.5.1 Description -- 6.5.2 Requirements -- 6.5.3 Circuit diagram -- 6.5.4 Structure chart -- 6.5.5 UML activity diagrams -- 6.5.6 BeagleBone C code -- 6.6 Application 4: Portable image processing engine -- 6.6.1 Brief introduction to image processing -- 6.6.2 OpenCV computer vision library -- 6.6.3 Stache cam -- 6.7 Summary -- 6.8 References -- 6.9 Chapter exercises --
  table of contents: 7. Where to from here? -- 7.1 Overview -- 7.2 Software libraries -- 7.2.1 OpenCV -- 7.2.2 Qt -- 7.2.3 Kinect -- 7.3 Additional resources -- 7.3.1 OpenROV -- 7.3.2 Ninja blocks -- 7.3.3 BeagleBoard.org resources -- 7.3.4 Contributing to Bonescript -- 7.4 Summary -- 7.5 References -- 7.6 Chapter Exercises --
  table of contents: A. Bonescript functions -- B. LCD interface for BeagleBone in C -- B.1. BeagleBone original, Linux 3.2 -- B.2. BeagleBone Black, Linux 3.8 -- C. Parts list for projects -- D. BeagleBone device tree -- D.1 am33xx.dtsi -- D.2 am335x-bone-commoN.dtsi -- D.3 am335x-bonE.dts -- D.4 am335x-boneblack.dts -- D.5 am33xx_pwm-00A0.dts -- D.6 bone_pwm_P8_13-00A0.dts -- D.7 cape-bone-iio-00A0.dts -- Authors' biographies -- Index.
  target audience: specialized
  note: Steven Barrett, Jason Kridner.
  note: Electronic resource.
  note: Part of: Synthesis digital library of engineering and computer science.
  note: Includes bibliographical references and index.
  subject:
    topic: BeagleBone (Computer)
  subject:
    topic: BeagleBone Black (Computer)
  subject:
    topic: TECHNOLOGY & ENGINEERING / Automation
  subject:
    topic: ARM
  subject:
    topic: Ångstrom distribution
  subject:
    topic: BeagleBone
  subject:
    topic: Bonescript
  subject:
    topic: Linux
  subject:
    topic: embedded systems design
  subject:
    topic: microcontroller interfacing
  subject:
    topic: open source computing
  classification: QA76.5
  classification: 629.89
  related item:
    title info:
      title: Synthesis lectures on digital circuits and systems ; #41
  identifier: 1627051384 (electronic bk.)
  identifier: 9781627051385 (electronic bk.)
  identifier: 9781627051378 (pbk.)
  identifier: http://proxy.library.tamu.edu/login
  record info:
    record content source: CaBNvSL
    record creation date: 130522
    record change date: 20210728125034.0
    record identifier: in00003389902