ラズパイ環境構築(2024年版) - wataniguchi/EV3RT GitHub Wiki

  1. RasPike Wiki Raspi_setupページの「Raspberry Pi OSのインストール」の手順に従い、ラズパイで使用するSDカードにPCからイメージを書き込む。Raspberry Pi OSのバージョンは、Debian version: 11 (bullseye) 32bit版を使う。Raspberry PI ImagerのOS選択プルダウンメニューから「Raspberry Pi OS (other)」、「Raspberry Pi (Legacy, 32bit) Lite」の順に選択する。

  2. 同ページの「PCとRaspberry Piの接続」の手順に従い、ラズパイをブートして初期設定した後、当チーム固有の設定を行う。

    1. aptパッケージ管理システム用のパッケージリストを最新化する。pi@peach:~ $ sudo apt update
    2. gitをインストールする。pi@peach:~ $ sudo apt install git
    3. emacsをインストールする。pi@peach:~ $ sudo apt install emacs
    4. X11 forwardingによりemacsを利用中のlibGLエラーを回避するために、予め環境変数を設定しておく。pi@peach:~ $ echo "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.bashrc回避したエラーは、以下のとおり。
      libGL error: No matching fbConfigs or visuals found
      libGL error: failed to load driver: swrast
      
    5. Debianパッケージの依存関係を一気に解決するためのツールであるgdebiをインストールする。pi@peach:~ $ sudo apt install gdebi
    6. (2024/6/10ファイル更新) 当チームはCPythonに替えてPyPyを利用することでリアルタイム性の高い走行体制御を行う。pypy3-libパッケージpypy3パッケージpypy3-devパッケージをラズパイへダウンロードする。これらのパッケージは、LaunchpadのUbuntuサイトより入手したUbuntu版bullseye用PyPy 3.9最新ソースパッケージをRaspberry Pi OS版bullseyeへバックポートしたものである。
    7. ダウンロードしたPyPyパッケージをインストールする。pi@peach:~ $ sudo dpkg -i pypy3-lib_7.3.12+dfsg-Bullseye2_armhf.deb pi@peach:~ $ sudo dpkg -i pypy3_7.3.12+dfsg-Bullseye2_armhf.debpi@peach:~ $ sudo dpkg -i pypy3-dev_7.3.12+dfsg-Bullseye2_all.deb
    8. (2024/6/10ファイル更新) ETロボコン用準備済みPyPy site-packageをラズパイへダウンロードする。このファイルは、ラズパイ上でカレントユーザ向けにpypy3 -m pip installにより各種pythonライブラリをインストールした上で~/.localディレクトリ以下をアーカイブしたものである。
    9. カレントユーザが各種pythonライブラリを利用できるようにする。pi@peach:~ $ tar xzvf pypy3-local-modules_20240609.tar.gz
    10. numpyの依存ライブラリであるOpenBLASライブラリをインストールする。pi@peach:~ $ sudo apt install libopenblas0
    11. (2024/5/29追加) pydotの依存パッケージであるGraphvizをインストールする。pi@peach:~ $ sudo apt install graphviz
    12. (2024/6/10追加) Picamera2の依存パッケージ群をインストールする。pi@peach:~ $ sudo apt install libavdevice58 libqt53dcore5
    13. (2024/6/10追加) 最新のlibcameraバイナリをラズパイへダウンロードする。このファイルは、ラズパイ上でソースコードからビルドしたバイナリを圧縮したものである。
    14. (2024/6/10追加) ダウンロードしたlibcameraバイナリをインストールする。pi@peach:~ $ sudo tar xzvf libcamera-0.2.0.tar.gz -C /
    15. OpenCVライブラリ+pypy3バインディングのDebianパッケージをラズパイへダウンロードする。このファイルは、ラズパイ上でソースコードからビルドしたOpenCV-4.6.0をcheckinstallでパッケージ化したものである。
    16. ダウンロードしたOpenCVライブラリをインストールする。pi@peach:~ $ sudo gdebi libopencv-pypy3.9-relwithdebinfo_4.6.0-2_armhf.deb
    17. インストールした共有ライブラリの依存関係を更新して、動的利用可能にする。pi@peach:~ $ sudo ldconfig
    18. 「Raspberry Pi のスワップ領域拡張」の手順に従い、スワップ領域を拡張する。メモリの小さな機種で、メモリ不足によりmakeが停止することへの予防策。
  3. (2024/6/10変更) カメラのイネーブルは不要。イネーブル済みの場合はRasPike Wiki Raspi_setupページの「Raspberry Pi Cameraの設定」の手順で「[3.Interface Options]→[I1.Legacy Camera]→<Yes>→<Ok>」となっている部分を「[3.Interface Options]→[I1.Legacy Camera]→<No>→<Ok>」と読み替え、カメラをディセーブルする。

  4. 当チームではVNCを利用しないので、同ページの「VNC接続のための設定」の手順は実行不要。

  5. 同ページの「SPIKEとのシリアル通信のための設定」の手順に従い、GPIO接続を有効にする。

  6. 同ページの「IPアドレスでの接続」の手順は、IPアドレスを確認するための参考として利用する。

    • Win10からの接続を行うには: 確認したIPアドレスを、当Wikiの「PC (Win10) 環境構築」の手順Xサーバを準備する際にデスクトップに保存したVcXsrv設定ファイルへ反映させる。以降、デスクトップに保存した設定ファイルをダブルクリックするだけでラズパイへsshできる。
    • Macからの接続を行うには: 確認したIPアドレスを使って、ラズパイへsshでログインする。「-XY」は、X11 forwardingを行うためのオプション。hickory:~ wataru$ ssh -XY [email protected]