2024年9月25日水曜日

Raspberry Pi Zero W 系の機種で本書の演習を行う方法

はじめに

本書の演習で Raspberry Pi Zeroシリーズを用いる方法はサポートページで解説すると述べました。本ページにでその解説を行います。

Raspberry Pi Zero W 系 (以下 Pi Zero W 系) の機種では、GPIO ポートにピンヘッダが取り付けられた Raspberry Pi Zero WH (以下 Pi Zero WH) が最も簡単です。ピンヘッダが取り付けられていないと、本書で用いるオス-メスタイプのジャンパーワイヤを用いることができません。
Pi Zero W の後継である Pi Zero 2 W も登場していますが、2024年7月現在、ピンヘッダ取り付け済のバージョンは販売されていないのが現状です。
このようにピンヘッダが取り付けられていない機種に対しては、ピンヘッダを自分で取り付けるか、ピンヘッダの代替を自分で用意する必要があり、ハードルが上がることに注意してください。

また、Pi Zero W 系の機種は、搭載メモリ量が 512MB と少ないためデスクトップでブラウザを使うのにも支障が出るレベルです。ですので、Pi Zero W 系の機種は「デスクトップなど不要」と思えるような上級者向けのものだと考えるのが良いと思います。

周辺機器の接続方法

Pi Zero 2 Wと周辺機器との接続は下図のようになります。
図からわかるように、以下のものが必要となります。
Pi Zero 系の機種をセット販売で購入した場合、「HDMI(メス)-ミニHDMI(オス)変換アダプタ」や「USB OTGケーブル」はセットに含まれる場合もあるようですので、ご確認ください。

なお、microSD カードはなるべく高速で高性能なものを使うことをお勧めします。Zero 系の機種はメモリが512MBしか搭載されておらず、microSDカードをメモリの代替として用いる「スワップ」という技術が多用されるためです。
性能の低い microSD カードを用いると、OS の更新時などにおいて処理が止まり、結果的に OS の再インストールが必要になることが多いように思います。

なお、ピンヘッダが取り付けられていない Pi Zero 系の機種で電子工作の演習を行いたい場合、以下の方法がありますが自己責任でお願いします。
  1. まず、下記のようなテストワイヤをGPIO部の穴に差し込んで使うという方法がまずあります。ただし、これはあくまでテスト用であり、本書のように何度もGPIOを利用する場合、何度も抜き差しすることで接触が悪くなることが考えられるためお勧めできません。
  2. それ以外には、下記のように 40 ピンのピンヘッダをハンマーで打ち込む GPIO Hammer Header という製品があります。日本のサイトでは売り切れの場合もありますが、下記のスイッチサイエンスでは、定期的に入荷するようです。 なお、amazon.co.jp でも買えるようですが、レビューを見る限り装着に必要な治具 (Jig) が付属しない可能性があり、お勧めしにくいです。 海外通販を利用できる方なら、公式から Jig つきのもの Pimoroni: GPIO Hammer Header (Solderless) – Male + Female + Installation Jig を購入するのも良いでしょう。 治具 (Jig) の利用法はこちらで見られます。

  3. 最後に、ピンヘッダ 2×20 (40P)を半田付けする方法です。半田付けが得意な方以外にはお勧めできません。 個人的な感想ですが、一般的なセンサモジュールなどよりも半田ごてで熱すべき時間が長く、かなり難易度が高いと思いました。

本書の演習の実行について

Pi Zero W 系の機種を用いて本書の演習を行う場合、注意が必要なのは下記となるでしょう。
  • 5.6 カメラのシャッターの演習:カメラモジュールを接続するための専用ケーブルが必要
  • 5.7 MP3ファイルの再生:オーディオジャックがないので、音声はHDMI経由のみでの出力となるでしょう
  • 6.5 音声のボリューム:同様に音声はHDMI経由のみとなるでしょう
  • 10.4 キャタピラ式模型へのカメラの搭載:カメラモジュールを接続するための専用ケーブルが必要
なお、カメラモジュールの専用ケーブルとは、例えば下記のものです。Pi Zero 用のものと Pi 5 用のものの両方が使えます。Pi 5 用のものの方がケーブルの長さを選べる点は便利ですが、ケーブル自体がやや硬いので、好みは分かれるでしょう。 Pi Zero 系の機種をセット販売で購入した場合は付属する場合があるようですので確認してください。 Pi Zero 用のケーブルで Pi Zero 2 W にカメラモジュールを取りつけた様子が下図です。
ケーブルを取り付ける際、金属が露出した端子面を、どちらも緑色の基板の方を向くようにします。基板上のカバーを引き出し、ケーブルを差し込んだ後でカバーを押し込むことでケーブルが固定されます。


デスクトップやブラウザの利用に関する注意

本書で学習する場合、「デスクトップでブラウザで補足ページを開きコマンドなどをコピーしてターミナルに貼り付ける」というスタイルで学習するのが最も容易です。

しかし、Pi Zero 系の機種の計算能力では、ブラウザがまともに動作しないことが多いと思います。ページ表示の待ち時間が長く、十分な時間待ったとしてもページが表示されるとは限らない、というのが主な症状です。

さらに、そもそもグラフィックをもったデスクトップを利用すること自体、OS が新しくなるとともに厳しくなっています。 2024年7月時点での最新 OS Bookworm では、初回起動時の OS の更新でグラフィックが固まり、何もできなくなったという経験があります。
これらの問題は、 Pi Zero W 系の機種のメモリが少ないことが原因と思われます。

この症状は OS が新しくなるにつれて深刻化しています。そのため、2024年7月時点での最新 OS Bookworm よりも、一世代前の Legacy OS である Bullseye の方が安定して動作するように個人的には思います。
そのため、Pi Zero W 系の機種を用いる場合、インストールする OS として Bullseye を指定することが無難だと思います。

さらに、ブラウザの利用をあきらめ、 「ディスプレイ・マウス・キーボードを接続せずにRaspberry Piを利用する(2)~SSH編 (本書旧版の補足ページ)」の解説に従い、 Windows や macOS から Raspberry Pi へターミナルソフトウェアでログインして利用する、という方法を用いるのが現実的です。 この方法を用いると、電子回路の制御には Pi Zero W 系の機種を用い、補足ページの閲覧は Windows や macOS を用い、コマンドの貼り付けはターミナルソフトウェア経由で行う、ということが可能になります。

とはいえ、この方法は Linux に慣れている人向けの方法です。ですから、Pi Zero W 系の機種は初心者向けとは言い難いところがあります。

なお、以上のように「ターミナルソフトウェアでログインして利用」の方法が確立したら、デスクトップの起動をやめてしまうのも、メモリ消費量の削減になり効果的です。そのためには、デスクトップ左上のメニューから「設定」→「Raspberry Piの設定」を起動し、「ブート」の項目を「デスクトップ」から「CLI」に変更して再起動すればよいのです。そうすることで、デスクトップが開かず、コマンドラインインターフェースのみのOSが起動するでしょう。

なお、この設定を元に戻したければ、コマンドを受け付ける画面で
sudo raspi-config
を実行することで raspi-config を起動し、「1. System Options」→「S5 Boot / Auto Login」→「B4 Desktop Autologin」の順に選択すればよいです。

以上のような対策をとったとしても、OSの更新に何時間もかかることがあります(特に Bookworm では)。ですので、OSには不要なアプリケーションをインストールしておかない、という配慮も必要になります。 使わないアプリケーションの更新に何時間もかかる、ということがあり得るからです。
そういう意味で、インストールするOSは Full 版ではなく通常版の方が良いですし(Lite はさらに難易度があがるのでお勧めしません)、 下記のように chromium ブラウザや firefox ブラウザなど、更新に時間のかかるアプリケーションをを削除してしまうのも良いでしょう(これらの更新にはかなりの時間がかかるため)
sudo apt -y remove chromium* firefox rpi-firefox-mods rpi-eeprom

0 件のコメント:

コメントを投稿