本ページは、2024年10月発売の金丸隆志著「ラズパイ5対応 カラー図解 最新 Raspberry Piで学ぶ電子工作」(技術評論社)の補足情報をまとめるためのページです。
以下のページに、書籍で利用したコマンド一覧や補足情報などを掲載します。
インストールや設定に関する補足情報はこちらをご覧下さい。
Raspberry Pi Zero W 系を利用したい方はこちらをご覧ください。
マイクロコントローラーである Raspberry Pi Pico シリーズで電子工作してみたい方は
以下のページをご覧ください。
本書の旧バージョンのサイトへのリンクですが、本書の読者の方でも問題なく活用できます。
やや上級者向けの、Raspberry Pi をより便利に使う方法はこちらをご覧下さい。
本ページを活用し、Raspberry Pi を楽しみましょう!
2024年9月25日水曜日
書籍で用いたコマンドおよび補足情報
本ページで表示するコマンドの利用方法
本ページには、本書の演習を実行するために必要なコマンドを全て記し、さらに、本書への補足情報を記していきます。コマンドを本ページからコピーして実行することにより、書き写すことによるミスの恐れがなく確実に実行できます。本ページのコマンドをコピーにより活用するためには、まず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 を購入できるショップへのリンクは以下の通りです。p.19, Pi 5 対応のACアダプタへのリンク
p.19 に記した、Pi 5 に対応したACアダプタへのリンクは以下の通りです。p.25, Raspberry Pi Imager のダウンロードページへのリンク
p.25 に記した、Raspberry Pi Imager のダウンロードページへのリンクは以下の通りです。p.37, Raspberry Pi Connect の設定項目
設定ウィザードにて、Raspberry Pi Connect の設定を行う画面が現れると述べました。この設定は、2024-10-22 以降の Raspberry Pi OS では現れません。本書の演習には影響がありませんので、そのまま設定を続けてください。3章
p.44, 秋月電子通商のパーツセットへのリンク
p.44 に記した、秋月電子通商のパーツセットは下記ページで販売されております。 一時的に品切れの場合、あるいはパーツセット内のパーツを単品で欲しい場合、下記のリストをご活用ください。おおむねパーツセットと同等のパーツを入手できますが、「抵抗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 に記すべきコマンドは以下の通りです。ただし、「kanamaru」の部分は皆さんのユーザー名で置き換える必要があります。末尾の「&」も忘れずに記述しましょう。python3 /home/kanamaru/gihyo/07-03-LCD-temp.py &さらに、/etc/rc.local に記すべき、シャットダウンボタン用のコマンドは下記の通りです。やはり、「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
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
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 に記入するコマンドは下記の通りです。python3 /home/kanamaru/gihyo/07-02-LCD.py $_IPなお、上のコマンドの「kanamaru」の部分はみなさんのユーザー名に変更する必要があります。
p.223, シャットダウンプログラムの自動実行のために /etc/rc.local に記入するコマンド
p.223に記した、シャットダウンプログラムの自動実行のために /etc/rc.local に記入するコマンドは下記の通りです。「&」も忘れずに記述しましょう。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 に記入するコマンドは下記の通りです。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の参考文献で記したリンクは以下の通りです。OSイメージを用いてRaspberry Pi OSをインストールする
1. はじめに
本書では、Raspberry PiのOSである Raspberry Pi OS を、Raspberry Pi Imagerというソフトウェアを用いてインストールしました。このソフトウェアは、OSをmicroSDカードに書き込む時にOSのダウンロードも同時に行ってくれます。職場や学校などでは、この方法でのOSのインストールに失敗することがあるようです。ネットワーク環境により、OSのダウンロードに失敗するためのようです。
そこで、職場や学校などでもOSのインストールが可能な方法を紹介します。Raspberry Pi Imagerを用いて、あらかじめダウンロード済のOSイメージをmicroSDカードに書き込むという方法です。
2. 必要なものの準備
それでは、「Raspberry Pi OS のイメージで OS を インストールする」方法を解説します。まず、皆さんが普段お使いの PC で Raspberry Pi OS のイメージをダウンロードします。にアクセスしましょう。OSのイメージをダウンロードするページにたどり着きます。
本書でインストールを推奨する OS は「64-bit、アプリケーション数は通常、OSは最新」の選択肢なのでした。
ダウンロードページでは、「Raspberry Pi OS (64-bit)」の「Raspberry Pi OS with desktop」が該当します。ページをスクロールして下図の項目を見つけましょう。見つかったら、「Download」ボタンをクリックしてダウンロードします。執筆時点では 2024-07-04-raspios-bullseye-armhf.img.xz という名前の圧縮ファイルがダウンロードされました。 その他の選択肢としては、Pi 3 B/B+ までの機種では、下図の32-bit版を選ぶのも良いでしょう。 Pi Zero 2 W のようにメモリが少ない機種では下図の Legacy (32ビット) 版が安定動作する可能性があるのでした。 さて、現在の Rasbperry Pi OS では、ダウンロードしたファイルの名前は「ファイル名.img.xz」となっています。
本ページのタイトルに「イメージファイルを使って」とありますが、ダウンロードしたファイルはこの「イメージファイル」を「圧縮」したファイルです。圧縮の手法が、拡張子に表示されている「xz」であるというわけです。
ですから、ここからの流れは通常ならば「圧縮ファイルを『展開』してイメージファイルを取り出す」→「イメージファイルを microSD カードに書き込む」 となります。しかし、本ページでは「展開」という作業は行わす、圧縮されたファイルのまま作業を続けます。 その理由は以下の二つです。
- microSD カードに書き込むためのツール Raspberry Pi Imagerは、圧縮されたイメージファイルのままでmicroSDカードへの書き込みができる
- xz で圧縮されたファイルは、Windows のデフォルト環境では展開できない
3. Raspberry Pi Imager による OS イメージの microSD カードへの書き込み
ここでは、Raspberry Pi用OSのインストールソフトウェアであるRaspberry Pi Imager を用いてイメージファイルを microSD カードに書き込む方法を紹介します。インストール済のRaspberry Pi Imagerを起動するには、検索窓で「ras」などと記入して現れるRaspberry Pi Imagerをクリックします。 さて、起動したRaspberry Pi Imagerで「OS (Operating System)」の部分の「OS を選ぶ (CHOOSE OS)」ボタンをクリックしましょう。現れた画面で下図のように「Use custom (カスタムイメージを使う)」を選択します。 すると、イメージファイルの選択画面になりますので、先ほどダウンロードしたファイルを指定します。下図は、ダウンロードフォルダにダウンロードされたファイルを指定している様子です。 次に、Raspberry Pi Imagerで、「ストレージ (SD Card)」の部分の「ストレージを選ぶ (CHOOSE SD CARD)」ボタンをクリックしましょう。microSDカードが接続済であれば下図のようにカードが現れますので、クリックして選択しましょう。
なお、外付けハードディスクなどをPCに接続しているとこの選択肢が複数現れます。microSDカードを表す適切な方を選択しないと皆さんの大切なデータが壊されてしまいますので注意して選択しましょう。 あとはRaspberry Pi Imagerで「書き込む (WRITE)」ボタンをクリックしましょう。「Would you like to apply OS customization settings?」という質問に「いいえ」をクリックし、 「(中略)本当に続けますか?」に「はい」をクリックすると、書き込み (Writing)が始まります。確認 (Verifying)までが終わると、書き込みが終了します。
下図の画面が出たらmicroSDカードを取り外し、その後Raspberry Pi Imagerを終了しましょう。取り外した microSD カードを Raspberry Pi にセットして起動することになります。
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と周辺機器との接続は下図のようになります。 図からわかるように、以下のものが必要となります。- HDMI(メス)-ミニHDMI(オス)変換アダプタ。例えばエレコム HDMI 変換 アダプタ hdmi to mini hdmi
- USB OTGケーブル。例えば iBUFFALO BSMPC11C01BK
- USBハブ(ACアダプターなしのバスパワータイプでOK)。 2つ以上のUSB機器(例えばマウスとキーボード)を接続する場合には必要です。
なお、microSD カードはなるべく高速で高性能なものを使うことをお勧めします。Zero 系の機種はメモリが512MBしか搭載されておらず、microSDカードをメモリの代替として用いる「スワップ」という技術が多用されるためです。
性能の低い microSD カードを用いると、OS の更新時などにおいて処理が止まり、結果的に OS の再インストールが必要になることが多いように思います。
なお、ピンヘッダが取り付けられていない 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 が新しくなるとともに厳しくなっています。 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
ディスプレイがRaspberry Pi と相性が悪い場合の対処法
Raspberry Pi には、相性の悪いディスプレイがあるという問題があるようです。そのようなディスプレイでは、OSをインストールしたmicroSDカードを挿入してRaspberry Piに電源を入れてもディスプレイに映像が映りません。
本ページではその場合の対処法を記します。
なお、この設定を行ったときの副作用として、「Raspberry Pi の電源投入時にディスプレイが接続されておらず、あとから接続してもディスプレイが映る」という効果があります。
また、ディスプレイが映り起動した後、デスクトップ左上のメニューから「設定」→「Screen Configuration」を起動し、下図のように 「レイアウト」→「Screens」→「HDMI-1(または HDMI-A-1)」→「解像度」の項目を cmdline.txt に記した解像度の設定に合わせ、「Apply」ボタンを押して設定変更を適用する必要がある場合があります。 上図は、cmdline.txt に video=HDMI-A-1:1280x768@60D と記した場合の例です。
なお、古い Windows を用いている方は、このファイルが正しく開けません(正しく改行されて見えない)。その場合「サクラエディタ (V2 (Unicode版))」のように改行を正しく処理できるテキストエディタをインストールし、そのサクラエディタで config.txt を開くようにしてください。
さて、「#」を削除して保存したら microSD カードを Windows から取り外し、Raspberry Pi に取り付け、電源を投入してみましょう。
ディスプレイに映像が映ったでしょうか。
ただし、映ったとしても画面の解像度は低い状態かもしません。 その場合、config.txt でさらに下記の設定を行うと、解像度を変更できる可能性があるようです(参考:ラズパイの電源を入れた後にHDMIを挿しても画面が表示される方法)。
下記の行の先頭の「#」を削除してディスプレイの幅 (width) と高さ (height) を適切に設定し、
本ページではその場合の対処法を記します。
0. 準備
Raspberry Pi 用に OS をインストールした microSD カードを PC に接続します。そして、エクスプローラーの「PC」の項目を見ると、下記のように「bootfs」というディスクが存在していることがわかります。ここをダブルクリックすると、中に「cmdline.txt」や「config.txt」というテキストファイルがあるので、用いている OS に対応するファイルをメモ帳などのテキストエディタで開きます。1. 用いている OS が最新 (Bookworm) の場合
2023年10月にリリースされた、2024年8月時点で最新のOSである、Bookworm を用いている方は、「cmdline.txt」を編集する必要があります。 通常は、「cmdline.txt」をダブルクリックすると、メモ帳などでファイルが開かれるでしょう。その中に、下記の1行が記されています。console=serial0,115200 console=tty1 root=PARTUUID=877fcbb5-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=JPこの行の末尾に、半角スペースを一文字挿入してから、「video=HDMI-A-1:1920x1200@60D」などのようにディスプレイの解像度を追記します。「1920x1200」の部分は、お使いのディスプレイに適した値に設定してください。私の場合、ここに「1280x768」と記したことがあります(参考:株式会社クリスタージュ ディスプレイ解像度・サイズ 一覧)。
console=serial0,115200 console=tty1 root=PARTUUID=877fcbb5-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=JP video=HDMI-A-1:1920x1200@60D以上の記述を行ったら、ファイルを保存してテキストエディタを閉じてください。そして、microSDカードを Raspberry Pi に取り付け、電源を投入してみましょう。 うまくいけば、ディスプレイが表示されるでしょう。
なお、この設定を行ったときの副作用として、「Raspberry Pi の電源投入時にディスプレイが接続されておらず、あとから接続してもディスプレイが映る」という効果があります。
また、ディスプレイが映り起動した後、デスクトップ左上のメニューから「設定」→「Screen Configuration」を起動し、下図のように 「レイアウト」→「Screens」→「HDMI-1(または HDMI-A-1)」→「解像度」の項目を cmdline.txt に記した解像度の設定に合わせ、「Apply」ボタンを押して設定変更を適用する必要がある場合があります。 上図は、cmdline.txt に video=HDMI-A-1:1280x768@60D と記した場合の例です。
2. 用いている OS が一世代前の Legacy (Bullseys) の場合
2023年10月より前にリリースされていた OS である、Bullseye などを用いている方は、「config.txt」を編集する必要があります。 通常は、「config.txt」をダブルクリックすると、メモ帳などでファイルが開かれるでしょう。その中に、下記の1行が記されています。 すると、下図のようなファイルが開かれますので、6行目の「#hdmi_safe=1」という行の先頭の「#」を削除し、上書き保存してメモ帳を閉じてください。なお、古い Windows を用いている方は、このファイルが正しく開けません(正しく改行されて見えない)。その場合「サクラエディタ (V2 (Unicode版))」のように改行を正しく処理できるテキストエディタをインストールし、そのサクラエディタで config.txt を開くようにしてください。
さて、「#」を削除して保存したら microSD カードを Windows から取り外し、Raspberry Pi に取り付け、電源を投入してみましょう。
ディスプレイに映像が映ったでしょうか。
ただし、映ったとしても画面の解像度は低い状態かもしません。 その場合、config.txt でさらに下記の設定を行うと、解像度を変更できる可能性があるようです(参考:ラズパイの電源を入れた後にHDMIを挿しても画面が表示される方法)。
下記の行の先頭の「#」を削除してディスプレイの幅 (width) と高さ (height) を適切に設定し、
#framebuffer_width=1280 #framebuffer_height=720さらに、次の行の先頭に「#」を記述して無効化します。
dtoverlay=vc4-kms-v3d
ディスプレイ・マウス・キーボードを接続せずにRaspberry Piを利用する~SSH編
はじめに
Raspberry Pi は名刺サイズの超小型コンピュータですが、ディスプレイを接続して利用すると Raspberry Pi の省スペース性が犠牲になるという問題があります。また、低価格で人気の Raspberry Pi Zero (以下 Pi Zero) 系の機種はメモリが少なく、ディスプレイを接続してデスクトップを利用するのが年々厳しくなっているという問題があります。
これらの問題に対し、本ページでは「Raspberry Piにディスプレイ・マウス・キーボードを接続せずに利用する」ことを目指します。
2024年8月時点で、その方法として以下の3つの方法があります。上に記したものほど、昔からある手法です。
- SSHを用いる方法
- VNCを用いる方法
- Raspberry Pi Connectを用いる方法
また、Linuxの上級者に好まれる方法でもあり、マスターして損のない手法であると言えます。
具体的には、下記のように一つのネットワークにRaspberry PiとPCが属しており、PCからRaspberry Piを利用する、というスタイルになります。 この図だけ見ると、本書の9章や10章で行ったように「PC のブラウザから Raspberry Pi の回路にアクセスする」方法とあまり変わらないように思えるかもしれません。
9章や10章と異なるのは、Raspberry Pi にディスプレイ、マウス、キーボードを一切接続せず、「プログラムの作成」、「プログラムの実行」、「Raspberry Pi のシャットダウン」などをすべてPCから行うことが可能だ、という点です。
この際、PC のデスクトップの外観は下図のようになります。左上のアプリケーションは Tera Term という Windows 用のターミナルアプリケーション、右上は Raspberry Pi の Python 開発環境である Thonny、左下はファイルマネージャであり、 Thonny やファイルマネージャが Windows 上のウインドウとして表示されているのがポイントです。
以下、この動作を実現する方法を解説していきます。
なお、Windowsに対する解説を最初に行い、macOSに対する解説はページ末尾で行います。
必要なツールのインストールと設定(Windows編)
上図の動作をWindowsで実現するためには、下記の2つのアプリケーションをインストールする必要があります。- Tera Term(ターミナル)
- VcXsrv(Xサーバー)
以下、順に解説していきます。
Tera Termのインストールと設定
Tera Termのサイトよりインストールファイルをダウンロードします。最新版をダウンロードして下さい。2024年8月における最新版のファイル名は teraterm-5.2.exe でした。ダウンロード後はファイルをダブルクリックしてインストールします。デフォルトの設定のままインストールを終えて構いません。
インストール後、Tera Term を起動すると、下記のようなウインドウが現れます。これは、Raspberry Pi に接続するためのウインドウなのですが、ウインドウを PC に表示するための設定が接続前に必要ですので、ここでは図のように「キャンセル」ボタンを押します。 その後、残ったウインドウで下記のように「設定」→「SSH転送」を選択します。 すると、下図のようなウインドウが現れますので、図のように「リモートのXアプリケーションをローカルのXサーバに表示する」にチェックを入れ、「OK」を押します。 その後、「設定」→「設定の保存」を選択し、今の設定を保存します。 保存するファイル名や場所は変更せず、そのまま「保存」ボタンを押せば設定が保存されます。
以上の設定は、初回のみの実行でよく、次回からは実行する必要がありません。 以上でTera Termの設定は終わりですので、一旦Tera Termのウインドウを閉じます。
VcXsrvのインストールと設定
次に、VcXsrvのインストールを行います。X サーバーと呼ばれる機能を Windows 上に実現するソフトウェアです。まず、公式サイトよりファイルをダウンロードします。
ダウンロードするファイル名は、vcxsrv-64.X.X.X.X.installer.exe の形式のものを選びましょう。64ビット版のリリースファイルです。
ただし、2024年8月現在、最新版はファイルにウィルスが含まれていると Windows Defender に誤検出され、ファイルがダウンロードされませんでした。
Windows Defender を使っているとこのような誤検出の問題がときどき起こります。
そのような場合、一つ前の古いバージョンをダウンロードするなどすると良いでしょう。私の場合、vcxsrv-64.21.1.13.0.installer.exe ではなく、vcxsrv-64.21.1.10.0.installer.exe をダウンロードしました。
さて、インストール用のファイルのダウンロードが終わったら、デフォルトの設定でインストールします。インストール時に青い画面の警告が出た場合、「詳細情報」リンクをクリックしてから実行します。
インストールが終了すると、デスクトップに下図のように XLaunch と書かれたアイコンが現れます。
このアイコンをダブルクリックして X サーバーを起動してみましょう。幾つかウインドウで設定を求められますが、デフォルトのままで構いません。すなわち、
- 「Multiple windows」にチェックが入った状態で「次へ」
- 「Start no client」にチェックが入った状態で「次へ」
- 「Clipboard」、「Primary Selection」、「Native opengl」にチェックが入った状態で「次へ」
- 「完了」をクリックする前に「Save configuration」を押すと、そこまでの設定が保存できますので、場所を選んで保存しましょう。デスクトップ上でも構いません。「config.xlaunch」というファイルが保存されます
- 最後に「完了」で X サーバーが起動されます
さて、X サーバーが起動した状態では下図のようにタスクトレイに「X」というアイコンが現れます。以下で行うRaspberry Piへの接続時は、必ずこの「X」というアイコンが表示された状態で行ってください。 なお、デフォルトでは X サーバーの起動は自動では行われませんので、Windows を再起動するたびに手動で起動する必要があります。
そのような場合、初回起動時に保存した「config.xlaunch」をダブルクリックすると、その時の設定で X サーバーが起動されますので、次回からは「XLaunch」ではなく「config.xlaunch」をダブルクリックして X サーバーを起動するようにしましょう。 なお、「config.xlaunch」をダブルクリックしてXを起動できることを確認したら、デスクトップ上の XLaunch のアイコンは削除してしまっても構いません。
Raspberry Piでの準備
現在の Raspberry Pi OS では、デフォルトで ssh というソフトウェアが無効になっていますので、これをあらかじめ有効にしておく必要があります。Raspberry Pi のデスクトップ左上にあるメニューから「設定」→「RaspberryPiの設定」と進み、下図のように「インターフェイス」タブの「SSH」を有効にしてください。これでsshが有効になります。
Windows から Raspberry Pi への接続
以上の準備が終わったら、Raspberry Pi へ接続してみましょう。あらかじめ Raspberry Pi を起動しておきます。慣れないうちは、これまで通り Raspberry Pi にディスプレイ、キーボード、マウスを接続しておいてもよいでしょう。その状況で、Windows で Tera Term を起動し、Raspberry Pi に接続します。
下図のように、Tera Term の「新しい接続」ウインドウの「ホスト」欄に、Raspberry Pi の IP アドレスを記入して「OK」を押します。 なお、本書10章で注意したように、ここで Raspberry Pi に接続するためには、IPアドレスを知る必要があります。そのためには、Raspberry Piに ディスプレイとキーボードを接続しておく必要があり、本末転倒です。
この問題を解決するためには、本書では以下の方法を紹介しました。興味のある方はトライしてみてください。
- 「ホスト」欄に、IP アドレスではなく「raspberrypi.local」と記入する:Windows に iTunes がインストールされている必要がある(iTunes に含まれる Bonjour というソフトウェアが必要なため)。iTunesのページを少しスクロールしたところにある「ほかのバージョンをお探しですか?」項目の「Windows」項目をクリックしてファイルをダウンロードする。Miscrosoft Store 版の iTunes ではダメなようです。
別ウインドウでLXTerminal が起動していることがわかります。これは、X サーバーである Vcxsrv をあらかじめ実行しておいたことの効果です。
なお、ターミナルから Thonny を起動すると、図に示されているように警告やメッセージがたくさん表示されますが、気にする必要はありません。 さらに、この Tera Term 上で「pcmanfm &」コマンドでファイルマネージャ起動したのが下図です。
以上の例から想像できるように、よく使うアプリケーションのコマンド名を知っておくと便利です。本書に関連するのは下記のアプリやコマンドです。
- Thonny:thonny
- ファイルマネージャ:pcmanfm
- テキストエディタ:mousepad
- 設定アプリケーション:rc_gui
- Raspberry Pi のシャットダウン:sudo poweroff
- Raspberry Pi の再起動:sudo reboot
- ブラウザ(chromium):chromium-browser (ただし、「さらなる発展」で後述するように Raspberry Pi 上でブラウザを使う理由はほとんどありません)
日本語入力は?
以上の方法では、テキストエディタなどに日本語を直接入力する方法がないように思えます。ただし、Windows アプリから文字をコピーして Raspberry Pi のアプリケーションに貼り付けることはできますので、Windows のメモ帳などで日本語を書いて Raspberry Pi のアプリケーションに貼り付けるという手はあります。
もし、よりスマートな方法をご存知の方はお知らせ頂けると幸いです。
管理者権限で GUI アプリケーションを実行する際の注意
上記の方法で Windowsから Raspberry Pi のアプリケーションを実行できるようになったのですが、管理者権限でウインドウのある GUI アプリケーションを実行しようとすると、エラーが出て実行に失敗します。例えば管理者権限でのテキストエディタの起動「sudo mousepad」などです(本書ではこれをしばしば用いました)。本ページの方法で GUI アプリケーションを管理者権限で実行するには、例えば mousepad の場合、下記のコマンドで実行しなければなりません。
XAUTHORITY=/home/$USER/.Xauthority sudo mousepadこれを毎回実行するのは非常に面倒ですね。
下記の手順に従うと、この長い実行コマンドを簡略化できますので、試してみると良いでしょう。
まず、.bashrcという設定ファイルをテキストエディタmousepadで開きます。ターミナルで下記を実行するのでした。
mousepad .bashrcこのファイルの末尾に、下記の1行を追加します。これは「XAUTHORITY=/home/$USER/.Xauthority sudo」という長い命令を「xsudo」で置き換える、という設定です。
alias xsudo="XAUTHORITY=/home/$USER/.Xauthority sudo"追加したらファイルを保存してテキストエディタを閉じます。
この設定を有効にするには、Raspberry Pi を再起動してしまうのが簡単です。
その後、Tera Term にて、
xsudo mousepad
を実行すると、管理者権限のテキストエディタがWindows上に開く、というわけです。
なお、この方法が必要なのは、GUIアプリケーションを管理者権限で実行する場合のみです。例えば、シャットダウンコマンド「sudo poweroff」は管理者権限ですが、GUI がないのでこれまで通りの実行方法でエラーはでません。
さらなる発展
以上で、Raspberry Piにディスプレイ、マウス、キーボードを接続せずに運用できるようになりました。しかし、実際に使ってみると、Raspberry Pi 上の GUI アプリケーションの動作がやや緩慢であることに不満を覚える方が多いかもしれません。これは、GUI の描画をネットワーク経由で行っていることが原因です。
実際のところ、より Linux に慣れている上級者の方で、上記のように Raspberry Pi の GUI アプリケーションを Windows 上に表示して用いている、という方は多くはないと思います。
彼らがどうしているかというと、Raspberry Pi 上で行う全ての処理を、上記のターミナルソフトウェア Tera Term 上で行ってしまうのです。Tera Term は Raspberry Pi とコマンド(文字)のやりとりしかしませんから、ネットワーク経由でも動作が軽快なわけです。
しかし、そのためには、例えば下記のような操作をすべてターミナル上で行えなければいけません。
- ファイルの編集(プログラムや設定ファイルの記述)
- ファイルの操作(ファイルの削除、ファイルの移動、ファイル名の変更など)
- プログラムの実行
ターミナル内のみでファイルを編集できるアプリケーションとして良く知られているのは、
- nano(起動したら、終了するにはCtrl-X)
- vi
- emacs
二つ目の「ファイルの操作」についてはamazonなどの書店で「Linux コマンド」などのキーワードで検索すると、参考書が多数見つかるでしょう。
三つ目の「プログラムの実行」については本書付録Cに少し解説があります。
なお、本書では「ブラウザで補足ページを開いてコマンドなどをコピーしてターミナルで貼り付け」という方法を覚えると演習が楽になります。 今回の場合のように Tera Term で Raspberry Pi にログインしている場合、このブラウザとして Raspberry Pi 上のブラウザを用いる理由はほとんどありません。
Windows 上のブラウザで本書の補足ページを開き、コマンドを (Ctrl-C などで)コピーして Tera Term へ貼り付ければ良いのです。 Tera Term へのコマンドの貼り付けは Alt+V またはマウスの右ボタンをクリック、です。この手法を用いると、Tera Term でのコマンドの実行がかなり楽になるでしょう。
必要なツールのインストールと設定(macOS 編)
さてここからは、macOS で同じことを行う方法を記していきます。私は M1 チップ搭載の MacBookPro (Sonoma) で行いましたが、他のバージョンでも同様に動作すると思います。Windowsと同様、- ターミナル
- Xサーバー
XQuartzのインストールと起動
ここでは、macOS 用の X サーバーである XQuartz をインストールします。XQuartz の公式サイトよりファイルをダウンロードします。執筆時は XQuartz-2.8.5.dmg が最新版でした。ダウンロード後はインストールを行ってください。
インストール後は下記のようにアプリケーション→ユーティリティに「XQuartz」アイコンが現れます。また、本ページで多用する「ターミナル」も存在するのがわかるでしょう。
XQuartz をダブルクリックして起動すると、下記のようにドックに XQuartz のアイコンが現れます。下記で Raspberry Pi に接続するときは、このアイコンが現れているときに行います。実際には、次回からは macOS が起動するときに同時に XQuartz も自動的に起動するようです。 なお、XQuartz を手動で起動すると、下記のような「xterm」というアプリケーションも同時に起動するのですが、これは用いませんので閉じてしまって構いません。以上で、XQuartz のインストールと起動は完了です。
sshの設定
次に、Raspberry Piに接続してGUIアプリケーションを表示するための設定を行います。macOS 上にある /etc/ssh/ssh_config という設定ファイルを管理者権限で編集する必要があります。ここでは nano というテキストエディタで行います。
まず、macOS 上で「アプリケーション→ユーティリティ→ターミナル」を起動しましょう。そして、下図のようにターミナル上で
sudo nano /etc/ssh/ssh_configを実行しましょう。すると、macOS にログインする際のパスワードを聞かれますので、入力してください。その際、パスワード記入欄のカーソルは変化しませんが、気にせずに入力してEnterキーを押してください。 パスワードの入力に成功すると、下図のようにターミナル上でテキストエディタnanoが管理者権限で起動します。矢印キーでカーソルを移動できますので、操作はそれほど難しくないでしょう。
そして、下図のように「# ForwardX11 no」という行を見つけ、その下に
ForwardX11 yesという行を一行追記します。 追記が終わったら、保存してnanoを閉じます。以下の流れで行いましょう。
- Ctrl-X(Ctrl キーを押しながら X キー)を入力
- 変更を保存するか?(Save modified buffer?)と聞かれるので「y」を入力
- ファイル名(File Name to Write)を聞かれるので、変更せずそのままEnterを入力
macOS からRaspberry Piへの接続
以上で準備が整いましたので、macOS から Raspberry Pi に接続しましょう。なお、Windows 編で注意したように、ssh というソフトウェアを Raspberry P i上であらかじめ有効にしておく必要があります。Windows 編の「Raspberry Pi での準備」を参考に、Raspberry Pi 上で ssh を有効にしてから先に進んでください。
準備ができたら、macOS 上で「アプリケーション→ユーティリティ→ターミナル」を起動し、下図のように
ssh kanamaru@raspberrypi.localと入力してEnterキーを押しましょう。もちろん、「kanamaru」の部分は皆さんが Raspberry Pi OS のインストール時に決めた自分の ID で置き換えてください。
なお、これは「raspberrypi.local というホストにユーザー kanamaru でログインする」という意味になります。IPアドレスで指定したい場合、例えば「ssh kanamaru@192.168.1.3」などとなります。
まず、「本当に接続するか?」と聞かれますので、「yes」とタイプして Enter キーを押します。 次に、パスワードの入力を求められますので、Raspberry Pi OS のインストール時に決めたパスワードを入力します。その際、パスワード記入欄のカーソルは変化しませんが、気にせずに入力してEnterキーを押してください。 パスワードの入力に成功すると、下図のようにログインに成功します。
あとは自由にアプリケーションを起動してみましょう。下図は、Windowsで行ったように
- ターミナルから「thonny &」により Thonny を起動
- ターミナルから「pcmanfm &」によりファイルマネージャを起動
なお、管理者権限でGUIアプリケーションの実行するとそのままではエラーが出ますので、本ページ中ほどにある「管理者権限でGUIアプリケーションを実行する際の注意」を参照してください。同様に、よく使うアプリケーションのコマンド名も本ページ中ほどで紹介しています。
登録:
投稿 (Atom)