はじめに

Raspberry Pi 4にインストールしたUbuntu 21.10で、Python内でLGPIOライブラリを使ってGPIO制御をします。

こちらのページによると、Ubuntu 21.04からは、従来のRPi.GPIOなどを使ったGPIO制御ができなくなりますが、

LGPIOというライブラリを使うと、制御できるそうなので試してみました。

C言語でLGPIOライブラリを使う方法は、こちらの記事で書きました。

環境

・Raspberry Pi 4 Model B 4GB

・Ubuntu Desktop 21.10 64bit版

手順

LGPIOのインストール

手順は簡単で、まずはパッケージを最新化します。

$ sudo apt update

次に、下記のコマンドを実行します。

成功すれば、インストール完了です。

$ sudo apt install python3-lgpio

Pythonのプログラム内でLGPIOを使う

GPIO制御ができることを確認するために、Lチカをしてみます。

配線

下記の配線をしています。BCM表記で4番ピン(物理番号で7番ピン)を出力にしてLチカします。

プログラムを作成

下記のPythonプログラムのファイルを作成します。

import lgpio
import time, sys

# GPIO番号(BCM)を変数に代入
LED_PORT = 4

# dev/gpiochip0をオープン
h = lgpio.gpiochip_open(0)

# 指定したピンにモード(出力)を設定
lgpio.gpio_claim_output(h, LED_PORT)
try:
    while True:
        # 指定したピンを点灯(HIGHを設定)
        lgpio.gpio_write(h, LED_PORT, 1)
        # 0.3秒待つ
        time.sleep(0.3)

        # 指定したピンを消灯(LOWを設定)
        lgpio.gpio_write(h, LED_PORT, 0)
        # 0.3秒待つ
        time.sleep(0.3)

except KeyboardInterrupt:
    # dev/gpiochip0をクローズ
    lgpio.gpiochip_close(h)

実行

下記のコマンドで実行します。Lチカできれば成功です。

※python2系の場合は、コメントの日本語のせいでエラーになるかもしれません。

$ sudo python3 blink.py