TOPに戻る

ラズパイ5 2025年夏(2023年10月更新 bookworm) ② GPIO gpiozero

 GPIOを利用します。利用できるPythonのライブラリはgpiozeroだけと思われます。

環境

  • Windows11;24H2 コマンドプロンプト sshでアクセス
  • Raspberry Pi 5  4GBモデル
  • OS Raspberry Pi OS (64ビット)、bookworm (2025-06-26)
  • Python 3.11.2

仮想環境

 仮想環境を利用するには、

  • 作成
  • 有効化

の二つの作業が必要です。オフィシャルのドキュメントは次のWebにあります。

  venv --- 仮想環境の作成

 一度仮想環境に入った後、通常の利用環境に抜けるには、仮想環境を「無効化」します。

(env) yoshidaw@ras05:~ $ deactivate

 仮想環境を「作成」します。最後のenvが仮想環境の名称です。

$ python -m venv env

 仮想環境を「有効化」します。プロンプト部分が変化しました。

yoshi@ras05:~ $ source env/bin/activate
(env) yoshidaw@ras05:~ $ 

 モジュールを表示します。

(env) yoshidaw@ras05:~ $ pip list
Package    Version
---------- -------
pip        23.0.1
setuptools 66.1.1
(env) yoshidaw@ras05:~ $ 

 ここでプログラミングを行います。

 仮想環境は複数作れます。それぞれの仮想環境内で追加したライブラリ類は、その仮想環境で利用できます。そして、バージョンも、その仮想環境で固定?されます。

接続

 LEDを接続します。

 R1は330~470Ω、LED1は色はなんでもよいですが、ここでは赤色を使いました。

ライブラリの追加

 pip listで表示したとおり、最初はライブラリがない状態です。このenv仮想環境下で利用するライブラリgpiozeroを追加します。


(env) yoshidaw@ras05:~ $ pip install gpiozero
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting gpiozero
  Downloading https://www.piwheels.org/simple/gpiozero/gpiozero-2.0.1-py3-none-any.whl (150 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.8/150.8 kB 281.6 kB/s eta 0:00:00
Collecting colorzero
  Downloading https://www.piwheels.org/simple/colorzero/colorzero-2.0-py2.py3-none-any.whl (26 kB)
Requirement already satisfied: setuptools in ./env/lib/python3.11/site-packages (from colorzero->gpiozero) (66.1.1)
Installing collected packages: colorzero, gpiozero
Successfully installed colorzero-2.0 gpiozero-2.0.1

(env) yoshidaw@ras05:~ $ pip list | grep gpiozero
gpiozero                           2.0.1

 サンプル・プログラムです。gpio01.pyで保存しました。

from gpiozero import LED
from time import sleep

led = LED(21)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)

 実行します。LEDが点滅を始めました。

 従来、GPIOのアクセスは管理者権限が必要でしたが、長い間、ラズパイのデフォルト・ユーザはそのユーザ権限でGPIOをアクセスできました。しかし、ラズパイ5の今の環境では、管理者権限が必要なようです。

(env) yoshidaw@ras05:~ $ sudo python gpio01.py

(env1) yoshidaw@ras05:~ $ pip list
Package    Version
---------- -------
colorzero  2.0
gpiozero   2.0.1
pip        23.0.1
setuptools 66.1.1

-