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

  1. RasPike Wiki Raspi_setupページの「Raspberry Pi OSのインストール」の手順に従い、ラズパイで使用するSDカードにPCからイメージを書き込む。当チームではラズパイのデスクトップを利用しないので、書き込むイメージはRaspberry Pi OS Lite (32-bit)でも良い。

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

    1. gitをインストールする。pi@peach:~ $ sudo apt-get install git
    2. emacsをインストールする。pi@peach:~ $ sudo apt-get install emacs
    3. 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
      
    4. Pythonのパッケージ管理ツールであるpipをインストールする。pi@peach:~ $ sudo apt-get install python3-pip
    5. Pythonの計算ライブラリであるPandasをインストールする。pi@peach:~ $ sudo apt-get install python3-pandas
    6. Debianパッケージの依存関係を一気に解決するためのツールであるgdebiをインストールする。pi@peach:~ $ sudo apt-get install gdebi
    7. OpenCVライブラリのDebianパッケージをラズパイへダウンロードする。このファイルは、ラズパイ上でソースコードからビルドしたOpenCV-4.6.0をcheckinstallでパッケージ化したものである。
    8. ダウンロードしたOpenCVライブラリをインストールする。pi@peach:~ $ sudo gdebi libopencv-dev-relwithdebinfo_4.6.0-1_armhf.deb
    9. raspivideocapのDebianパッケージをラズパイへダウンロードする。このファイルは、ラズパイ上でソースコードからビルドしたraspivideocap(coyote009@github作成のMMAL APIを利用するためのライブラリ。OpenCVのVideoCaptureクラス類似のインターフェースを提供)をcheckinstallでパッケージ化したものである。
    10. ダウンロードしたraspivideocapライブラリをインストールする。pi@peach:~ $ sudo gdebi raspivideocap-dev_20230717-1_armhf.deb
    11. インストールした共有ライブラリの依存関係を更新して、動的利用可能にする。pi@peach:~ $ sudo ldconfig
    12. euid=0のタスクがラズパイログインユーザの~/.Xauthorityファイル内の認証キーを使ってPCへX接続できる工夫をしておく。pi@peach:~ $ echo "sudo cp ~/.Xauthority /root" >> ~/.bashrcこれは、ETロボコンのユーザープログラムがTOPPERS/ASP3の下でeuid=0 (root)で稼動することに対する考慮である。X11 forwardingありのssh接続をした際に動的に作成される~/.Xauthorityファイルをログインスクリプト内でrootのホームディレクトリへ複写することで、ssh接続の確立直後に認証キーがrootユーザに共有されることになる。
    13. 「Raspberry Pi のスワップ領域拡張」の手順に従い、スワップ領域を拡張する。メモリの小さな機種で、メモリ不足によりmakeが停止することへの予防策。
  3. RasPike Wiki Raspi_setupページの「Raspberry Pi Cameraの設定」の手順に従い、カメラをイネーブルする。

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

  5. 同ページの「SPIKEとのシリアル通信のための設定」の手順に従い、GPIO接続を有効にする。なお、この手順にある/boot/config.txtはRaspberry Pi 4用であり、Raspberry Pi Zeroで動作させるためには異なる記述が必要。

    • Raspberry Pi 4用の/boot/config.txt(ファイル最下部のみ表示)
    [all]
    gpu_mem=128
    dtoverlay=uart5
    
    • Raspberry Pi Zero用の/boot/config.txt(ファイル最下部のみ表示)
    [all]
    gpu_mem=128
    dtoverlay=disable-bt
    

    Raspberry Pi Zeroについては、併せて/boot/cmdline.txtから"console=serial0,115200"の記述を削除することで、コンソールとのシリアルデバイス競合を防ぐ。/boot/cmdline.txtの編集は、コマンドで行うこともできる。sudo sed -i -e 's/console=serial0,115200 //' /boot/cmdline.txt

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

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