Home Page Icon
Home Page
Table of Contents for
BeagleBone: Creative Projects for Hobbyists
Close
BeagleBone: Creative Projects for Hobbyists
by Richard Grimmett, Rodolfo Giometti, Charles Hamilton
BeagleBone: Creative Projects for Hobbyists
BeagleBone: Creative Projects for Hobbyists
Table of Contents
BeagleBone: Creative Projects for Hobbyists
Credits
Preface
What this learning path covers
What you need for this learning path
Who this learning path is for
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Module 1
1. Setting Up for the First Time
Introduction
First boot up
Getting ready
How to do it…
Getting ready
How to do it...
Power requirements – basic guidelines
Display
Connecting an HDMI LCD
How to do it...
Connecting a non-HDMI LCD or cape
How to do it...
There's more…
Essential GNU/Linux commands – the command shell
Getting ready
How to do it...
How it works...
Essential GNU/Linux commands – typical commands
Getting ready
System navigational command – change your directory – cd
How to do it…
There's more…
System navigational command – show your current directory – pwd
How to do it…
System navigational command – find a file – find
How to do it…
Device and system insight – shows what's inside a directory – ls
How to do it…
Device and system insight – find out what USB devices are connected – lsusb
How to do it…
Device and system insight – get information about connected devices – cat/proc/bus/input/devices
How to do it…
There's more…
Device and system insight – get your version of Linux
How to do it…
Device and system insight – find out running processes – ps
How to do it…
Device and system insight – find out the resources used by running processes – top and htop
How to do it…
Device and system insight – quitting processes – kill
How to do it…
Device and system insight – message reports – dmesg
How to do it…
Device and system insight – shows disk space – df -h
How to do it…
Device and system insight – explore network – Ifconfig
How to do it…
Modify content / data commands – make a new directory – mkdir
How to do it…
Modify content/data commands – remove a file or directory – rm
How to do it…
Modify content / data commands – download files – wget
How to do it…
There's more…
Modify content / data commands – open a tar file – tar [options]
How to do it…
There's more…
Modify content / data commands – clean up files – autoclean
How to do it…
Modify content / data commands – purge a package – apt-get purge, apt-get remove --purge
How to do it…
Modify content/data commands – shutdown the system – [options]
How to do it…
See also
Edit a text file from the command shell
How it works...
How to do it...
See also
Connectivity
Connectivity – Ethernet
Getting ready
How to do it...
Connectivity – Wi-Fi
Getting ready
How to do it...
There's more…
See also
Package management – Installing packages using apt-get
Getting ready
How to do it…
See also
SSH / Remote access
Using SSH to control your BBB
How to do it…
Using VNC to control your BBB
Getting ready…
How to do it...
There's more...
System images
OS image flashing – internal drive boot
Getting ready
How to do it...
There's more…
Expand your partition
Backing up a code image to a file
OS image flashing – the SD card boot
Getting ready
How to do it...
Updating your current OS kernel
See also
2. Basic Programming Recipes
Introduction
Introduction to BoneScript
Toggle LED
How to do it...
See also
Using the Cloud9 IDE
How to do it…
See also
Node.js basic recipes
Adding a new module to Node.js
Getting ready
How to do it...
There's more…
See also
Using Node.js with Johnny-Five
How to do it…
There's more…
Python basic recipes
Getting ready
Adding libraries
How to do it…
Running a Python script to control the LEDs
How to do it…
There's more…
3. Physical Computing Recipes Using JavaScript, the BoneScript Library, and Python
Introduction
The essentials of electronics
Header pins and pinmuxing
The process of pinmuxing
There's more…
Controlling external LEDs
Getting ready
How to do it...
Writing an alternative script with Python
There's more…
Using buttons – button press function
Pull-up, pull-down, and floating
Getting ready
How to do it...
There's more…
Using analog sensors
Temperature sensors
Getting ready
How to do it...
There's more…
See also
Variable resistance sensor – photocell
Getting ready
How to do it…
Using motors
DC motors
Getting ready
How to do it...
How it works...
Servo motors
A crash course in pulse width modulation
Getting ready
How to do it...
There's more…
4. Exploring GNU/Linux Recipes Using Bash, Autotools, Debugger, and systemd
Introduction
The basic shell script
How to do it...
Epoch Time shell script
How to do it...
There's more...
Compile and install
See also
Compile and install Git from source
How to do it...
Debugging
See also
Debug a simple C-code application from the command line using GDB
How to do it...
See also
Debug an application remotely from Eclipse and GDB server
How to do it...
There's more…
systemd services
There's more…
See also
Basic commands for systemd services
How to do it...
There's more…
Optimize boot time
How to do it...
Create a systemd service to run at boot time
How to do it...
5. Basic Programming Recipes with the Linux Kernel
Introduction
Kernel building basics
See also
Kernel application binary interface
Getting ready
How to do it...
How it works…
Installing the latest kernel image
Getting ready
How to do it...
Installing and building a custom kernel
Getting ready
How to do it...
Interactions with the kernel – sysfs entries and controlling the GPIOs
Getting ready
How to do it...
There's more…
Device Tree and its roots
There's more…
Device Tree / basic build
Getting ready
How to do it...
Device Tree / advanced – adding DT overlay to run a custom cape
Getting ready
How to do it...
There's more…
See also
Universal cape overlay
Getting ready
How to do it…
There's more…
Running a script to check DT usage on GPIO pins
Getting ready
How to do it…
6. Run Faster, Run Real Time
Introduction
Installing a test tool
Getting ready
How to do it...
See also
Modifying the kernel using RT-PREEMPT
Getting ready
How to do it…
There's more…
Modifying the kernel using Xenomai
Getting ready
How to do it...
There's more…
See also
Programmable real-time units – an introduction
Getting ready
How to do it…
A simple PRU test with an assembler
Getting ready
How to do it…
See also
Running an ultrasonic range sensor with the PRUs
Getting ready
How to do it…
Using Python with the PRUs
Getting ready
How to do it…
See also
7. Applied Recipes – Sound, Picture, and Video
Introduction
Wiring up a mini amp and speakers
Getting ready
How to do it…
Creating a high-quality audio platform with Volumio
Getting ready
How to do it…
There's more…
See also
Using videos and displays in projects
Getting ready
How to do it…
There's more…
Testing a mini LCD cape
Getting ready
How to do it…
Making a video chat client prototype using Linphone
Getting ready
How to do it…
Part I – compiling and installing a Linphone binary from the repository
Part II – compiling and installing Linphone from source
Getting ready
How to do it…
8. The Internet of Things
Introduction
Location-based recipes – hooking up GPS
Getting ready
How to do it…
There's more...
Location-based recipes – Bluetooth LE and Beacons
Getting ready
How to do it…
There's more...
Using sensors and data with ThingSpeak
Getting ready
How to do it…
See also
Making things smarter – building a wireless digital picture frame
Getting ready
How to do it...
See also
9. The Black in Outer Space
Introduction
Grabbing the International Space Station flyover data and visualizing it
Getting ready
How to do it…
There's more…
Tracking using RTL-SDR
See also
Airplane tracking with RTL-SDR
Getting ready
How to do it…
There's more…
Satellite tracking using GPredict and RTL-SDR
Getting ready
How to do it…
There's more…
Satellite tracking using the SatNogs Network client / ground station and RTL-SDR
Getting ready
How to do it…
Adding other interfaces – ISS tracking and text to speech
Getting ready
How to do it…
There's more…
2. Module 2
1. Dangerous Gas Sensors
The basic of functioning
Setting up the hardware
Connecting the gas sensors
Connecting the alarm actuators
LED and buzzer
GSM module
The final picture
Setting up the software
Managing the ADCs
Managing the actuators
Controlling the environment
Final test
Summary
2. Ultrasonic Parking Assistant
The basic of functioning
Setting up the hardware
First setup – all devices near the BeagleBone Black
Using the analog output of the distance sensor
Connecting the LEDs in the first setup
Second setup – the distance sensor is remotized
Using the serial output of the distance sensor
Connecting the LEDs in the second setup
The final picture
Setting up the software
Managing the LEDs
The distance monitor
Final test
Summary
3. Aquarium Monitor
The basics of functioning
Setting up the hardware
Setting up the 12V devices
Setting up the webcam
Connecting the temperature sensor
Connecting the feeder
The water sensor
The final picture
Setting up the software
Managing the system status and configuration
Building up the web control panel
Handling the control panel
Knowing the internal state-machine
Final test
Summary
4. Google Docs Weather Station
The basics of functioning
Setting up the hardware
Setting up the temperature/humidity sensor
Setting up the barometric sensor
The final picture
Setting up the software
Installing a new kernel
Running the weather station software
Adding the Google Docs API
Final test
Summary
5. WhatsApp Laundry Room Monitor
The basics of functioning
Setting up the hardware
Setting up the sound detector
Setting up the light sensor
Connecting the LEDs
The final picture
Setting up the software
The sound detector manager
The light sensor manager
Controlling the LEDs
Setting up the WhatsApp API
The state-machine
Final test
Summary
6. Baby Room Sentinel
The basics of functioning
Setting up the hardware
Setting up the contactless temperature sensor
Setting up the pressure sensor
Setting up the sound detector
Connecting the tiny LCD
The final picture
Setting up the software
The ADC manager
The LCD manager
Final test
Summary
7. Facebook Plant Monitor
The basics of functioning
Setting up the hardware
Connecting the moisture sensor
Connecting the light sensor
Setting up the contactless temperature sensor
Setting up the waterproof temperature sensor
Setting up the webcam
Adding a water pump
The final picture
Setting up the software
The Facebook API
Downloading the code
Creating a new Facebook app
Getting access to the Facebook account
The monitoring loop
The web interface
Final test
Summary
8. Intrusion Detection System
The basics of functioning
Setting up the hardware
Setting up the webcams
The final picture
Setting up the software
Setting up the mailer
Using motion
Downloading the code
Configuring the daemon
The web interface
Managing events
Final test
Summary
9. Twitter Access Control System with Smart Card and RFID
The basics of functioning
Setting up the hardware
Setting up the smart card reader
Setting up the RFID LF reader
Setting up the RFID UHF reader
The final picture
Setting up the software
Setting up the Twitter utility
The smart card implementation
The RFID LF implementation
The RFID UHF implementation
Final test
Summary
10. A Lights Manager with a TV Remote Controller
The basics of functioning
Setting up the hardware
Setting up the infrared detector
Setting up the relays array
The final picture
Setting up the software
Setting up the kernel driver
The LIRC tools
The input events manager
The final test
Summary
11. A Wireless Home Controller with Z-Wave
The basics of functioning
Setting up the hardware
Setting up the Z-Wave controller
Setting up the Z-Wave wall plug
Setting up the Z-Wave multisensor
The final picture
Setting up the software
Setting up the Python bindings
The Z-Wave manager
The final test
Summary
3. Module 3
1. Preparing the BeagleBone Black
Unpacking and powering up
Installing an operating system
Connecting to an external computer
Installing a Windows manager
Installing additional core software packages
Installing a vision library
Installing sound capability
Creating and recording sound
Making your BeagleBone Black speak
Installing speech recognition
Improving speech recognition accuracy
Responding to voice commands
Adding additional hardware and software for a fully functional core system
Summary
2. Building a Basic Tracked Vehicle
Choosing the tracked platform
Connecting a motor controller to control the speed of your tracked platform
Choosing the battery
Connecting the motor controller
Connecting the motor controller system
Controlling your mobile platform programmatically using the BeagleBone Black and Python
Adding program arguments to control your platform
Accessing motor control via voice commands
Summary
3. Adding Sensors to Your Tracked Vehicle
Basics of sensors
Adding distance sensors
Sonar sensors
Adding an array of inexpensive sonar sensors to the project
IR sensors
Dynamic path planning for your robot
Basic path planning
Avoiding obstacles
Summary
4. Vision and Image Processing
Connecting a webcam to the BeagleBone Black
Using OpenCV
Finding colored objects in your vision system
Following colored objects with your vision system
Finding movement in your vision system
Following movement with your robot
Summary
5. Building a Robot that Can Walk
Building robots that can walk
Working of servomotors
Building the quadruped platform
Using a servo controller to control the servos
Communicating with the servo controller via a PC
Connecting the servo controller to the BeagleBone Black
Creating a program on Linux to control your quadruped
Issuing voice commands to your quadruped
Summary
6. A Robot that Can Sail
The BeagleBone Black and robots that can sail
Building the sailboat platform
Controlling servos with the BeagleBone Black
Controlling the servos on the sailboat from a program
Remote control of the sailboat
A ZigBee tutorial
Summary
7. Using GPS for Navigation
Beginning with a GPS tutorial
Connecting GPS to the BeagleBone Black
Communicating with the GPS
Parsing the GPS information
Calculating distance and bearing
Summary
8. Measuring Wind Speed – Integrating Analog Sensors
Connecting an analog wind speed sensor
Getting sensor data from the wind speed sensor
Some basics of sailing
Summary
9. An Underwater Remotely Operated Vehicle
Building the hardware for the ROV
Controlling brushless DC motors using the BeagleBone Black
Program to control DC motors using the BeagleBone Black
Connecting to the BeagleBone Black via a long LAN
Accessing a camera for your project
Summary
10. A Quadcopter
Basics of quadcopter flight
Building the quadcopter
Connecting the BeagleBone Black to the quadcopter
Controlling the quadcopter using the BeagleBone Black
Summary
11. An Autonomous Quadcopter
Controlling quadcopter flight wirelessly
Adding a game controller to your system
Adding a webcam for autonomous flight
Adding GPS for autonomous flight
Summary
Bibliography
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Table of Contents
Next
Next Chapter
BeagleBone: Creative Projects for Hobbyists
BeagleBone: Creative Projects for Hobbyists
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset