本ページは、2024年10月発売の金丸隆志著「ラズパイ5対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」(技術評論社)の補足情報をまとめるためのページです。
以下のページに、書籍で利用したコマンド一覧や補足情報などを掲載します。
インストールや設定に関する補足情報はこちらをご覧下さい。
Raspberry Pi Zero W 系を利用したい方はこちらをご覧ください。
マイクロコントローラーである Raspberry Pi Pico シリーズで電子工作してみたい方は
以下のページをご覧ください。
本書の旧バージョンのサイトへのリンクですが、本書の読者の方でも問題なく活用できます。
さらに、本書の続編である「実例で学ぶRaspberry Pi電子工作」の演習の Pico 版の解説も公開を開始しました。是非お楽しみください!
やや上級者向けの、Raspberry Pi をより便利に使う方法はこちらをご覧下さい。
本ページを活用し、Raspberry Pi を楽しみましょう!
2025年8月18日月曜日
書籍で用いたコマンドおよび補足情報
本ページで表示するコマンドの利用方法
本ページには、本書の演習を実行するために必要なコマンドを全て記し、さらに、本書への補足情報を記していきます。コマンドを本ページからコピーして実行することにより、書き写すことによるミスの恐れがなく確実に実行できます。本ページのコマンドをコピーにより活用するためには、まずRaspberry Pi上のブラウザ(Chromium)で本ページを開きます。
そして、コピーしたいコマンドをマウスでなぞり色を反転してください。その状態からそのコマンドをコピーするには下記の二つの方法のうちどちらかを実行してください。
- 色を反転した領域をマウスで右クリックして「コピー」を選択する
- キーボードの「Ctrl」キーを押しながら「C」キーを押す(Ctrl-C)
そして、コピーされたコマンドをターミナルソフトウェアに貼り付けるには、下記の三つの方法のうちどれかを実行してください。
- LXTerminalのメニューから「編集」→「貼り付け」を選択する
- LXTerminal上でキーボードの「Ctrl」キーと「Shift」キーを押しながら「V」キーを押す(Ctrl+Shift+V)
- LXTerminal上でマウスのホイールを押し込む(ただし、この方法は正確には「コピーされた文字を貼り付ける」のではなく「マウスで色が反転された文字を貼り付ける」という動作になります)
なお、複数のコマンドが複数行にわたって連続して書かれている場合、コピー、貼り付け、実行はコマンド一つごとに行ってください。
それでは、本ページを活用して、Raspberry Pi での電子工作を楽しんでください!
2章
p.16, Raspberry Pi を購入できるショップへのリンク
p.16 に記した、Raspberry Pi を購入できるショップへのリンクは以下の通りです。 また、入手しやすい Raspberry Pi の購入リンクを、 著者による別書籍「Raspberry Piではじめる機械学習 補足情報」のサポートサイト「Raspberry PiへのOSのインストール方法」の冒頭にまとめましたのでご利用ください。p.19, Pi 5 対応のACアダプタへのリンク
p.19 に記した、Pi 5 に対応したACアダプタへのリンクを以下に記します。2025年8月現在、公式版、スイッチサイエンス版、KSY版があります。お好みのものをお求めください。公式版 |
Raspberry Pi 公式ACアダプター(27W USB PD Type-C) 秋月電子通商(黒) / 秋月電子通商(白) / 千石電商(黒) |
スイッチサイエンス版 |
ラズパイ5に最適なACアダプター 5.1V/5.0A USB-PD Type-Cコネクタ出力 スイッチサイエンス |
KSY版 |
USB電源アダプター 5V/5A Type C 1.2m KSY / 千石電商 |
p.25, Raspberry Pi Imager のダウンロードページへのリンク
p.25 に記した、Raspberry Pi Imager のダウンロードページへのリンクは以下の通りです。p.28, Pi Zero 系の機種にインストールすべき OS
書籍において、『Pi Zero 2 W では「Raspberry Pi OS (Legacy, 32-bit)」を選択したほうが安定して動作する可能性』があると記しました。これは、執筆当時の最新 OS である Bookworm では、2023-10-10 から 2024-03-15 のバージョンまで、OS の更新時に処理が進まなくなる、などの問題があったためです。
この問題は、2024-07-04 のバージョンで改善されましたので、Pi Zero 系の機種で Bookworm を選んでいただいても問題ありません。
ただし、ブラウザの動作が非常に重いなど、Pi Zero 系が上級者向けの機種であることには変わりがありません。
p.37, Raspberry Pi Connect の設定項目
設定ウィザードにて、Raspberry Pi Connect の設定を行う画面が現れると述べました。この設定は、2024-10-22 以降の Raspberry Pi OS では現れません。本書の演習には影響がありませんので、そのまま設定を続けてください。3章
p.44, 秋月電子通商のパーツセットへのリンク
p.44 に記した、秋月電子通商のパーツセットは下記ページで販売されております。 2025年春頃より、このパーツセットの在庫が切れた状況が長らく続いていましたが、2025年7月3日に在庫が復活していることを確認しました。ぜひ本書と合わせてお楽しみください!
なお、パーツセットが一時的に品切れの場合、あるいはパーツセット内のパーツを単品で欲しい場合、下記のリストをご活用ください。
おおむねパーツセットと同等のパーツを入手できますが、「抵抗100本、赤色LED10個、コンデンサ10個」のように、多めに購入せざるを得ないパーツがある点はご了承ください。
パーツ | 個数 |
ブレッドボード BB-801:105294 | 1 |
ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(赤):108933 | 2パックで20本 |
ブレッドボード・ジャンパーワイヤ(オス-オス) :105159 | 1パックで60本以上 |
カーボン抵抗(炭素皮膜抵抗) 1/4W330Ω125331 | 1パックで100本入り |
カーボン抵抗(炭素皮膜抵抗) 1/4W10kΩ125103 | 1パックで100本入り |
3mm赤色LED 660nm 250mcd LT3U31P:102320 | 1パックで10個入り |
RGBフルカラーLED 5mm OSTA5131A カソードコモン:102476 | 1 |
LED光拡散キャップ 5mm 白:100641 | 1 |
タクトスイッチ(黒色):103647 | 3 |
半固定ボリューム 10kΩ[103]:108012 | 3 |
CdSセル 5mmタイプ:100110 | 1 |
積層セラミックコンデンサー 0.01μ50V X7R 2.54mm:104063 | 1パックで10個入り |
12bit 8ch ADコンバーター MCP3208-CI/P:100238 | 1 |
DCモーター FA-130RA-2270L:109169 | 1 |
マイクロサーボ9g SG-90:108761 | 1 |
DRV8835使用ステッピング&DCモータードライバーモジュール:109848 | 1 |
電池ボックス 単3×3本 リード線・スイッチ付:112240 |
1 |
ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサーモジュール:106675 | 1 |
Raspberry Pi キャラクター液晶ディスプレイモジュール完成品:111753 | 1 |
回路の配線図について
サンプルファイルの中に、本書で作成する回路の配線図が gihyo-RaspberryPi-Circuit.pdf というPDFファイルとして含まれていますのでご活用ください。このファイルを Windows や macOS で閲覧したい場合、以下のリンクからダウンロードすることもできます。 このファイルを Windows や macOS などの Adobe Reader で閲覧する際、「編集」→「環境設定」を選択し、下図のように「細い線を拡張」のチェックを外すと、より綺麗な配線図を見ることができます。
チェックを外す前後の配線図の状態を示したのが下図です。「細い線を拡張」のチェックを外した方が図がきれいに表示されているのがわかるでしょう。
なお、この設定はPDFの印刷の際には影響しないはずです。
5章
p.102, OpenCV のインストールコマンド
p.102に記した、OpenCV のインストールコマンドを以下に記します。まず、次のコマンドでインストール可能なパッケージのリストを更新するのでした。
sudo apt updateそれが終わったら、次のコマンドで OpenCV をインストールできます。
sudo apt -y install python3-opencv
p.104, mplayer のインスト―ルコマンド
p.104に記した、 mplayerのインストールコマンドを以下に記します。次の二つのコマンドを、一つずつ順番に実行してください。
sudo apt update sudo apt -y install mplayer
p.105, mplayer の実行コマンド
ターミナルを起動した後、プログラムの存在する gihyo フォルダ(ディレクトリ)に下記のコマンドで移動します。cd gihyoそのターミナルで以下のコマンドを実行すると、05-07-test.mp3 というサンプル音声を再生することができます。デフォルトでは HDMI 接続したディスプレイから音声が鳴るでしょう。
mplayer 05-07-test.mp3これらのコマンドは、p.122の6.5章でも用いられます。
p.105, 音声の出力先を変更する方法
Pi 4 B までの機種で、音声を HDMI ケーブル経由ではなく、Raspberry Pi の基板上のイヤフォンジャックから聞きたい場合、デフォルトでは音が鳴らないことがあります。 イヤフォンジャックから鳴らすための方法は、OSのバージョンにより異なります。<最新の OS である Bookworm の場合>
もし、デフォルトでピンジャックから音が出ていない場合、以下の指示に従ってください。なお、raspi-config コマンドを実行中は、キーボードの Esc キーが「戻る」に対応しますので、困ったら Esc キーを何度か押してみると良いでしょう。- ターミナルで「 sudo raspi-config 」コマンドを実行し、設定画面を開く
- キーボードの「↓」キーを五回押し、「6 Advanced Options」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、「6 Advanced Options」に入る
- キーボードの「↓」キーを六回押し、「A7 Audio Config」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、「A7 Audio Config」に入る
- キーボードの「上」キーを一回押し、「1 PulseAudio」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、「1 PulseAudio」を選択する
- キーボードの「Enter」キーを押し、「了解」を選択する
- キーボードの「TAB」キー二回を押し、「Finish」にフォーカスを合わせる
- キーボードの「Enter」キーを押すと、再起動され設定が有効になる
<Legacy OS である Bullseye の場合>
2020-12-02版およびそれ以降の Raspberry Pi OS をご利用で、なおかつイヤフォンジャックから音が鳴らない場合、raspi-configというコマンドで音声の出力先をイヤフォンジャックに切り替えます。 以下の手順に従ってください。- ターミナルで「 sudo raspi-config 」コマンドを実行し、設定画面を開く
- キーボードの「Enter」キーを押し、「1 System Options」に入る
- キーボードの「↓」キーを一回押し、「S2 Audio」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、「S2 Audio」の設定画面に入る
- キーボードの「↓」キーを一回押し、「1 Headphones」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、「1 Headphones」を選択する
- キーボードの「TAB」キー二回を押し、「Finish」にフォーカスを合わせる
- キーボードの「Enter」キーを押し、raspi-config の設定画面を終了する
以上で、イヤフォンジャックから音声が出るようになります。
6章
p.116, 図6-7、Raspberry Pi Connect の設定項目
p.116 の図6-7では、Raspberry Pi Connect の設定項目が上から2番目に表示されています。この設定項目は、2024-10-22 以降の Raspberry Pi OS では現れません。本書の演習には影響がありませんので、気にせず演習を続けてください。7章
p.126, 図7-3、Raspberry Pi Connect の設定項目
p.126 の図7-3では、Raspberry Pi Connect の設定項目が上から2番目に表示されています。この設定項目は、2024-10-22 以降の Raspberry Pi OS では現れません。本書の演習には影響がありませんので、気にせず演習を続けてください。p.129, 接続されている I2C デバイスのアドレスを表示するコマンド
接続されている I2C デバイスのアドレスを表示するコマンドは以下の通りです。i2cdetect -y 1
p.137, LCD へ文字を表示するプログラムの実行コマンド
ターミナルを起動したあと、プログラムの存在する gihyo フォルダ(ディレクトリ)に下記のコマンドで移動します。cd gihyoそのターミナルから 07-02-LCD.py を実行するコマンドは以下の通りです。付録C.3「タブによる補完」を学ぶと、ターミナルでのプログラムの実行が格段に楽になりますので興味のある方は参考にしてください。
python3 07-02-LCD.pyこのコマンドに、「'test'」という引数をつけて実行する場合のコマンドは下記の通りです。p.137に記した通り、「↑」キーにより過去に実行したコマンドを再表示すると楽にこのコマンドを記述できます。
python3 07-02-LCD.py 'test'
p.142, /etc/rc.local を管理者権限の mousepad で開くためのコマンド
p.142に記した, /etc/rc.local を管理者権限の mousepad で開くためのコマンドは以下の通りです。sudo mousepad /etc/rc.localさて、このコマンドを実行したとき、既存ファイルである /etc/rc.local がテキストエディタ mousepad で開かれます。そうなった方は先に進んで構いません。
しかし、2024年11月以降の OS では、ファイル /etc/rc.local が削除され存在しないため、mousepad は空白の状態で開きます。そうなった場合、一旦 mousepad を閉じ、以下の3コマンドを順に実行することにより、新たにファイル /etc/rc.local を作成しましょう。
wget https://raw.githubusercontent.com/neuralassembly/raspi/refs/heads/master/rc.local chmod a+x rc.local sudo mv rc.local /etcこの3コマンドを実行してファイル /etc/rc.local を作成したら、上記の mousepad で /etc/rc.local を開くコマンドを実行し、以下に進みましょう。
p.142, LCD へ文字を表示するプログラムの実行コマンドを、/etc/rc.local に記述するための表記
p.142 に記した、/etc/rc.local の「exit 0」の行の上に記すべきコマンドは以下の通りです。ただし、「kanamaru」の部分は皆さんのユーザー名で置き換える必要があります。末尾の「&」も忘れずに記述しましょう。python3 /home/kanamaru/gihyo/07-03-LCD-temp.py &さらに、/etc/rc.local の「exit 0」の行の上に記すべき、シャットダウンボタン用のコマンドは下記の通りです。やはり、「kanamaru」の部分は皆さんのユーザー名で置き換える必要があります。末尾の「&」も忘れずに記述しましょう。
python3 /home/kanamaru/gihyo/05-06-sw-poweroff.py &
8章
p.169, ハードウェアPWMを利用するための準備
本書p.169 に記した、管理者権限の mousepad で /boot/firmware/config.txt を編集用に開くコマンドは下記の通りです。sudo mousepad /boot/firmware/config.txtなお、執筆時の Legacy OS である Bullseye ではファイルが /boot/config.txt であるため、コマンドは下記に変更されます。
sudo mousepad /boot/config.txtそして、そのファイルの末尾に記すべき一行は下記の通りです。
dtoverlay=pwm-2chan
ハードウェアPWMのトラブル
2025年5月にリリースされたOSでは、Linuxのコアである kernel のバージョンが 6.12 となり、Pi 5 でハードウェアPWMを出力するための仕様が変わりました。そのため、その対応を施したサンプルファイルでしか動作しなくなっております。2025年6月22日にサンプルファイルを更新しましたので、それ以降にダウンロードした方でしたら問題なく動作します。 古いサンプルファイルをご利用の方は、ホームフォルダの gihyo フォルダを一度削除し、最新のファイルをダウンロードし直してください。
変更を受けたのは下記の4ファイルです。
- 08-04-servo.py
- 08-06-2servos.py
- 09-05-servo/app.py
- 10-03-servo/app.py
kernel 6.6 までの Pi 5 | /sys/class/pwm/pwmchip2/pwm{2,3} |
kernel 6.12 以降の Pi 5 | /sys/class/pwm/pwmchip0/pwm{2,3} |
Pi Zero ~ Pi 4 | /sys/class/pwm/pwmchip0/pwm{0,1} |
9章
p.180, FastAPI のインストールコマンド
p.180に記した、FastAPI のインストールコマンドは以下の通りです。二つのコマンドを一つずつ実行しましょう。sudo apt update sudo apt -y install python3-fastapi
p.181, IP アドレスを調べるためのコマンド
p.181に記した、IP アドレスを調べるためのコマンドは以下の通りです。ifconfig
p.184, FastAPI用に書かれたプログラムを実行するためのコマンド
p.184に記した、FastAPI用に書かれたプログラムを実行するためのコマンドは以下の通りです。新規に開いたターミナルで、下記のコマンドを一つずつ順に実行するのでした。
cd gihyo/09-01-led python3 app.py同様に、9章のすべての実行コマンドを一気に列挙します。
どれも、新規に開いたターミナルで実行する必要があります。
cd gihyo/09-02-temp python3 app.py
cd gihyo/09-03-rgbled python3 app.py
cd gihyo/09-04-dcmotor python3 app.py
cd gihyo/09-05-servo python3 app.pyなお、「ターミナルに新規に開いて実行」ではなく、例えば「今 09-01-led フォルダにいるが、次に 09-02-temp フォルダの app.py を実行したい」などという場合、実行すべきコマンドは以下のようになるでしょう。
これは「..」が「一つ上のフォルダ」を意味することを知ればその意味を理解できるでしょう。
cd ../09-02-temp python3 app.py
ハードウェアPWMのトラブル
2025年5月にリリースされたOSでは、Linuxのコアである kernel のバージョンが 6.12 となり、Pi 5 でハードウェアPWMを出力するための仕様が変わりました。そのため、その対応を施したサンプルファイルでしか動作しなくなっております。2025年6月22日にサンプルファイルを更新しましたので、それ以降にダウンロードした方でしたら問題なく動作します。 詳細は 8 章の注釈をご覧ください。
10章
p.209, 機体B用のABS樹脂板の購入について
p.209の表10-2、およびp.214において、機体Bの作成のために「スタジオミュウ タッピングプレート」も「TAMIYAユニバーサルプレート」も入手できない場合、「はざいや」で「ABS樹脂板」を購入して加工するのがよい、と述べました。ここではその方法を解説します。
まず、はざいやでABS樹脂板を購入するためのページは以下です。 上記サイトで、選択肢を例えば下記のように設定します。
- メーカーの選択:住友ベークライト
- カラーの選択:白
- 板厚: 3mm
- サイズ:60×160 mm
- 枚数の指定:2枚
購入したABS樹脂板に対し、下記の図の位置にピンバイスで3.2mmの穴をあけます。 上図の通りに穴をあけた様子が下図になります。 そして、これらを用い、アームクローラー工作セット(2chリモコンタイプ)で機体Bを組み立てた様子が下図になります。
p.210, 図10-1の高解像度画像
p.210にある図10-1の高解像度画像は以下となります。クリックすると拡大されます。p.213, 図10-3の高解像度画像
p.213にある図10-3の高解像度画像は以下となります。クリックすると拡大されます。p.217, FastAPI用に書かれたプログラムを実行するためのコマンド
p.217に記した、FastAPI用に書かれたプログラムを実行するためのコマンドは以下の通りです。新規に開いたターミナルで、下記のコマンドを一つずつ順に実行するのでした。
cd gihyo/10-01-tank python3 app.py
p.219, webtankサービス用の設定ファイルを編集するためのコマンド
p.219に記した、webtankサービス用の設定ファイルを編集するためのコマンドは以下の通りです。新規に開いたターミナルで、下記のコマンドを一つずつ順に実行するのでした。
cd gihyo/10-01-tank mousepad webtank.service
p.220, webtankサービス用の設定ファイルをシステム領域に移動するためのコマンド
p.219に記した、webtankサービス用の設定ファイルを編集するためのコマンドは以下の通りです。mousepad を起動したフォルダ(すなわち、gihyo/10-01-tankフォルダ)で以下のコマンドを実行します。
sudo mv webtank.service /etc/systemd/system/
p.220, webtankサービスの自動実行を有効にするコマンド
p.219に記した、webtankサービス用の設定ファイルを編集するためのコマンドは以下の通りです。mousepad を起動したフォルダ(すなわち、gihyo/10-01-tankフォルダ)で以下のコマンドを実行します。
sudo systemctl enable webtank
p.221, LCDへのIPアドレスの表示に関わるコマンド
p.221に記した、自動実行したいプログラムを記述するためのファイル /etc/rc.local を管理者権限で開くためのコマンドは以下の通りです。sudo mousepad /etc/rc.localさて、このコマンドを実行したとき、既存ファイルである /etc/rc.local がテキストエディタ mousepad で開かれます。そうなった方は先に進んで構いません。
しかし、2024年11月以降の OS では、ファイル /etc/rc.local が削除され存在しないため、mousepad は空白の状態で開きます。そうなった場合、一旦 mousepad を閉じ、以下の3コマンドを順に実行することにより、新たにファイル /etc/rc.local を作成しましょう。
wget https://raw.githubusercontent.com/neuralassembly/raspi/refs/heads/master/rc.local chmod a+x rc.local sudo mv rc.local /etcこの3コマンドを実行してファイル /etc/rc.local を作成したら、上記の mousepad で /etc/rc.local を開くコマンドを実行し、以下に進みましょう。
p.222, IPアドレスをLCDに表示するために /etc/rc.local に記入するコマンド
p.222に記した、IPアドレスをLCDに表示するために /etc/rc.local の「exit 0」の行の上に記入するコマンドは下記の通りです。python3 /home/kanamaru/gihyo/07-02-LCD.py $_IPなお、上のコマンドの「kanamaru」の部分はみなさんのユーザー名に変更する必要があります。
p.223, シャットダウンプログラムの自動実行のために /etc/rc.local に記入するコマンド
p.223に記した、シャットダウンプログラムの自動実行のために /etc/rc.local の「exit 0」の行の上に記入するコマンドは下記の通りです。「&」も忘れずに記述しましょう。python3 /home/kanamaru/gihyo/10-04-sw-poweroff.py &なお、上のコマンドの「kanamaru」の部分はみなさんのユーザー名に変更する必要があります。
p.224, mjpg-streamer のインストールコマンド
p.224に記した、mjpg-streamerのインストールコマンドは下記の通りです(1) sudo apt update (2) sudo apt -y install libjpeg-dev cmake libcamera-dev (3) git clone https://github.com/neuralpi/mjpg-streamer (4) cd mjpg-streamer/mjpg-streamer-experimental (5) make (6) cd (7) sudo mv mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamerなお、OS として Bullseye やリリース直後の Bookworm をお使いの方は、上記の (5) で LibCamera.cpp のビルド中にエラーが起こると思います。その場合、エラーが出た状態から以下の 8 コマンドを一つずつ順に実行してください。この 8 コマンドが上記 (5)~(7) の代替、というイメージです。
rm -rf _build mkdir _build cd _build cmake -DLIBCAMERA_USES_TRANSFORM=ON .. cd .. make cd sudo mv mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamer
p.225:mjpg-streamerの実行用コマンド
p.225に記した、mjpg-streamerを実行するために /etc/rc.local の「exit 0」の行の上に記入するコマンドは下記の通りです。python3 /home/kanamaru/gihyo/10-05-stream.py &なお、上のコマンドの「kanamaru」の部分はみなさんのユーザー名に変更する必要があります。
p.226:webtank.serviceを編集するためのコマンド
p.226に記した、webtank.serviceを編集するためのコマンドは下記の通りです。sudo mousepad /etc/systemd/system/webtank.service
p.228, 図10-10の高解像度画像
p.228にある図10-10の高解像度画像は以下となります。クリックすると拡大されます。p.229:webtankサービスの自動実行を停止するコマンド
p.229に記した、webtankサービスの自動起動を停止するためのコマンドは下記の通りですsudo systemctl disable webtank
p.230, 図10-11の高解像度画像
p.230にある図10-11の高解像度画像は以下となります。クリックすると拡大されます。p.231, 図10-12の高解像度画像
p.231にある図10-12の高解像度画像は以下となります。クリックすると拡大されます。10章全般:キャタピラ式模型のメンテナンス
キャタピラ式模型を長く使っていると、だんだん動作が安定しなくなってくることがあります。例えば「右のキャタピラは正常動作するが、左はなかなか動かない」などです。もちろん、「ジャンパーワイヤーが抜けていないか」など、回路の配線をまずはチェックすべきです。 しかし回路の配線に問題がなかった場合、どこに注意してメンテナンスすべきかを以下に記します。上から順にチェックしていきましょう。
- 電池の残量不足ではないかチェック:基本ではありますが、まずはここからチェックしましょう。
- モーターの軸が空回りしていないかチェック:モーターの軸にはピニオンギアが取り付けられています。ピニオンギアが劣化してゆるくなり、モーターの軸が空回りすることがしばしば起こります。これはモーターをギアボックスから取り外してみないとわかりません。ピニオンギアがゆるくなっていた場合、「AO-7005 8Tピニオンセット白(10個)」などを購入して交換しましょう。ギア部で異音がする場合は大体このケースが当てはまります。個人的に、この問題には何度も遭遇しています。
- ジャンパワイヤのチェック:ジャンパワイヤの抜き差しをする際、持ち手ではなくケーブルを引っ張ることを繰り返すと中で断線することがあります。断線したかどうかは外から見ただけではわかりません。断線が疑われるジャンパワイヤは捨ててしまった方がよいでしょう。これも回路のパーツを長く使っていると遭遇することの多い問題ですね。
- ブレッドボードのチェック:ブレッドボードを長くつかっていると、なんらかの理由でブレッドボード内部の抵抗が大きくなりモーターがあまり回転しなくなることがあります。頻繁に起こることではないと思いますが、筆者は何度かそのような経験をしています。安価なもので良いのでテスターを購入すると内部の抵抗の大きさをチェックできます。内部の抵抗が大きく計測されたブレッドボードは消耗品と考えて捨ててしまった方がよいでしょう。
- ギアボックスで空回りしているシャフトがないかチェック:ギアボックスの作成の際、イモネジを六角レンチで締めてシャフトを固定している部分があります。そこが緩んで空回りしていないかチェックしましょう。
- モーターのチェック:上のどの問題にも該当しなかった場合、モーターに問題がある可能性があります。新品の「AO-1001 FA-130タイプノーマルモーター」を購入して交換してみるのも手です。
- モータードライバーのチェック:上のどの問題にも該当しなかった場合、モータードライバに問題がある可能性があります。新品のモータードライバーを購入して交換してみるのも手です。
付録
p.238, サンプルファイルのダウンロードコマンド
p.238に記した、本書のサンプルファイルのダウンロードコマンドは以下の通りです。Raspberry Piがネットワークに接続されている必要があります。git clone https://github.com/neuralpi/gihyo
p.238, git コマンドのインストールコマンド
執筆時の Raspberry Pi OS では実行不要ですが、git のインストールのコマンドを念のために記すと以下のようになります。sudo apt update sudo apt -y install git
p.240, zip 圧縮されたサンプルファイルgihyo-master.zipを展開するコマンド
p.240に記した、 zip 圧縮されたサンプルファイルgihyo-master.zipを展開するコマンドは以下の通りです。二つのコマンドを一つずつ順に実行してください。unzip gihyo-master.zip mv gihyo-master gihyo
p.241, nano の設定ファイル .nanorc に記す内容
p.241に記した、nano の設定ファイル .nanorc に記す内容は以下の通りです。set tabsize "4" set tabstospaces
p.241, vi の設定ファイル .vimrc に記す内容
p.241に記した、vim の設定ファイル .vimrc に記す内容は以下の通りです。set expandtab set tabstop=4 set softtabstop=4 set shiftwidth=4
p.242, IPアドレスの代わりに利用可能なアドレス
p.241に記した、IPアドレスの代わりに利用可能なアドレスは以下の通りです。raspberrypi.local9章の演習で用いるアドレスの形式で書くと、例えば以下のようになるでしょう。
http://raspberrypi.local:8000/9-1
p.242, Windows 用 iTunes をダウンロードするためのリンク
p.242 で紹介した、 Windows 用 iTunes をダウンロードするためのリンクは以下です。 このリンク先のページを少しスクロールしたところにある 「ほかのバージョンをお探しですか? macOS> Windows> 」の「Windows>」をクリックすることで、iTunes64Setup.exe をダウンロードできるのでした。p.243, Raspberry Pi の IP アドレスを検索するための Android アプリへのリンク
p.243で紹介した、Raspberry Pi の IP アドレスを検索するための Android アプリへのリンクは以下です。 このアプリで raspberrypi という名称を検索すると、IP アドレスを知ることができます。p.243, 日本語入力ソフトウェアのインストールの準備
p.243に記した、raspi-configの実行コマンドは以下の通りです。sudo raspi-config
p.244, 日本語入力ソフトウェアのインストールコマンド
p.244に記した、日本語入力ソフトウェアのインストールコマンドは以下の通りです。sudo apt update sudo apt -y install fcitx-mozc
p.244, 日本語フォントのインストールコマンド
p.244に記した、日本語フォントのインストールコマンドは以下の通りです。sudo apt -y install fonts-vlgothic
p.250, 参考文献のリンク
p.250の参考文献で記したリンクは以下の通りです。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 も登場しており、ピンヘッダが取り付けられた Pi Zero 2 WH も販売中です。
また、Pi Zero W 系の機種は、搭載メモリ量が 512MB と少ないためデスクトップでブラウザを使うのにも支障が出るレベルです。ですので、Pi Zero W 系の機種は「デスクトップなど不要」と思えるような上級者向けのものだと考えるのが良いと思います。
Pi Zero W 系を含めた Raspberry Pi の種類と、それを購入できるサイトへのリンクを 「Raspberry Piではじめる機械学習:Raspberry PiへのOSのインストール方法」の冒頭部にまとめてありますので、参考にしてみてください。
周辺機器の接続方法
Pi Zero 2 Wと周辺機器との接続は下図のようになります。 図からわかるように、以下のものが必要となります。- HDMI(メス)-ミニHDMI(オス)変換アダプタ。例えばエレコム HDMI 変換 アダプタ hdmi to mini hdmi
- USB OTGケーブル。例えば iBUFFALO BSMPC11C01BK
- USBハブ(ACアダプターなしのバスパワータイプでOK)。 2つ以上のUSB機器(例えばマウスとキーボード)を接続する場合には必要です。
なお、microSD カードはなるべく高速で高性能なものを使うことをお勧めします。Zero 系の機種はメモリが512MBしか搭載されておらず、microSDカードをメモリの代替として用いる「スワップ」という技術が多用されるためです。
なお、ピンヘッダが取り付けられていない Pi Zero 系の機種で電子工作の演習を行いたい場合、以下の方法がありますが自己責任でお願いします。
-
まず、下記のようなテストワイヤをGPIO部の穴に差し込んで使うという方法がまずあります。ただし、これはあくまでテスト用であり、本書のように何度もGPIOを利用する場合、何度も抜き差しすることで接触が悪くなることが考えられるためお勧めできません。
- それ以外には、下記のように 40 ピンのピンヘッダをハンマーで打ち込む GPIO Hammer Header という製品があります。日本のサイトでは売り切れの場合もありますが、下記のスイッチサイエンスでは、定期的に入荷するようです。
なお、amazon.co.jp でも買えるようですが、レビューを見る限り装着に必要な治具 (Jig) が付属しない可能性があり、お勧めしにくいです。
海外通販を利用できる方なら、公式から Jig つきのもの Pimoroni: GPIO Hammer Header (Solderless) – Male + Female + Installation Jig を購入するのも良いでしょう。 治具 (Jig) の利用法はこちらで見られます。
- 最後に、ピンヘッダ 2×20 (40P)を半田付けする方法です。半田付けが得意な方以外にはお勧めできません。 個人的な感想ですが、一般的なセンサモジュールなどよりも半田ごてで熱すべき時間が長く、かなり難易度が高いと思いました。
本書の演習の実行について
Pi Zero W 系の機種を用いて本書の演習を行う場合、注意が必要なのは下記となるでしょう。- 5.6 カメラのシャッターの演習:カメラモジュールを接続するための専用ケーブルが必要
- 5.7 MP3ファイルの再生:オーディオジャックがないので、音声はHDMI経由のみでの出力となるでしょう
- 6.5 音声のボリューム:同様に音声はHDMI経由のみとなるでしょう
- 10.4 キャタピラ式模型へのカメラの搭載:カメラモジュールを接続するための専用ケーブルが必要
- Raspberry Pi Zero用カメラケーブル:スイッチサイエンス
- Raspberry Pi 5 FPCカメラケーブル(200mm):スイッチサイエンス / 秋月電子通商
- Raspberry Pi 5 FPCカメラケーブル(300mm):スイッチサイエンス / 秋月電子通商
- Raspberry Pi 5 FPCカメラケーブル(500mm):スイッチサイエンス / 秋月電子通商
デスクトップやブラウザの利用に関する注意
本書で学習する場合、「デスクトップでブラウザで補足ページを開きコマンドなどをコピーしてターミナルに貼り付ける」というスタイルで学習するのが最も容易です。しかし、Pi Zero 系の機種の計算能力では、ブラウザがまともに動作しないことが多いと思います。ページ表示の待ち時間が長く、十分な時間待ったとしてもページが表示されるとは限らない、というのが主な症状です。
さらに、そもそもグラフィックをもったデスクトップを利用すること自体、OS が新しくなるとともに厳しくなっています。
これらの問題は、 Pi Zero W 系の機種のメモリが少ないことが原因と思われます。
以上から、Pi Zero 系の機種ではブラウザの利用をあきらめ、 「ディスプレイ・マウス・キーボードを接続せずにRaspberry Piを利用する~SSH編」の解説に従い、 Windows や macOS から Raspberry Pi へターミナルソフトウェアでログインして利用する、という方法を用いるのが現実的です。 この方法を用いると、電子回路の制御には Pi Zero W 系の機種を用い、補足ページの閲覧は Windows や macOS を用い、コマンドの貼り付けはターミナルソフトウェア経由で行う、ということが可能になります。
とはいえ、この方法は Linux に慣れている人向けの方法です。ですから、Pi Zero W 系の機種は初心者向けとは言い難いところがあります。
なお、以上のように「ターミナルソフトウェアでログインして利用」の方法が確立したら、デスクトップの起動をやめてしまうのも、メモリ消費量の削減になり効果的です。 その結果、microSDカードをメモリの代替として用いる「スワップ」の頻度が減り、Pi Zero W 系の機種を少し快適に使えるようになるでしょう。
そのためには、デスクトップ左上のメニューから「設定」→「Raspberry Piの設定」を起動し、「ブート」の項目を「デスクトップ」から「CLI」に変更して再起動すればよいのです。そうすることで、デスクトップが開かず、コマンドラインインターフェースのみのOSが起動するでしょう。
なお、この設定を元に戻したければ、コマンドを受け付ける画面で
sudo raspi-configを実行することで raspi-config を起動し、「1. System Options」→「S5 Boot」→「B2 Desktop Desktop GUI」の順に選択すればよいです(その後はTABキー2回で「Finish」にフォーカスを合わせEnter)。
Raspberry Pi OS の Lite 版を利用する
1. はじめに
Raspberry Pi OS には、インストール済のアプリケーションの数によって Full 版、通常版、Lite 版の 3 種類があります。 本書の旧版では、Full 版の利用を推奨していましたが、必要な microSD カードの容量が増大するに伴い、現在は通常版の利用を推奨しています。Lite 版はインストール済のアプリケーション数が最も少ないバージョンですが、グラフィックを用いたデスクトップがデフォルトで起動しない(インストールもされない)という上級者向けなバージョンであるため、初心者向けの本書では利用を推奨しませんでした。
その一方で、本サポートサイトでは、下記のページで Raspberry Pi にディスプレイ、キーボード、マウスを接続せずに用いるヘッドレス(headless)な運用方法を解説してきました。 実は、上記 2 ページをマスターすると、Raspberry Pi OS の Lite 版を利用する知識が自然と身についています。本ページではその方法を解説します。
Raspberry Pi OS の Lite 版を用いるメリットは以下のようになるでしょうか。
- インストールする OS のサイズが小さいので、OS のダウンロードとインストールにかかる時間が短い
- インストール済のアプリケーション数が少ないので、microSD カードの使用量が少ない
(ただし、追加でアプリケーションをインストールしていくと、通常版と大差ない使用量になり得る) - インストール済のアプリケーション数が少ないので、OS の更新にかかる時間が短い
- グラフィック描画用のライブラリがデフォルトでインストールされていないので、使用メモリ量が小さい
- 自分が必要としないアプリケーションがインストールされていない状態が(人によっては)気持ち良い
その一方で、性能の低い Raspberry Pi Zero シリーズや、旧式の Raspberry Pi を利用する場合、この Lite 版の利用を検討する価値はあるでしょう。
それでは、やっていきましょう!
2. Raspberry Pi OS の Lite 版のインストール
下記のページの手順に従い、Raspberry Pi Imager でインストールします。Raspberry Pi Imager は最新版を用いるようにしてください。 その際、「OSを選ぶ (CHOOSE OS)」選択肢は、下記のように「Raspberry Pi OS (other)」を一度選択します。 そして、切り替わった画面で「Raspberry Pi OS Lite (64-bit)」または「Raspberry Pi OS Lite (32-bit)」を選択してください。 OS と microSD カードのドライブを選択した後は、「Raspberry Pi をヘッドレスで運用する」の解説に従い、ユーザー名、Wifi接続の設定、日本語キーボードの設定、SSH の有効化などを Raspberry Pi Imager で行うのでした。インストール後に OS を起動した後は、上記のページに従い、TeraTerm などのターミナルソフトウェアで接続し「sudo raspi-config」コマンドで日本語化の設定まで行ってしまいましょう。
インストールの解説は以上です。
3. Raspberry Pi OS の Lite 版で本書の演習を行う際の注意
ここから先は、Raspberry Pi OS の Lite 版で本書の演習を行う際の注意点を述べていきます。インストール済のアプリケーション数が少ないので、いくつか追加で実行すべきことがあるのです。インストール後の設定
まず、インストール直後は下記のコマンドで OS を最新にしておきましょう。sudo apt update sudo apt -y dist-upgradeサンプルプログラムをダウンロードするためには、git コマンドを下記でインストールする必要があります。
sudo apt -y install git
5章のカメラを用いる演習 05-04-sw-camera.py
このプログラムは、OpenCV をインストールする必要があるのですが、そうすると、グラフィックなどのライブラリ (X11関連など) が大量にインストールされるので、あまりお勧めしません。 Lite 版の良さが失われるためです。それでも実行したいという場合、下記のように picamera2 のライブラリもインストールしておく必要があります。OpenCV のインストール方法は書籍と同じです。sudo apt -y install python3-picamera2
5章の音声を用いる演習 05-05-sw-mp3.py
このプログラムは、MP3 により音声を鳴らすのですが、Lite 版はデフォルトでは音が鳴りません。音を鳴らすためのライブラリをインストールすると、一緒にグラフィックなどのライブラリ (X11関連など) が大量にインストールされるので、あまりお勧めしません。 Lite 版の良さが失われるためです。それでも実行したいという場合、下記のライブラリもインストールしておく必要があります。mplayer のインストール方法は書籍と同じです。sudo apt -y install pulseaudio pipewire-pulse
6章 SPIを用いるプログラム
6 章で SPI を用いるプログラムを実行する場合、「sudo raspi-config」を実行し、下記の手順で SPI を有効化する必要があります。- ↓を2回押して「3 Interface Options」にフォーカスがあっていることを確認してEnter
- ↓を3回押して「I4 SPI」にフォーカスがあっていることを確認してEnter
- 「Would you like the SPI interface to be enabled?」という質問に対して ←を1回押して「はい」にフォーカスがあっていることを確認してEnter
- 「了解」にフォーカスがあっていることを確認してEnter
- TABキーをニ回押し、「Finish」にフォーカスを合わせEnter
7章 I2Cを用いるプログラム
7 章で I2C を用いるプログラムを実行する場合、まず下記のコマンドで必要なライブラリやツールをインストールする必要があります。sudo apt -y install python3-smbus i2c-toolsさらに、「sudo raspi-config」を実行し、下記の手順で I2C を有効化する必要があります。
- ↓を2回押して「3 Interface Options」にフォーカスがあっていることを確認してEnter
- ↓を4回押して「I5 I2C」にフォーカスがあっていることを確認してEnter
- 「Would you like the ARM I2C interface to be enabled?」という質問に対して ←を1回押して「はい」にフォーカスがあっていることを確認してEnter
- 「了解」にフォーカスがあっていることを確認してEnter
- TABキーをニ回押し、「Finish」にフォーカスを合わせEnter
以上、お疲れさまでした!
Raspberry Pi をヘッドレスで運用する
1. はじめに
本ページでは、Raspberry Pi をヘッドレスで運用する方法、特にヘッドレスでインストールする方法を解説します。ヘッドレス(headless)とは、モニターやキーボード、マウスを接続せずに PC を利用することを指します。Raspberry Pi で言えば、下図のように電源ケーブルのみを差した状態で運用する、ということです。
図1 Raspberry Pi のヘッドレス運用。(左)Raspberry Pi Zero 2 W、(右)Raspberry Pi 5
このように Raspberry Pi を運用するには、本サポートページの下記ページで解説したように、Raspberry Pi で SSH を有効にし、Windows や macOS などからターミナルソフトウェアでログインする、という方法をとる必要があります。 上記のページを最後まで体験頂くと、自然と Raspberry Pi をヘッドレスで運用できるようになる、というわけです(ただし、Linux に慣れた上級者向けとお考え下さい)。
上記のページは Raspberry Pi の OS のインストール時にディスプレイやキーボード、マウスを接続するという前提で解説されています。すなわち、「日本語化の設定」、「Wifi接続の設定」、「SSHの有効化」をディスプレイを接続して GUI の設定ツールで行う、という前提となっております。
しかし、初期設定だけのためにディスプレイやキーボード、マウスを接続するというのは手間がかかりますよね?
そこで、OS のインストールから設定、運用までの間、Raspberry Pi ににディスプレイやキーボード、マウスを一切接続しないことを目指そう、というのが本ページの趣旨です。運用の方法については上記のページで解説されていますので、本ページではインストールおよび設定の方法を解説することになります。
最近は、OS のインストールツールである Raspberry Pi Imager の機能が充実していますので、簡単にヘッドレスインストールを行うことができます。
それでは、やっていきましょう!
2. Raspberry Pi OS のヘッドレスでのインストール
ヘッドレスインストールといっても、通常の OS のインストールと同じく、Raspberry Pi Imager を使います。 ただし、「最新の Raspberry Pi Imager をインストールして用いる」ことに注意してください。この方法では、Raspberry Pi Imager が Raspberry Pi OS の設定を変更することになるのですが、 最新の Raspberry Pi Imager を用いないと、OS の変化に追随できていない可能性があるためです。 筆者は、古い Raspberry Pi Imager を用いていたために Wifi の設定が OS に反映されず、悩んだことがあります。さて、通常通り「OSを選ぶ (CHOOSE OS)」および「ストレージを選択(CHOOSE STORAGE)」の箇所を適切に選択したら、「次へ(NEXT)」ボタンをクリックします。
下図のように「Would you like to apply OS custimization settings? (OSのカスタマイズをするか?)」と聞かれますので、「設定を編集する」をクリックします。 ここから先は、OS が起動したときに適用されていて欲しい設定を Raspberry Pi Imager 上で行っていきます。
まずは下記のようにユーザー名とパスワードを設定します。ユーザ名は私ならば「kanamaru」などとします。アルファベットと数字で構成されたシンプルな名前が良いでしょう。 次に、Wifi の設定です。Wifi名 (SSID) とそのパスワードを記します。Pi Zero W または Pi Zero 2 W を用いるかたは、2.4GHz 帯の Wifi にしか接続できませんので注意しましょう。
また、入力したパスワードは確認することができませんので、慎重に入力する必要があります。
さらに、「Wifi を使う国」を「JP」に設定することも忘れないようにしましょう。選択肢はアルファベット順に並んでいますので、マウスのホイールでスクロールして「JP」を見つけましょう。 次に、言語の設定です。タイムゾーンは「Asia/Tokyo」に、キーボードレイアウトは「jp」に設定します。選択肢はアルファベット順に並んでいますので、マウスのホイールでスクロールして「jp」を見つけましょう。ただし、Raspberry Pi にキーボードを接続しない限りこの設定はあまり使われないのですが。 最後に、下図のように「サービス」タブに切り替えて、「SSHを有効化する」にチェックを入れましょう。認証方法はデフォルトのまま「パスワード認証を使う」を選択しています。 以上の設定が終わったら「保存」ボタンをクリックしましょう。なお、以上の設定は PC 上に保存されますので、次に Raspberry Pi OS を再インストールにもう一度入力する必要はありません。
再び「Would you like to apply OS custimization settings? (OSのカスタマイズをするか?)」と聞かれますので、「はい」をクリックすると、microSD カードへの OS の書き込みが始まります。 書き込みが終わったら、microSD カードを Raspberry Pi にセットし、起動してみましょう。慣れないうちは、ディスプレイやマウス、キーボードを接続した状態で起動してもよいでしょう。
Raspberry Pi Imager で OS の設定を行うと、初回起動時のセットアップウィザードがスキップされます。 ユーザーの作成、Wifiの接続、SSH の有効化がうまく行われていれば(ディスプレイやマウス、キーボードを接続しているかどうかに関わらず)、Raspberry Pi にターミナルソフトウェア(TeraTerm など)で SSH 接続できるようになっているはずです。
「raspberrypi.local」などの名前で SSH 接続できるか試してみましょう。「raspberrypi.local」でのアクセス方法は、「ディスプレイ・マウス・キーボードを接続せずにRaspberry Piを利用する~SSH編」の解説をご覧ください。
うまくいかない場合、Raspberry Pi にディスプレイやマウス、キーボードを接続した状態で原因を探ることになります。典型的には以下の原因が考えられるでしょうか。
- Wifi のパスワードの記述を間違えており、Wifi 接続できていない
- Pi Zero 系の機種に 5GHz 帯の Wifi を指定しており、Wifi 接続できていない
- Raspberry Pi Imager のバージョンが古く、Wifi の設定を保存できていない
- SSH を有効化するのを忘れている
これを日本語化したい場合、ターミナル上で以下の手順に従ってください。
まず、ターミナル上で下記のコマンドを実行します。
sudo raspi-configその後、以下の手順で日本語化の設定を行います。
- ↓を4回押して「5 Localisation Options」にフォーカスを合わせEnter
- 「L1 Locale」にフォーカスがあっていることを確認してEnter
- Localeのアルファベット順のリストが表示されるので、 ↓を押し続けja_JP.UTF-8 UTF-8 にカーソルを合わせスペースキーを押す。[*]とチェックされる (なお、スクロール途中でen_GB.UTF-8 UTF-8 にもチェックが入っていることがわかる)
- TABキーを一回押し、「Ok」にフォーカスを合わせEnter
- デフォルトのLocaleの選択画面が現れるので、↓を1回押し、ja_JP.UTF-8 UTF-8 にフォーカスを合わせる
- TABキーを一回押し、「Ok」にフォーカスを合わせEnter
- TABキーをニ回押し、「Finish」にフォーカスを合わせEnter
なお、この状態は、「Raspberry Pi をヘッドレス運用しているが、OS は GUI モードで起動した状態」になっています。
ディスプレイを接続していないのに GUI モードとなっているのはメモリの無駄づかいとなっていますので、CUI モードに切り替えるのが良いでしょう。
「sudo raspi-config」を実行することで raspi-config を起動し、「1. System Options」→「S5 Boot」→「B1 Console Text console」の順に選択すればよいです(その後はTABキー2回で「Finish」にフォーカスを合わせEnter)。
さて、以上のようにヘッドレスでの Raspberry Pi の OS インストールと設定が行えるようになったら、「ディスプレイ・マウス・キーボードを接続せずにRaspberry Piを利用する~SSH編」に記されているように、ヘッドレス状態での運用に慣れていきましょう。GUI を用いたアプリではなく、全てをターミナル上で行うのがお勧めです。
以上、お疲れさまでした!
登録:
投稿 (Atom)