Using library for SPI Setup Beaglebone Black The first step is setup the Beaglebone Black if you have one in your hand. 0I| YXe AJZTJkqS7wvO]b,cP]UH1^nfySWyovlU7B+(Fnm.lacS|*M.R/O.Alg 9~;qaL)v]Chth9o;jg(00FIHk=a?4Wb-Sif?|FGWi/S+@ibfHt! You'll want to view the last page of this guide to see which pins are available to use. It's a Python web server that serves a static page on port 80. A mini USB cable the Beaglebone Black OR a micro USB cable for the Green. - GPIO1_12 # * A LED is connected to pin 14 on header P8. Written by Justin Cooper, Adafruit Industries. You may need to run this library with sudo, particularly on Ubuntu. Reading the value from an INPUT pin (returns 1 for HIGH and 0 for LOW): You can use the following BoneScript commands to control the GPIO. Alternatively, you can point your browser to your device's local IP address to access the server running on your device. Using the Adafruit_BBIO library with the BeagleBone Black (BBB) is fairly simple, especially if you're familiar with the RPi.GPIO library for the Raspberry Pi. I was wondering what are some other GPIO Python libraries that people use. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. {"appState":{"pageLoadApiCallsStatus":true},"articleState":{"article":{"headers":{"creationTime":"2016-03-26T08:06:31+00:00","modifiedTime":"2016-03-26T08:06:31+00:00","timestamp":"2022-09-14T17:52:40+00:00"},"data":{"breadcrumbs":[{"name":"Technology","_links":{"self":"https://dummies-api.dummies.com/v2/categories/33512"},"slug":"technology","categoryId":33512},{"name":"Computers","_links":{"self":"https://dummies-api.dummies.com/v2/categories/33513"},"slug":"computers","categoryId":33513},{"name":"Hardware","_links":{"self":"https://dummies-api.dummies.com/v2/categories/33516"},"slug":"hardware","categoryId":33516},{"name":"BeagleBone","_links":{"self":"https://dummies-api.dummies.com/v2/categories/33518"},"slug":"beaglebone","categoryId":33518}],"title":"How to Control BeagleBone's GPIOs","strippedTitle":"how to control beaglebone's gpios","slug":"how-to-control-beaglebones-gpios","canonicalUrl":"","seo":{"metaDescription":"Following is a handy reference that you can use to control and access your BeagleBones general purpose input/output (GPIOs) with the file system, BoneScript, a","noIndex":0,"noFollow":0},"content":"
Following is a handy reference that you can use to control and access your BeagleBones general purpose input/output (GPIOs) with the file system, BoneScript, and Python.
\nControlling the GPIO with the file system
\nYou can use the following commands to control the GPIO with the file system.
\n- \n
Exporting a pin:
\necho 40 > /sys/class/gpio/export
\n \n Setting a pin OUTPUT:
\necho out > /sys/class/gpio/gpio40/direction
\n \n Writing a pin HIGH:
\necho 1 > /sys/class/gpio/gpio40/value
\n \n Writing a pin LOW:
\necho 0 > /sys/class/gpio/gpio40/value
\n \n Setting a pin INPUT:
\necho in > /sys/class/gpio/gpio40/direction
\n \n Reading the value from an INPUT pin (returns 1 for HIGH and 0 for LOW):
\n \ncat /sys/class/gpio/gpio40/value
\n \n
Controlling the GPIO with BoneScript
\nYou can use the following BoneScript commands to control the GPIO.
\n- \n
Loading a BoneScript module:
\nvar b = require('bonescript');
\n \n Setting a pin OUTPUT:
\nb.pinMode(\"P9_14\", b.OUTPUT);
\n \n Writing a pin HIGH:
\nb.digitalWrite(\"P9_14\", b.HIGH);
\n \n Writing a pin LOW:
\nb.digitalWrite(\"P9_14\", b.LOW);
\n \n Setting a pin INPUT:
\nb.pinMode(\"P8_11\", b.INPUT);
\n \n Reading the value from a digital INPUT pin (returns HIGH or LOW):
\nb.digitalRead(\"P8_11\");
\n \n Setting a pin for pulse-width modulation (PWM) with 50 percent duty cycle:
\nb.pinMode('P9_14', b.OUTPUT);\nb.analogWrite('P9_14', 0.5);
\n \n Reading the value from an analog INPUT pin (returns a value between 0 and 1):
\n \nb.analogRead('P9_40');
\n \n
Controlling the GPIO with Python
\nYou can use the following Python commands to control the GPIO.
\n- \n
Importing Adafruits BeagleBone Input Output Library:
\nimport Adafruit_BBIO.GPIO as GPIO
\n \n Setting a pin OUTPUT:
\nGPIO.setup(\"P9_14\", GPIO.OUT)
\n \n Writing a pin HIGH:
\nGPIO.output(\"P9_14\", GPIO.HIGH)
\n \n Writing a pin LOW:
\nGPIO.output(\"P9_14\", GPIO.LOW)
\n \n Setting a pin INPUT:
\nGPIO.setup(\"P8_11\", GPIO.IN)
\n \n Reading the value from a digital INPUT pin (returns HIGH or LOW):
\nGPIO.input(\"P8_11\")
\n \n Setting a pin for PWM with 50 percent duty cycle:
\nimport Adafruit_BBIO.PWM as PWM\nPWM.start(\"P9_14\", 50)
\n \n Setting an analog INPUT:
\nimport Adafruit_BBIO.ADC as ADC\nADC.setup()
\n \n Reading the value from an analog INPUT pin (returns a value between 0 and 1):
\n \nanalogReading = ADC.read(\"P9_40\")
\n \n
Following is a handy reference that you can use to control and access your BeagleBones general purpose input/output (GPIOs) with the file system, BoneScript, and Python.
\nControlling the GPIO with the file system
\nYou can use the following commands to control the GPIO with the file system.
\n- \n
Exporting a pin:
\necho 40 > /sys/class/gpio/export
\n \n Setting a pin OUTPUT:
\necho out > /sys/class/gpio/gpio40/direction
\n \n Writing a pin HIGH:
\necho 1 > /sys/class/gpio/gpio40/value
\n \n Writing a pin LOW:
\necho 0 > /sys/class/gpio/gpio40/value
\n \n Setting a pin INPUT:
\necho in > /sys/class/gpio/gpio40/direction
\n \n Reading the value from an INPUT pin (returns 1 for HIGH and 0 for LOW):
\n \ncat /sys/class/gpio/gpio40/value
\n \n
Controlling the GPIO with BoneScript
\nYou can use the following BoneScript commands to control the GPIO.
\n- \n
Loading a BoneScript module:
\nvar b = require('bonescript');
\n \n Setting a pin OUTPUT:
\nb.pinMode(\"P9_14\", b.OUTPUT);
\n \n Writing a pin HIGH:
\nb.digitalWrite(\"P9_14\", b.HIGH);
\n \n Writing a pin LOW:
\nb.digitalWrite(\"P9_14\", b.LOW);
\n \n Setting a pin INPUT:
\nb.pinMode(\"P8_11\", b.INPUT);
\n \n Reading the value from a digital INPUT pin (returns HIGH or LOW):
\nb.digitalRead(\"P8_11\");
\n \n Setting a pin for pulse-width modulation (PWM) with 50 percent duty cycle:
\nb.pinMode('P9_14', b.OUTPUT);\nb.analogWrite('P9_14', 0.5);
\n \n Reading the value from an analog INPUT pin (returns a value between 0 and 1):
\n \nb.analogRead('P9_40');
\n \n
Controlling the GPIO with Python
\nYou can use the following Python commands to control the GPIO.
\n- \n
Importing Adafruits BeagleBone Input Output Library:
\nimport Adafruit_BBIO.GPIO as GPIO
\n \n Setting a pin OUTPUT:
\nGPIO.setup(\"P9_14\", GPIO.OUT)
\n \n Writing a pin HIGH:
\nGPIO.output(\"P9_14\", GPIO.HIGH)
\n \n Writing a pin LOW:
\nGPIO.output(\"P9_14\", GPIO.LOW)
\n \n Setting a pin INPUT:
\nGPIO.setup(\"P8_11\", GPIO.IN)
\n \n Reading the value from a digital INPUT pin (returns HIGH or LOW):
\nGPIO.input(\"P8_11\")
\n \n Setting a pin for PWM with 50 percent duty cycle:
\nimport Adafruit_BBIO.PWM as PWM\nPWM.start(\"P9_14\", 50)
\n \n Setting an analog INPUT:
\nimport Adafruit_BBIO.ADC as ADC\nADC.setup()
\n \n Reading the value from an analog INPUT pin (returns a value between 0 and 1):
\n \nanalogReading = ADC.read(\"P9_40\")
\n \n
Brock Craft is a Lecturer in Physical Computing at Goldsmiths, University of London in the Department of Computing.