前→なし
次→Raspberry Pi Zero WH カメラモジュールで遊ぶ その1
本記事では、Raspberry Pi Zero WHの初期設定を行います。
1. OSのインストール(母艦での作業)
1.1. ダウンロードページへのアクセス
https://www.raspberrypi.org/downloads/
1.2. Raspberry Pi Imagerのダウンロードとインストール
Raspberry Pi Imagerは、SDカードのフォーマットやOSの書き込みなど、一挙に担ってくれる便利ツールです。
はじめに"- Raspberry Pi Imager for (母艦のOS)"のリンクをクリックし、Raspberry Pi Imagerをダウンロードします。(以下、Mac版の例になります。)
ダウンロードが終わったらインストールします。Rapsberry Pi ImagerをApplicationsにドラッグ&ドロップで終了です。
1.3. SDカードへのOSの書き込み
Raspberry Pi Imagerを立ち上げます。
はじめにSDカードをフォーマットします。"Operating System"から"ERASE"を選択し、"SD Card"からフォーマットしたいSDカードを選択、"WRITE"をクリックします。
フォーマット終了後、"Operating System"からインストールしたいOS(今回は"Raspberry Pi OS(32-bit)")を選択し、"SD Card"からフォーマットしたいSDカードを選択、"WRITE"をクリックします。
"Writing..." → "Verifying..."の後、"Write Successful"のポップアップが表示されれば書き込みは完了です。(ネットワーク環境によっては書き込みに長時間かかるようです。)
2. 各種初期設定(以降、ラズパイ上での作業)
インストールしたSDカードをラズパイに挿入し、起動します。
今回はモニターに接続した場合の操作になります。
2.1. 初回起動
"Welcome to Raspberry Pi"のウィンドウが自動的に立ち上がるので、「地域設定」「パスワード変更」「WiFi接続」「ソフトウェアアップデート」を実施します。
実施後、再起動を求められるので再起動します。
2.2. パッケージ更新
# パッケージ更新
$ sudo apt-get update
$ sudo apt-get upgrade
2.3. Vim設定(お好みで)
デフォルトで入っているのが軽量版のvim-tinyなので、通常のvimに入れ替えます。
# 入れ替え
$ sudo apt-get --purge remove vim-common vim-tiny
$ sudo apt-get install vim
# ~/.vimrcの設定
syntax enable
set showcmd
set showmatch
set matchtime=1
set hlsearch
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set whichwrap=b,s,[,],<,>
augroup fileTypeIndent
autocmd!
autocmd BufNewFile,BufRead *.py setlocal tabstop=4 softtabstop=4 shiftwidth=4
autocmd BufNewFile,BufRead *.rb setlocal tabstop=2 softtabstop=2 shiftwidth=2
augroup END
2.4. SSH設定
はじめに「設定」→「Raspberry Piの設定」→「インターフェース」から、SSHを有効化します。
その後、母艦からラズパイに公開鍵を送ります。(今回はed25519鍵を使用、秘密鍵/公開鍵の作成方法はssh-keygen
コマンドをググってください。)
# 母艦からラズパイに公開鍵を送付(母艦での作業)
$ cd
$ scp .ssh/id_ed25519.pub pi@raspberrypi.local:/home/pi
ラズパイ上で各種設定を行います。
# authorized_keysへの登録
$ cd
$ mkdir -m 700 .ssh
$ touch .ssh/authorized_keys
$ cat id_ed25519.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm id_ed25519.pub
# /etc/ssh/ssh_configの設定
# パスワード認証から鍵認証へ変更
PubkeyAuthentication yes
PasswordAuthentication no
# rootログインの禁止
PermitRootLogin no
# ssh再起動
$ sudo /etc/init.d/ssh restart
お好みで、わざわざssh pi@raspberrypi.local
やssh pi@192.168.xxx.yyy
と打ち込まずにssh raspi
と打ち込めばいいように設定します。
# ~/.ssh/configの設定(Hostnameはどちらか)
Host raspi
Hostname raspberrypi.local
#Hostname 192.168.xxx.yyy (プライベートIPアドレス、IP固定化後に切替をオススメ)
User pi
Port 22
IdentityFile ~/.ssh/id_ed25519
2.5. プライベートIPアドレス固定
はじめに現在のIPアドレスを確認します。ラズパイが無線LANでネットワークに接続している場合、"wlan0"の"inet 192.168.xxx.yyy"を確認します。
# 現在のIPアドレスを確認
$ ifconfig
次に固定したいIPアドレスが未使用か確認します。下記コマンドを実行し"Destination Host Unreachable"が複数回の後コマンドを停止させ、"100% packet loss"と表示されれば、未使用のIPアドレスです。
# IPアドレスが未使用か確認
$ ping 192.168.xxx.zzz
未使用であると確認できたIPアドレスを設定ファイルに書き込み、再起動します。
# /etc/dhcpcd.conf最下部に追記
interface wlan0
static ip_address=192.168.xxx.zzz/24
static routers=192.168.xxx.1
static domain_name_servers=192.168.xxx.1
# 再起動
$ sudo reboot
2.6. 外部ネットワークからの接続設定
…やらねば
2.7. その他、ユーザ作成とpiユーザの削除、VNC設定、WiFiの平文パスワード削除(hash化)、など
…やらねば。
3. おまけ:各種便利コマンド
# CPU温度の取得
$ vcgencmd measure_temp
# GPIO配列の確認
$ pinout
# OS versionの確認
$ lsb_release -a
# Kernel versionの確認
$ uname -a