Raspberry pi Zero WのセットアップをOTGでチャレンジしてみたら、少し詰まるところがあったので、セットアップ手順をまとめてみた。
手順は、OSインストールからOTGでラズパイを設定し、WiFi環境をセットアップし、VNC接続するまで。
セットアップ手順
Raspbianダウンロード
ここから、RASPBIAN STRETCH WITH DESKTOPの最新版のzipをダウンロードする。
https://www.raspberrypi.org/downloads/raspbian/
※自分はデスクトップ環境が欲しかったので、WITH DESKTOPを選択
Etcherインストール
ここからEtcherをインストールする。
https://etcher.io/
※SDカードにRaspbianをインストールするツール。DD for WindowsなどでもOKのはず。
Raspbianインストール
Raspberry Pi Zero用のmicro SDカードをカードリーダーに挿入し、Etcherを利用して、RaspbianをSDカードにインストールする。Etcherは管理者権限で実行する。
Select ImageでダウンロードしたRaspbianのzipを選択すればOK
Flashボタンを押して、zipの内容をSDカードに書き込む。
SSH有効化
インストールが終了すると、SDカードを一度抜いて、再度挿入する。
そうすると、bootドライブが出てくるので、bootドライブ直下にsshという空のファイルを作成する。
右クリックの新規作成からssh.txtを作成し、.txtを消せばOK。
cmdline.txt 修正
bootドライブのcmdline.txtに "modules-load=dwc2,g_ether" を追加する。
rootwaitとquietの間に挿入。
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=4b5dcf0c-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet splash plymouth.ignore-serial-consoles
config.txt 修正
bootドライブのconfig.txtの末尾に "dtoverlay=dwc2" を追加
RPI Driver OTGインストール
ここでだいぶ苦戦した。
「Raspberry Pi Zero を USB ケーブルだけでセットアップする」の手順に従って、RPI Driver OTGをインストール
http://domotique.caron.ws/wp-content/uploads/telechargement/RPI%20Driver%20OTG.zip
これをやっておかないと、USB経由でRaspberry Pi Zeroにアクセスができない。
Bonjourインストール
Bonjourをインストールすると、USBで接続したRaspberry Pi にホスト名でアクセスができるようになる。
iTunesをインストールすればBonjourが自動でインストールされると書いてあるページもあるけど、ウソ。
ここからダウンロードしてインストール。
https://support.apple.com/kb/DL999?locale=ja_JP
Raspberry Pi Zero 起動
PCとRaspberry Pi ZeroをUSBケーブルでつなぐ。Raspberry Pi側は、電源ソースではない方(内側)に接続。
起動が完了すると、ネットワークの一覧にUSB Ethernetが出てくる。これでSSH接続の準備OK。
SSH接続
teratermなどを使って、raspberrypi.localにssh接続を実施。
認証を聞いてくるので、pi/raspberryでログイン。
無事に入れた。
WiFiセットアップ
/etc/wpa_supplicant/wpa_supplicant.conf を修正する。
contryをJPに変更し、接続する可能性のあるSSIDをnetworkとして1つないし、複数登録する。
自分は、スマホのテザリング用と自宅のWiFiの2つを登録。登録後はreboot。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="[SSID]"
psk="[パスワード]"
id_str="myMobile"
}network={
ssid="[SSID]"
psk="[パスワード]"
id_str="Home"
}
他にもいろいろなパラメタがあるが、それは本家を参照。
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
Bluetoothセットアップ
※別稿で記載予定
VNCセットアップ
つぎに、VNCセットアップ。別の記事には、よく tightvncserver をインストールする手順が記載されている。
自分もそれに従って tightvncserver をインストールしてみたものの、tightvncserver はminiHDMIで接続したメイン画面は操作できず、仮想デスクトップしか操作できなかった。いろいろ調べてみると、そもそもRaspbianには、デフォルトでVNC機能を使えるようになっていた(有効化すれば自動でインストールしてくれるようになっている)。
VNC機能の有効化方法は、raspi-configを実行する。
$sudo raspi-config
そうすると、GUIが表示されるので、"Interfacing Options" を選択する。
VNCを有効にするか聞いてくるので、Yesを選択
※VNC機能の有効化は、インターネット接続が有効でないと実施できないので、注意。ちゃんとWiFi接続設定をしてからやること。
VNC接続時の解像度変更
VNCを有効にしただけでは、VGA相当の画面なので、超見難い。
config.txtを修正する。
$sudo vi /boot/config.txt
修正箇所は以下。すべてコメントアウトされているので、コメントアウトを外す。
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=47
hdmi_drive=2
groupとmodeは以下を参照して適当な値を設定。rebootすると、設定した解像度で表示される。
VNCのビューアーは何でもよい。SSH同様、raspberrypi.local:5900 にアクセスする。
https://elinux.org/RPiconfig#Video_mode_options
参考
Raspberry Pi Zero(W)のセットアップ
Raspberry Pi Zero を USB ケーブルだけでセットアップする
VNCで接続するためにRaspberryPiの解像度を修正する