見出し画像

Raspberry Pi 5を手に入れました!

今回は、Raspberry Pi 5(以下、ラズパイ5)を手に入れたのでそのことについて書いていきます。


Raspberry Pi 5について

ラズパイ4に比べると、よりパソコンの性能に近づき、動作がかなり早くなっています。これにより、下記の技術同人誌のようなWebアプリ開発や、生成AIを動かすことがやりやすくなりました。ブラウザやアプリの立ち上げも早くなっているので、作業自体もやりやすくなっています。

外見の変化としては、ラズパイ5から電源スイッチがつきました。

公式ケースに入れるとこんな感じになります。

また、性能の向上により発熱量も増加し、ヒートシンク・冷却ファンはほぼ必須となりました。公式ケースに付属しているので、ラズパイ5を買う場合は公式ケースもセットで買うことをおすすめします。

ラズパイ4までとは異なり、冷却ファンはGPIOピンではなく専用のコネクタに接続します。黄色のケーブルが手前にくるようにします。

ラズパイ5でのWebアプリ開発について

昨年に技術同人誌「ラズパイとFlaskでつくる!Webアプリ開発入門」を出させて頂きましたが、執筆時点ではラズパイ5が発売されていませんでした。

今回ラズパイ5を買って検証したので、その結果を書いていきます。

最初に結論から書くと、以下の3点以外は大きな変更がありません。
・Pi ImagerでOSを書き込む手順
・セットアップ時にブラウザの種類を選択する
・オマケのLチカアプリについて

そこで、今回の記事ではそのことをメインで取り上げていきます。

Pi Imagerでのラズパイ5へのOS書き込み方法

現在のPi Imagerの最新バージョンにおいては、ラズパイ5で選択するOSは最初に表示されるOSを選択します。

32-bit版と64-bit版がありますが、ここでが64-bit版を選択します。
以下の画面のようにOSを選択してストレージに書き込めば大丈夫です。

Raspberry Piデバイスの選択は任意です。

セットアップ時のブラウザ選択

大きな変更点ではありませんが、セットアップ時にWebブラウザを選択する画面が出るようになりました。

ここでは「Chromium」を選択します。「Firefox」でも大きな影響はないと思いますので、お好みの方を選択してください。

Lチカアプリについて

本のオマケでSeeedStudioの「Grove Base HAT for Raspberry Pi 」を使ったLチカアプリの開発を紹介していますが、ラズパイ5で試す場合には以下の2点を変更する必要があります。

仮想環境作成の変更

ラズパイ5では本書のコードで使用しているGPIO制御用ライブラリ「RPi.GPIO」が使えなくなりました。そこで、代わりのライブラリとして「gpiozero」を使うのですが、このライブラリを使うにあたって仮想環境の作成を以下のコマンドで行います。

ユーザー名@raspberrypi:[Lチカアプリを作成するディレクトリ] $ python3 -m venv venv --system-site-packages

この--system-site-packagesオプションを使って仮想環境を作成することで、仮想環境下でも「gpiozero」が機能するようになります。

詳細につきましては、こちらの記事が分かりやすく解説してくださっています。

コードの修正

GPIO制御用ライブラリを「RPi.GPIO」から「gpiozero」に置き換えたことで、以下のコードを修正します。なお、修正前のコードについては先頭に#を付しています。

  • ライブラリのインポート

# import RPi.GPIO as GPIO
from gpiozero import LED
  • LEDライトをオンにするコード

@app.route('/led-on', methods=["POST"])
def led_on():
    # GPIO.setmode(GPIO.BCM)
    # GPIO.setup(5, GPIO.OUT)
    # GPIO.output(5, GPIO.HIGH)
    led = LED(5)
    led.on()
    mode = 'オン'
    return redirect(url_for('index', mode=mode))
  • LEDライトをオフにするコード

@app.route('/led-off', methods=["POST"])
def led_off():
    # GPIO.setmode(GPIO.BCM)
    # GPIO.setup(5, GPIO.OUT)
    # GPIO.output(5, GPIO.LOW)
    led = LED(5)
    led.off()
    mode = 'オフ'
    return redirect(url_for('index', mode=mode))

上記の通りコードを修正すればLチカができるのですが、消費電力やHATの影響かスイッチをオンにすると一瞬点滅して終わりというものになってしまいます。こちらについては追って調査していきます。

以上、簡単にですがラズパイ5によって技術同人誌の手順が変わる箇所を書かせていただきました。過去の記事で様々なWebアプリを紹介しているので、こちらもラズパイ5でもぜひ試して見てください。

この記事が気に入ったらサポートをしてみませんか?