はじめに
この記事では、Raspberry Pi Zero 2 Wのセットアップ手順を詳しく解説します。
最初は通常のキーボード、マウス、HDMIモニターを使ったセットアップ手順、その後に別のPCからリモートログインする方法を説明します。さらに、Python、C/C++、Vim、Gitなどのプログラミング環境のセットアップ、および bash や Vim の便利なカスタマイズ例を紹介します。
環境は英語(US)のロケールとキーボードを前提としますが、日本語キーボードを使う場合も設定を変えれば問題ありません。
1. なぜRaspberry Pi Zero 2 Wなのか?
- 小型・省電力: コンパクトサイズで、持ち運びや組み込み用途に向いています。
- Wi-Fi / Bluetooth搭載: Zeroシリーズでもネットワーク接続やBluetooth機器との連携が手軽です。
- 価格が安い: エントリー向けとしてコストを抑えられます。
- 拡張性: GPIOピンを活用してセンサーやLEDを制御するなど、IoT用途に幅広く対応可能です。
Raspberry Pi 4などに比べると性能は控えめですが、小規模なプログラミング学習やIoTプロトタイプには十分な性能があります。
2. 必要なもの
- Raspberry Pi Zero 2 W
-
MicroSDカード(16GB以上推奨)
- 速度クラスが高い(例: Class10/UHS-1)ほど快適です。
-
MicroSDカードリーダー
- PCでOSイメージを書き込む際に使用します。
-
Micro USB OTGアダプター
- Raspberry Pi Zero 2 Wのデータ用Micro USBポートにキーボード・マウスを接続するために必要です。
-
Mini HDMI to HDMIアダプター
- 小型のMini HDMI端子を通常のHDMI端子に変換します。
-
USB電源アダプター(5V/2.5A以上推奨)
- 安定動作のため、必要な電流を供給できるものを使いましょう。
-
キーボードとマウス
- 初期設定時に必要です(後にSSH接続のみで利用する場合は省略可)。
-
HDMIモニター
- 初期セットアップやデスクトップ操作時に使用します。
-
別のPC(リモートログイン用)
- SSHやVS CodeのRemote-SSHなどで遠隔操作する場合に便利です。
3. Raspberry Pi OSのインストール
3.1. Raspberry Pi OSのダウンロード
-
Raspberry Pi公式サイトへアクセスし、Raspberry Pi Imagerをダウンロードします。
- Windows / macOS / Linux いずれも対応
- ダウンロードしたImagerをインストールします。
3.2. MicroSDカードにOSを書き込む
- MicroSDカードをカードリーダーに挿入し、PCに接続します。
-
Raspberry Pi Imagerを起動し、以下を設定:
- Operating System: “Raspberry Pi OS (32-bit)”など適切なOSイメージ
- Storage: 使用するMicroSDカード
- 右下の歯車アイコン(Advanced settings)から、以下を設定(オプション):
- Enable SSH: 有効化(リモート接続を使う場合)
- Set Username and Password: SSHで使うユーザー名・パスワード
- Locale Settings: 言語(English US)、タイムゾーン(お住まいの地域)など
- 設定完了後、「Write」をクリックしてOSを書き込みます。数分かかる場合があります。
4. 初期セットアップ
4.1. ハードウェアの接続
- MicroSDカードをRaspberry Pi Zero 2 Wに挿入します。
- Mini HDMIポートにHDMIアダプターを接続し、HDMIケーブルでモニターに接続します。
- Micro USB OTGアダプターを利用して、キーボードとマウスをRaspberry Pi Zero 2 WのUSBデータポートに接続します。
- 最後にUSB電源アダプターを電源用のMicro USBポートに挿し込み、Raspberry Piを起動します。
4.2. OS初期設定
- デスクトップが表示されたら、Welcome to Raspberry Piウィザードに従って基本設定を行います。
- 言語とキーボードを英語(US)に設定(日本語キーボードなら適宜設定を変更)。
- Wi-Fiネットワークを設定し、インターネットに接続します。
- ソフトウェアのアップデートを行います(数十分かかる場合もあります)。
5. プログラミング環境のセットアップ
5.1. システムのアップデート
まずはシステムを最新の状態にします:
sudo apt update
sudo apt upgrade -y
5.2. Pythonのインストールと確認
Pythonは標準で入っていますが、以下で最新化やライブラリ管理ツールを追加:
sudo apt install -y python3 python3-pip
python3 --version
pip3 --version
5.3. C/C++コンパイラのインストール
C/C++開発用のツールチェーンを導入します:
sudo apt install -y build-essential
gcc --version
5.4. Vimのインストール
ターミナルベースのテキストエディタVim
vim-tiny を削除してから再度 Vim をインストールする
sudo apt remove vim-tiny
sudo apt install -y vim
5.5. Gitのインストール
バージョン管理ツールGit:
sudo apt install -y git
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
6. リモートログインの設定(SSH)
6.1. SSHの有効化
- GUI操作: Start Menu > Preferences > Raspberry Pi Configuration > Interfacesタブ > SSHをEnable
- ターミナル操作:
から「Interface Options」→「SSH」→「Enable」
sudo raspi-config
6.2. IPアドレスの確認
ターミナルで以下を実行し、IPアドレスを確認:
hostname -I
例: 192.168.1.10
6.3. 別PCからSSH接続
- WindowsならPowerShellやPuTTY
- macOS / Linuxなら標準のターミナル
ssh <username>@<RaspberryPi_IP>
例:
ssh pi@192.168.1.10
初回接続時は鍵登録の警告が出ますが、yes
と入力して続行します。
7. リモート開発環境の拡張 (VS Code: Remote-SSH)
7.1. Remote-SSH拡張機能のインストール
- VS Code を起動し、左サイドバーの拡張機能アイコンをクリックします。
- 検索バーに「Remote-SSH」と入力し、Microsoft 提供の拡張機能をインストールします。
7.2. Remote-SSHを使用した接続
- コマンドパレット(Ctrl + Shift + P)で「Remote-SSH: Connect to Host」を選択します。
- 「Add New SSH Host」を選び、例えば
pi@192.168.1.10
などの接続情報を入力します。
3. 入力内容は SSH 設定ファイル(~/.ssh/config)に保存されるので、接続先を選択してログインします。
4. 接続完了後、VS Code がリモート環境用にリロードされ、Raspberry Pi のファイルを直接編集できるようになります。
7.3. Remote-SSHを使用した接続時のトラブルシューティング
場合によっては、2回目以降の接続時に VS Code Server の状態が不整合となったり、タイムアウトなどの問題が発生することがあります。以下の対策を順次実施してください。
7.3.1 VS Code Server の再インストール
リモート側に残っている古い VS Code Server のファイルが原因になっている可能性があります。SSH 接続後、以下のコマンドを実行して既存のファイルを削除してください。
rm -rf ~/.vscode-server
これにより、次回接続時に新たにサーバーがダウンロード・インストールされ、状態がリセットされます。
7.3.2 サーバープロセスの確認と強制終了
万が一、VS Code Server のプロセスが残っている場合、以下のコマンドでプロセスを終了させてください。
pkill -f vscode-server
7.3.3 VS Code Remote SSH の設定変更
ローカルサーバー機能が影響している場合があります。VS Code のユーザー設定(settings.json
)に以下の設定を追加して、ローカルサーバーの使用を無効にしてください。
{
"remote.SSH.useLocalServer": false
}
7.3.4 SSH認証方式の見直し
毎回パスワード入力になっている場合、SSH キー認証へ切り替えることで接続が安定する可能性があります。以下の手順を参考にしてください。
-
SSH キーを作成(まだ作成していない場合):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
作成した公開鍵をリモート側の $~/.ssh/authorized_keys$ に登録します。
7.3.5 SSH接続のタイムアウト対策
接続が途中でタイムアウトする場合、クライアント側の SSH 設定でタイムアウト対策を行うと効果的です。
SSH 設定ファイル($~/.ssh/config$)に以下の設定を追加してください。
Host 192.168.1.10
ServerAliveInterval 60
ServerAliveCountMax 5
これにより、定期的な生存確認パケットが送信され、接続が維持されやすくなります。
7.3.6 VS Code および拡張機能のアップデート
使用している VS Code や Remote - SSH 拡張機能が最新版でない場合、既知の不具合により接続に問題が生じることがあります。
最新バージョンへのアップデートを行ってください。
7.3.7 ログの確認
上記対策を実施しても問題が解決しない場合は、リモート側のログファイル(例:$~/.vscode-server/.log*$)を確認し、詳細なエラーメッセージやタイミングを把握してください。
ログから依存関係の不足やネットワーク環境の問題などを特定できる場合があります。
8. Bashの便利なセットアップ
Raspberry Pi OSのデフォルトシェルは通常 bash です。設定ファイル(~/.bashrc
)を編集することで作業効率を高められます。
8.1. 現在のシェルを確認
echo $SHELL
/bin/bash
と表示されればbashです。もし他のシェルがデフォルトの場合、以下でbashを選択できます:
chsh -s /bin/bash
8.2. エイリアス(alias)の設定
# ~/.bashrc の最後あたりに追記
alias ll='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
- コマンドを短縮して入力できるため、生産性が向上します。
8.3. プロンプト(PS1)のカスタマイズ
# ~/.bashrc のPS1部分を編集
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
- 色付きにしておくと、ユーザー名やディレクトリが分かりやすくなります。
8.4. 履歴(history)の設定
# ~/.bashrc
HISTSIZE=10000
HISTFILESIZE=20000
HISTCONTROL=ignoredups:erasedups
- 同じコマンドが連続した場合は記録しない等、履歴の重複を減らせます。
8.5. 変更内容の反映
source ~/.bashrc
- シェルを再起動するか、このコマンドを実行することで変更が反映されます。
9. Vimの.vimrcを便利にする設定例
Vimは設定次第で格段に使いやすくなります。.vimrc
を編集して好みに合わせてカスタマイズしましょう。
vim ~/.vimrc
9.1. 基本設定
" 行番号表示
set number
" シンタックスハイライト
syntax on
" 検索時に大文字小文字を区別しない(大文字を含むと区別)
set ignorecase
set smartcase
9.2. インデント関連
" 自動インデント
set autoindent
set smartindent
" タブをスペースに置き換える
set expandtab
" タブ幅・インデント幅
set tabstop=4
set shiftwidth=4
9.3. 視認性向上設定
" カラースキーム
colorscheme desert
" カーソル行をハイライト
set cursorline
9.4. 補完やマッピング
" コマンドライン補完の強化
set wildmenu
set wildmode=list:longest,full
" インサートモードでjj入力→ESCと同等のマップ
inoremap jk <ESC>
10. おすすめの追加ツール
Raspberry Pi Zero 2 Wで開発を快適にするため、以下のツールも導入を検討してみてください。
10.1. htop
- リアルタイムでCPU使用率やメモリ使用量を確認できるタスクマネージャー。
sudo apt install -y htop
10.2. tmux / screen
- SSHセッションを切断してもプログラムを継続実行できる端末マルチプレクサ。
sudo apt install -y tmux
- 新しいセッション:
tmux new -s session_name
- 切断:
Ctrl + b
, その後d
- 再接続:
tmux attach -t session_name
- 新しいセッション:
10.3. ncdu
- ディスク使用量を対話的に確認できるコマンドラインツール。
sudo apt install -y ncdu
10.4. nano(簡易エディタ)
- Vimが苦手な場合は、デフォルトで入っている「nano」を活用すると良いです。操作が直感的でわかりやすいです。
11. よくある質問 (FAQ)
Q1. Wi-Fiに接続できない
- SSID/パスワードが合っているか確認。
-
sudo raspi-config
→ 「System Options」 → 「Wireless LAN」で再設定できます。
Q2. SSH接続が失敗する
- SSHが有効になっているか (
raspi-config
) - IPアドレスが正しいか(
hostname -I
で再チェック) - ルーターやファイアウォールでポート22がブロックされていないか
Q3. Raspberry Piが起動しない
- 電源アダプターの5V/2.5Aが確保されているか
- SDカードにOSが正しく書き込まれているか
- HDMIケーブルやモニターの入力切替などハード面の確認
Q4. VS Codeのリモート接続で拡張機能をインストールできない
- Raspberry Piがインターネットに接続されているか
-
df -h
でストレージ空き容量を確認 - ローカル側で拡張機能をインストールしてからリモートに同期する方法もあります
Q5. 他のプログラミング言語も使いたい
- Node.js, Java, Go, Rustなどを必要に応じてインストールできます。
- 例えばNode.jsなら
sudo apt install -y nodejs npm
で試せます。
12. トラブルシューティングまとめ
- Wi-FiやSSH接続が不安定: 再起動し、電波の強い場所へ移動、あるいは有線LANを検討
-
パッケージのインストールエラー:
sudo apt update
の後に再度インストール -
SSHセッションの切断:
tmux
やscreen
を利用すると便利
13. 次のステップ
- IoTプロジェクト: センサーデータの取得、制御基板との連携
- Webサーバー構築: ApacheやNginxを導入してサイトをホスティング
- プログラミング学習: PythonやC++以外に、Node.jsやRustなどへ挑戦
- Docker運用: 軽量コンテナで環境構築の再現性を高める
- OpenCVを使った画像処理: カメラモジュールとの連携で物体認識など
14. シャットダウン方法
Raspberry Piを安全に終了するためのシャットダウン方法を以下に示します。
電源を直接抜くとSDカードの破損などのリスクがあるため、必ずOSを正しく停止してください。
14.1. コマンドラインからのシャットダウン
ターミナル(もしくはSSH接続中のリモートセッション)で、以下のコマンドを実行してください。
sudo shutdown -h now
- このコマンドは、即時にシステムを停止(halt)します。
- 同様の効果として、以下のコマンドも利用できます。
sudo poweroff
- また、指定した時間後にシャットダウンしたい場合は、例えば10分後の場合、
と実行します。
sudo shutdown -h +10
14.2. GUIからのシャットダウン
Raspberry Pi OSのデスクトップ環境を利用している場合は、以下の手順でシャットダウンが可能です。
- 画面左上のRaspberry Piアイコン(スタートメニュー)をクリックします。
- メニュー内にあるShutdown(シャットダウン)またはPower Offを選択します。
- 表示されるダイアログの指示に従ってシャットダウンを実行してください。
注意: シャットダウン完了後、すべてのLEDが消灯するのを確認してから電源ケーブルを抜くようにしてください。
14.3. シャットダウン後の電源ON方法
Raspberry Pi Zero 2 Wは、標準では専用の「電源ON」ボタンが搭載されていません。
そのため、シャットダウン後に再び起動する(電源を入れる)ためには、以下の方法が考えられます。
-
電源ケーブルの抜き差し
- シャットダウン後、システムは完全に停止しているため、電源ケーブルを一度抜いてから再接続することでブートシーケンスが始まります。
-
外部の電源管理回路を利用する
- 手動で毎回ケーブルの抜き差しを行うのが手間な場合、外部の電源管理HATや回路を利用して、ボタン一つでオン/オフを切り替える方法もあります。
- この方法は、追加のハードウェアや配線が必要となるため、用途に合わせた選択が求められます。
-
RUNピンを利用したリセット
- 一部のRaspberry PiにはRUNピン(リセット用ピン)があり、短絡することでリセット動作を行えます。
- ただし、これはリセット動作であり、完全なシャットダウン状態からの起動には適用できない場合があります。
- 誤操作によりシステムが不安定になる可能性もあるため、一般的には前述の「電源ケーブルの抜き差し」または「外部電源管理回路」の利用が推奨されます。
15. まとめ
ここまで、Raspberry Pi Zero 2 Wの初期セットアップからリモートアクセス、各種プログラミング言語とツールの導入、さらには bash と Vim の設定・カスタマイズ例や便利ツール、そして安全なシャットダウン方法までを網羅して解説しました。
- 小型ながらもWi-Fi・Bluetoothを搭載し、初期投資が低コストで済むため、学習用やIoT試作にうってつけです。
- bash のカスタマイズで作業効率を向上させ、Vim の設定で快適にコードを編集しましょう。
- 必要に応じてVS CodeのRemote-SSHを活用すれば、ローカルPCの性能を生かしてリモート環境で開発できます。
- 正しいシャットダウン操作を行うことで、システムの安定性とSDカードの長寿命を確保できます。
Raspberry Pi Zero 2 Wはリソースが限られている部分もありますが、アイデア次第で幅広いプロジェクトに応用可能です。
以上