Windows
VNC
OTG
RaspberryPiZeroW

Windows10でRaspberry Pi Zero (W) をOTGを使ってセットアップする

More than 1 year has passed since last update.

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は管理者権限で実行する。
Etcher1
Select ImageでダウンロードしたRaspbianのzipを選択すればOK
Etcher1
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。
network

SSH接続

teratermなどを使って、raspberrypi.localにssh接続を実施。
ssh01

認証を聞いてくるので、pi/raspberryでログイン。
ssh01

無事に入れた。
ssh01

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" を選択する。
vnc01

"P3 VNC" を選択
vnc02

VNCを有効にするか聞いてくるので、Yesを選択
※VNC機能の有効化は、インターネット接続が有効でないと実施できないので、注意。ちゃんとWiFi接続設定をしてからやること。
vnc03

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
vnc03

参考

Raspberry Pi Zero(W)のセットアップ
Raspberry Pi Zero を USB ケーブルだけでセットアップする
VNCで接続するためにRaspberryPiの解像度を修正する