The first thing we will need to do is decide on the GPIO library we will be using. If there is a manufacturer specific library available such as
Jetson.GPIO, then that is preferred, since the access times are much better. However, if that option isn't available, then we will turn to
libgpiod which is available for a huge number of boards as it is built into the Linux Kernel.
For the Pine64, although RPi.GPIO was ported over, I ran into an unresolved issue, so we decided to go with libgpiod. Generally libgpiod is available as an installable package, but it's possible that you may need to compile it from source. For the Pine64, it was available as a package.
First we want to check if it's available. To do this, we run the following command:
sudo apt-cache search gpiod
It should output something similar to the following:
The items of interest in this list are:
- libgpiod2 which is the actual libgpiod
- python3-libgpiod which is the Python binding that allows us to make use of the library through Python
- gpiod which contains the tools that we'll need to figure out which microprocessor pins are the correct ones.
Let's go ahead and install all three with the following command:
sudo apt-get install libgpiod2 python3-libgpiod gpiod
Normally compiling libgpiod from source can be complicated. We have a script available that will do just about everything for you. To run it, you need to start by becoming root, so type
sudo bash. Then run the following commands:
chmod +x libgpiod.sh
This will take a few minutes to run. If you get an error, try adding the
--legacy flag to the last command.
After installation you should be able to
import gpiod from within Python3
To test I2C, you will want to install the I2C Tools with the following commands. If your username is different than pi, change it as appropriate:
sudo apt-get install -y python3-smbus python3-dev i2c-tools
sudo adduser pi i2c
Step 1 - Fork Blinka to your GitHub account
If you don't already have the code from Adafruit_Blinka forked to your local GitHub repository, you'll want to start off by doing that. If you are not sure how to use GitHub, we have an excellent guide available on using Git and GitHub.
Step 2 - git clone the Blinka fork to your single board computer
Once you have forked it, you can clone the repository both onto your local computer and onto your SBC. By using your local repository as a copy point, this makes things really easy. If you'd prefer to just edit right on your SBC and commit from there, you can do that too. In this guide, we'll assume you cloned it to your home directory on your SBC.
Some other options for copying over the files include using SFTP and an FTP client such as FileZilla or SCP. However, you decide to do it, the guide will assume that you have a copy of the repository in your home directory and that it is located inside the folder ~/Adafruit_Blinka.