Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Programming the BeagleBone

You're reading from  Programming the BeagleBone

Product type Book
Published in Jan 2016
Publisher
ISBN-13 9781784390013
Pages 180 pages
Edition 1st Edition
Languages

Table of Contents (21) Chapters

Programming the BeagleBone
Credits
About the Author
Acknowledgment
About the Reviewers
www.PacktPub.com
Preface
1. Cloud9 IDE 2. Blinking Onboard LEDs 3. Blinking External LEDs 4. Controlling LED Using a Push Button 5. Reading from Analog Sensors 6. PWM – Writing Analog Information 7. Internet of Things with BeagleBone 8. Physical Computing in Python 9. UART, I2C, and SPI Programming 10. Internet of Things using Python GPIO Control in Bash BeagleBone Capes
Pinmux and the Device Tree Index

Appendix A. GPIO Control in Bash

We used JavaScript and the Python language in this book. You do not always need to write complex programs to control GPIO. You can access GPIO using simple BASH shell commands. You will need to use the sysfs interface for this; sysfs is a virtual filesystem created by kernel to export information and control of subsystems and hardware devices. So, if you modify the control files in this filesystem, you change the actual hardware parameters.

Check the BeagleBone GPIO map diagram that we studied in Chapter 3, Blinking External LED s. It has the mapping of pin numbers with GPIO names. The P8_10 pin is the GPIO pin with number 68. It is given as gpio2[4] in the BeagleBone System Reference Manual. This means that P8_10 is the fourth pin in the gpio2 bank. The BeagleBone processor has four banks of 32 GPIO pins each—gpio0, gpio1, gpio2, and gpio3. Numbers 0-32 are given to gpio0 and 33-64 numbers are given to the gpio1 bank. So, the fourth pin in the gpio2 bank is actually the 68th GPIO pin. Thus, P8_10 gets converted to GPIO number 68. This conversion works for all the GPIO pins. We will need this number when dealing with GPIO on BASH.

Attach an external LED to P8_10 as we did in Chapter 3 for the blinking exercise. Write this shell program in Cloud9 or use the vi editor. Save it as blink.sh and run it from the Cloud9 IDE or in the shell using the sudo chmod 755 blink.sh; sudo ./blink.sh command:

#!/bin/sh
echo 68 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio68/direction
while(true)
do
    echo 1 > /sys/class/gpio/gpio68/value
    sleep 1
    echo 0 > /sys/class/gpio/gpio68/value
    sleep 1
done
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}