メインコンテンツへスキップ
見出し画像

Raspberry Pi5の環境構築

    1.概要

     2024年2月13日からRaspberry Pi5が国内販売開始されました。既に多くのレビューが出ておりますが、自分用で特徴・仕様や環境構築方法をまとめていきます。

     Raspberry Piの基本的な情報およびRaspberry Pi4の環境構築は下記記事に記載しているため、本記事ではpi4と比較をメインとしていきます。

    1-1.Raspberry Pi5の概要

     概要的な特徴を抽出しました。

    1. USB-CコネクタのPower Delivery 5V5A推奨(USB-C)

      • Raspberry Pi 4の電源は通常5V3Aである。

      • 5V3Aだと起動可能だが各USBポートからの供給電源Max=600mAとなる

    2. Pi4より2~3倍のパフォーマンスを実現

      • CPUに2.4GHz quad-core 64-bit Arm Cortex-A76 CPUを搭載

      • GPU:VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.2

    3. 発熱量が増加しているためファン設置は推奨

      • Raspberry Pi4は案外ファンが無くても問題なかったがpi5は必要そう

      • 動画再生など重い処理をすると発熱が大きくなるとのこと

    4. インターフェイスの一部が変更

      • UARTコネクタを新規搭載:UARTは非同期シリアル通信

      • PCIe(PCI Express 2.0) 2.0が追加:別売りのM.2 HATを使って外付けのM.2 NVMe SSDを接続することが可能

      • MIPI(4レーン)が2個:デュアルカメラで2か所を同時撮影。注意点として新コネクタを使用しており旧モデル用のケーブルは物理的に接続できません。つまり、専用のケーブルがないと昔のカメラモジュールが使用できません。

    5. ハードウェアも一部が変更

      • Raspberry Piシリーズ初のI/OコントローラーチップRP1を搭載

      • リアルタイムクロック(RTC)の追加(外部バッテリーから電源供給)

      • 基板上の電源ボタンが追加

    画像

    【Raspberry Pi5の構成】
     pi5の構成図および詳細ポートは下図の通りです。

    画像
    https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html
    画像
    https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html

    【RP1について】
     RP1はRaspberry Pi5用のサウスブリッジ (South Bridge)であり、多くの"I/O capabilities"を提供する。
    ※サウスブリッジ:複数のチップからなるチップセットのうち、各種のI/Oコントローラを統合し、拡張バスなどとデータの橋渡し(Bridge)の役割を担うチップを指す一般名称。

    画像
    https://www.raspberrypi.com/documentation/microcontrollers/rp1.html

    【外観】
     サイズ感は下図の通りでありRaspberry Pi4とほぼ同じです。

    画像
    画像

    1-2.詳細仕様

     公式の下記ドキュメントを参照しました。


    画像

    1-3.Raspberry Pi4との比較

     写真による比較は下図の通りです(ボード上にpi4, pi5記載あり)。

    画像

     Switch Scienceのレビューより比較表の公開されているためご参考までに。

    画像
    https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html
    画像
    https://racoubit.org/expl/hard/raspi4B.html
    画像
    https://www.switch-science.com/blogs/magazine/raspberry-pi-5-review

    2.製品の購入

     まず初めにRaspberry Piに必要な部材を購入していきます。詳細な周辺機器は下記記事参照のこと。

    2-1.★購入時の注意事項:購入先の選定★

     2022年には半導体価格高騰も相まってAmazonなどに転売屋が乱立していました。Raspberry Piは転売の標的となりやすいため注意が必要です。
     とりあえず、KSY、スイッチサイエンス、秋月電子あたりの価格を比較しておけば大丈夫と思います。

    【注意点:技術基準適合証明等を受けたRaspberry Pi5の選定】
     Amazonなどで購入する場合は”技術基準適合証明等(技適)”を合格したものを選定する必要があります。
     技術基準適合証明は、総務大臣の登録を受けた者等が、特定無線設備について、電波法に定める技術基準に適合しているか否かについての判定を無線設備1台ごとに行う制度です(制度の概要(登録証明機関一覧))。
      Raspberry Pi5は2023年9月28日に製品発表されていますが、国内では技適が通っておらず販売開始されておりませんでした。2024年1月11日に技適を通過し、2023年2月13日より国内代理店で順次販売開始されました。
     Amazonなどでは技適が通っていない海外品、つまり国内では使用してはいけない製品を販売しているところも確認されるため、正規代理店からの購入を推奨します。

    画像

    2-2.購入に関するまとめ

     Raspberry Pi5を使用するために必要な物をまとめました。

    【購入必須品:すでに所持している場合は不要】

    1. Raspberry Pi 5:本体

    2. Micro SDカード(推奨は16Gバイト以上):OS用

    3. USB-C電源アダプタ:電源用(3A以上必須、推奨:5A)

    4. SDカードリーダー:PCでのOS書き込み用(※PCで直接Micro SDカードを読み込める場合は不要)

    5. 冷却ファン:冷却用

    6. HDMIケーブル(HDMI-micro):ディスプレイ接続用

    7. Ethernetケーブル:ネット接続用(※Wi-fi使用の場合は不要)

    8. 周辺機器(アクセサリー):ディスプレイ、(有線)キーボード、(有線)マウス

    2-3.購入品

     参考用にリンクを追加しました。コメントは下記の通りです。

    • 電源(5V5A)は日本国内メーカーの物が確認できなかったため、公式品のリンクを追加(私は手持ちの5V3Aを使用したため未購入)

    • ノートPC勢はmicro SDのポートがあるため、カードリーダーは不要

    2-4.周辺機器の紹介

     周辺機器は別記事でまとめましたのでご参考までに。

     参考までにKSY社のリンクは下記の通りです。

    画像

    3.環境構築1:OSの書き込み

     一般的なPCは最初からOS(Windows11/Macなど)が入っておりますが、ラズパイhがデフォルトでは何も入っておりません。よってラズパイは事前にOS(Linuxなど)をSDカードに書き込む必要があります。
     本章ではOSのインストール方法を説明しますが、基本的な内容は前回記事と同じです。

    3-1.Rasberry Pi Imagerのダウンロード

     公式Raspberry Pi OSに移動し、Raspberry Pi ImagerのexeファイルをDLします。私は”Download for Windows”をインストールしました。

    画像
    https://www.raspberrypi.com/software/

    【コラム:古いVersion使用時】
     現在の最新はVer.1.8.5です。Ver1.7から中身は大きく変わっているため、古いままの方は再度インストールしてすれば更新できます。

    画像

    3-2.SDカードにOSの書き込み

     マイクロSDをPCに設置します。私のPCは直接SDカードを差せないためカードリーダーにマイクロSDを付けたうえでUSB接続しています。

    画像

     マイクロSDをPCに取付後、Raspberry Pi Imagerを開いてOSの選択/設定を実施します。詳細は下記の通りです。

    1. 「Raspberry Piデバイス」で「Raspberry Pi 5」を選択

    2. 「OS」で「Raspberry Pi OS(64-bit)」を選択

    3. 「ストレージ」で挿入したmicroSDカードを選択

    4. 「次へ」を押し、「設定を編集する」を押す

    5. OS Customizationの「一般」タブを選択し、設定する

      • ホスト名:チェックだけ入れる。名称はデフォルトのまま

      • ユーザー名とパスワードを設定する:自分のID/PASSを設定

      • Wi-Fiを設定する:SSIDとパスワード追加+国をJPに変更

      • ロケールを設定する:キーボードレイアウトをjpに変更

    6. OS Customizationの「サービス」を選択し、「SSHを有効化する」のチェックを入れて保存する。

    7. 書き込み完了後に「ドライブを使うにはフォーマットする必要があります」と出た場合は、「キャンセル」をクリック

    画像
    画像

    【コラム:書き込みエラーの対応】
     「確認中にエラーが発生しました。書き込んだはずのデータが実際にSDカードに記録されたデータと一致していません」と出ることがあります。

    画像

     私の場合はシンプルにSDカードの不良or故障でした。64GBのSDカードのはずですが、ストレージ選択時に何故か8GBしか認識されておりませんでした。よく見ると少しひびが入っているため、壊れていたのかもしれません。
     同じ型式で別のSDカードに交換したら問題なくインストールできました。

    画像

    3-3.マイクロSDをラズパイに設置

     書き込みが完了したらmicro SDカードをラズパイに設置します。基盤の裏側に取り付け口があるためmicro SDカードを奥まで差し込めば完了です。

    画像

    4.環境構築2:起動および初期設定

     Raspberry Pi5を起動して最低限の初期設定を実施します。
     Raspberry Pi imagerの時点で入力できる情報は入れたため、Raspberry Pi4(Ver1.7)の時より楽になってます。

    4-1.周辺機器(アクセサリー)の設置

     初期設定のためアクセサリーを設置します。

    1. 電源:TypeCのACアダプター

      • 電源はRaspberry Pi4で使用していた5V3Aを転用

      • ELECROWモバイルモニターを使用する方は①USBで電源追加、②裏側の画面表示のON/OFFをONに設定することを忘れないこと

    2. ディスプレイ+HDMIケーブル:モニター用

    3. マウス及びキーボード:入力用(初期は有線推奨)

    4. ファンorケース:冷却用

    画像

     後は電源を入れてしばらくするとホーム画面が映るようになります。

    画像

    【参照:Raspberry Pi5公式ケースのつけ方】
     下記参照のこと

    画像

    4-2.日本語の設定

     Raspberry Piはデフォルトで英語のため日本語設定に変更します。ホームボタンーPreferencesーRaspberry Pi Configurationから下図の通り設定し、再起動します。再起動後に日本語の画面に変更されます。

    画像

    【参考:BluetoothとWifi】
     BluetoothはデフォルトでONであり、Wi-fiもRaspberry Pi Imagerの時点で設定済みだったため、追加対応は不要でした。 

    画像

    4-3.インターフェイスの有効化

     用途に合わせて使用できるようインターフェイスの有効化を実施します。

    画像

    【参考:インターフェースの概要】
     各インターフェースの用途は下記の通りです。

    1. リモート接続:別のPCなどからRasberry Piに接続し遠隔操作が可能

    2. シリアル通信:センサーデバイスなどPCとマイコンを通信で情報交換

      • SPI:4つの信号線を使用した同期式シリアル通信

      • I2C:下記サーボモーターの記事参照

      • シリアルポート(UART):非同期のシリアル通信

    3. シリアルコンソール:ー

    4. 1-Wire:アナログ・デバイセズ社の登録商標であり、接地線(GND)と一本の信号線(兼電力供給線)だけで低速なデータ転送を行うシリアルインターフェイス規格(出典:丸文)

    5. リモートGPIO:WebIOPIでラズパイを遠隔操作する

     1-Wire等は再起動が必要となります。参考までに1-Wireデバイスが有効化されたかは下記コマンドでアドレスリストが確認できます。

    [Terminal]
    ls /sys/bus/w1/devices/
    画像

    5.環境構築3:より良い準備(任意)

     電子工作向けには不要ですが、Rasberry Piを用いてAIやプログラミングを進めていきたい人用に記載しました。

    5-1.SDカードの領域拡張:Expand Filesystem

     Rasberry Piでは条件次第では使用したSDカード容量が十分に使用されない現状が生じます。(※記事が古くRaspberry Pi ImagerもVersionアップしているため、今回は確認用で実施しましたがしなくても良いと思います。)

    https://www.raspberrypi.com/documentation/computers/configuration.html

     SDカード容量の確認は"df -h"コマンドを実行します。

    [Terminal]
    df -h
    画像

     SDカードの容量が十分に使われていない場合は"sudo raspi-config"コマンドから"Expand Filesystem"を実行して再起動します。再起動後はSDカード容量が拡張されているか"df -h"で確認できます。
     今回のケースでは「変更がなく特にする必要がない作業」でした。

    [Terminal]
    sudo raspi-config
    画像

    5-2.システムの更新:sudo apt update/upgrade

     本設定は特に実行しなくても使用できますが、Rasberry Piを最新の状態にしておくために実行を推奨します。

    [Terminal]
    sudo apt-get update
    sudo apt-get upgrade
    [Terminal:コマンドを連結した記法であり同上]
    sudo apt-get update && sudo apt-get upgrade

    【注意:非推奨のコマンド(sudo rpi-update)】
     ファームウェアを更新する"sudo rpi-update"コマンドは公式Docsでは非推奨です。ブログでも本コマンドはよく見るのですが、初学者(動作が理解できない場合)はやらない方が良いと思います。

    5-3.日本語のテキスト入力:iBus+Mozc

     Rasberry Piはデフォルトでは日本語でテキスト入力ができません。コードでコメントを日本語で記載する時などに便利なため設定を追加します。
     インストールは下記記事参考にしており、コマンドは下記の通りです。

    [Terminal]
    sudo apt update
    sudo apt install ibus-mozc
    sudo shutdown -r now

    5-4.OS/ビット数の確認

     AIやプログラミングを実施する場合に使用しているRaspberry Pi環境の情報が必要になります。
     下記コマンドによりRasberry Pi仕様(OS/ビット数)を確認できます。

    【システムの基本情報】

    [Terminal]
    uname -m
    uname -a
    
    [OUT]
    aarch64
    Linux raspberrypi 6.1.0-rpi7-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
    画像

    【Linux Standard Base (LSB) に関連する情報】

    [Terminal]
    lsb_release -a
    
    [OUT]
    No LSB modules are available.
    Distributor ID:	Debian
    Description:	Debian GNU/Linux 12 (bookworm)
    Release:	12
    Codename:	bookworm
    画像

    【Rasberry Pi OSのbit数】
     選択するRasberry Pi OSのbit数は”getconf LONG_BIT”で確認できます。Rasberry Pi Imagerで選択したbit数になっているかご確認ください。

    [Terminal]
    getconf LONG_BIT
    
    [OUT]
    64
    画像

    5-5.任意:ターミナルの文字サイズ変更

     ターミナルの文字サイズは「編集->設定->端末のフォント->サイズ」から変更可能です。ターミナルの文字サイズが小さいと感じる方は変更します。

    画像

    6.環境構築3:リモートアクセス

     リモートアクセスとは「別のPC(外部端末)からラズパイに接続して遠隔操作」することであり、普段使用するPCからラズパイを操作したいときに利用します。
     手法は下記があり、詳細は下記記事の通りです。

    1. Tera Term:SSH接続を用いてCLIで操作が可能

    2. VNC Viewer:ウィンドウによるGUI操作が可能

    3. OBS Studio:遅延が少なく接続が簡単にできるが機器が高価

    7.環境構築4:目的に応じた設定

     既に環境構築は完了しておりますが、用途に応じて適宜環境構築は必要になります。
     参考として別記事を作成しましたのでご確認ください。

    8.参考:パフォーマンス確認

     下記記事のYOLOv5を利用してRaspberry Pi4とPi5の性能比較をしました。詳細は下記記事を参照し、本記事では抜粋のみ記載しました。

     前提として、事前にカメラの準備は実施済みとします。

    8-1.環境構築

     記事通りに進めていきました。

    1. 仮想環境の作成:Miniforgeを用いてcondaで作成

    2. レポジトリをクローン:git clone https://github.com/ultralytics/yolov5

    3. ライブラリのインストール:pip install -r requirements.txt

    4. Pytorchを指定Ver.で再インストール

    [Terminal]
    conda create -n yolov5 python=3.8.0
    conda activate yolov5
    
    cd Desktop/
    
    git clone https://github.com/ultralytics/yolov5
    cd yolov5
    
    pip install -r requirements.txt
    
    pip3 uninstall torch torchvision
    pip3 install torch==1.11.0 torchvision==0.12.0
    画像
    画像
    画像
    画像

     環境構築後に動作検証を実施して、YOLOv5が動くことを確認しました。

    [Terminal]
    python3 detect.py
    画像

    8-2.動作検証:YOLOv5nモデル

     ”YOLOv5n”を使用したモデルで動作検証しました。スクリプトは記事の方をご確認ください。

    [Terminal]
    python3 tyolov.py

     出力は初期起動だけフレームをカットして後は未加工にしました。結果は下記の通りです。

    1. 感覚的には早くなった気がしますが動画処理のAIだとGPUが無いと辛いとは思います。

    2. 動画処理として5secくらいのズレは発生しました(画像とびの部分)。

      • 製品検査みたいな物(要求タクトタイムが数秒)への適用は難しいですが、防犯カメラ程度なら使えると思います。

    3. ファンそのものは静かのため、連続運転で問題なければ適用範囲は広いと思います。

    画像

    9.コラム:Pi4とPi5の使い勝手

    9-1.Pi4とPi5のVNC Viewerの違い

     Raspberry Pi4で自由に使用できたVNC Viewerが、なぜかRaspberry Pi5だとファイル転送機能が使えなくなっています。原因は不明です。

    画像

    9-2.GPIO操作ライブラリの使用可否

     (まだ信じられないのですが)Raspberry PiにおいてGPIOピンを操作するので有名なライブラリ:RPi.GPIOがpi5で使用できませんでした。

     Pi4で動作確認したスクリプトをPi5で実行すると「RuntimeError: Cannot determine SOC peripheral base address」となります。

    画像

     調べた感じだとgpiodライブラリなら動きそうです。



    別添

    別添1 Raspberry Pi参考資料

    別添2 Raspberry Piの詳細仕様

    https://www.raspberrypi.com/products/raspberry-pi-5/

    https://www.raspberrypi.com/products/raspberry-pi-4-model-b/

    あとがき

     とりあえず、大きなトラブルはなく完了。
     相変わらず、皆の動きが早すぎてついていけない。

    更新履歴

    • 2024年2月25日:初版発行

    • 2024年3月3日:パフォーマンス確認の章追加


     
     

    KIYO

     
     
    普段は製造業で企画/開発/設計しております。記事はプログラミング・機械学習、IoT関係の記事をメインで作成し、なるべく1つの記事で知りたいことを網羅していきます。内容は学術的より実装・アウトプット(ほしくなるもの)を重視して作成しています。 面白そうな仕事があればやりたいです!

    あなたへのおすすめ