🤖
【環境構築】Raspberry Pi4のセットアップ
概要
この記事では、Raspberry Pi 4を活用したプロジェクトのスタートアップガイドについて記述しています。具体的な内容としては、Raspberry Pi 4の組み立てからOSの起動、初期設定、カメラの設定、そしてAI画像認識の環境構築までの手順を備忘録としてまとめています。
セットアップ
購入した商品
マストの設定
※カメラ使用する場合はOSはLegacyを推奨
- 組み立てからOS起動まで - souichi.club
- Raspberry Pi ImagerのセットアップからSD書き込み - qiita.com
- 細かい設定(SSH, ibus-mozc等)のセットアップ - note.com
- Raspberry PiのLED制御 - cgbeginner.net
www.pc-koubou.jp
カメラ設定 -- 記事によると、64ビットのOSではインターフェース設定メニューからカメラ機能を有効にすることができないことで、実際に自分が試してもカメラを有効にできなかった。
- レガシー版のOSを使用した場合、カメラ接続コマンド vcgencmd get_camera は正常に機能し、以下のような結果が表示された。
supported=1 detected=1
- sudo raspistill -o image.jpg コマンドも問題なく動作し、カメラからの画像取得が可能
【追記】
- 機械学習モデルの利用では64ビットがベター。推論の速度等も考慮し64ビット版が望ましい。
- 64ビットで再構築後、カメラが正常に起動。64ビットでは
libcamera-hello
コマンドが使用可能。legacy cameraはenableにしてはならない。また、 vcgencmd get_camera コマンドの結果が0でも気にしなくてよい。 - Bullseyeでのカメラテストの記事
AI画像認識環境構築
唐揚げさんの記事を参考、というかほぼほぼ引用してセットアップ。ただし、以下の留意点あり。
-
環境
- 64ビットOS
- bullseye (Debianのバージョン)
-
OpenCVインストール
※opencv-pythonは2回目の同じコード実行で成功。原因不明。
$ sudo apt-get update
$ sudo apt-get install -y libatlas-base-dev
$ sudo pip3 install -U pip
$ sudo pip3 --default-timeout=1000 install opencv-python==4.7.0.72
- ONNX runtimeインストール
$ sudo pip3 install onnxruntime
- TensorFlowインストール
※インストールURL変更あり。.shファイル実行時エラーなら、中身のコードを1行ずつ実行。
sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran libgfortran5 \
libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev \
liblapack-dev cython3 libatlas-base-dev openmpi-bin libopenmpi-dev python3-dev
sudo pip3 install pip --upgrade
sudo pip3 install keras_applications==1.0.8 --no-deps
sudo pip3 install keras_preprocessing==1.1.0 --no-deps
sudo pip3 install numpy==1.22.1
sudo pip3 install h5py==3.1.0
sudo pip3 install pybind11
pip3 install -U --user six wheel mock
# wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/main/tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221_download.sh"
# ↓のパスに変更
wget "https://github.com/PINTO0309/Tensorflow-bin/blob/main/previous_versions/download_tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221.sh"
# sudo chmod +x tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221_download.sh
sudo chmod +x download_tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221.sh
# ./tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221_download.sh
./download_tensorflow-2.8.0-cp39-none-linux_aarch64_numpy1221.sh
sudo pip3 uninstall tensorflow
sudo -H pip3 install tensorflow-2.8.0-cp39-none-linux_aarch64.whl
# インストール確認
python3 -c 'import tensorflow as tf; print(tf.__version__)'
- TensorFlowLiteのインストール
※こちらもURLを1か所変更
# wget "https://raw.githubusercontent.com/PINTO0309/TensorflowLite-bin/main/2.8.0/download_tflite_runtime-2.8.0-cp39-none-linux_aarch64.whl.sh"
wget "https://github.com/PINTO0309/TensorflowLite-bin/blob/main/2.8.0/download_tflite_runtime-2.8.0-cp39-none-linux_aarch64.whl.sh"
chmod +x download_tflite_runtime-2.8.0-cp39-none-linux_aarch64.whl.sh
./download_tflite_runtime-2.8.0-cp39-none-linux_aarch64.whl.sh
sudo pip3 install --upgrade tflite_runtime-2.8.0-cp39-none-linux_aarch64.whl
モデルのテスト
- 以下の記事を参考に実施。
karaage0703のZenn記事
イメージのバックアップ
vscodeでのssh接続
- 接続方法
- https://tec.tecotec.co.jp/entry/2021/12/11/000000#Raspberry-Piに接続
- ssh接続のボタンが表示されないときの対処
https://zenn.dev/suisuinn/articles/6195c0cb8c54c8
- 接続後、remote環境で以下の拡張機能をインストール
- Python
- Jupyter
よく使うやつ
ssh ユーザ名@ホスト名 → パスワード入力
sudo shutdown -h now
Discussion