技術を磨くだいぱんまん

散歩とインターネットが大好きなシステムエンジニア。暮らし、おでかけ、テクノロジーについて書いています。

Raspberry Pi Zero WをUSBケーブル1本でセットアップする方法

f:id:donchan922:20170720175757j:plain

2017/08/21更新
RASPBIAN STRETCHに対応しました。必要機器を見直しました。

こんにちは、だいぱんまん(@donchan922)です。

Raspberry Pi Zero W買いました!技適マークもきちんとあります。ようやく国内販売されましたね。

購入したらまずはセットアップ。方法としてはいくつかあるんですが、その中でも最小限の機器で手っ取り早くセットアップができるUSB-OTGを用いて行いました。簡単に言うと、Raspberry Pi Zero WとPCをUSBケーブルでつないで設定を行う方法です。ディスプレイやキーボード、マウスは必要ありません。楽チンです。

ということで今回は、Raspberry Pi Zero WをUSBケーブル1本でセットアップする方法をご紹介します。

準備するもの一覧

すでにPCがあることを想定しています。ちなみに今回のセットアップでは、Mac(macOS Sierra v10.12.5)を使用しました。以下、準備したものです。

Raspberry Pi Zero W

国内では以下サイトで購入できます。

microSDカード

最低4GB、推奨8GB以上です。

Raspberry Piシリーズ全般において、microSDカードとの相性の良い・悪いがあるようです。以下サイトで動作確認報告があがっているので参考にしてみては。ちなみに上記microSDカードで正常動作することは確認しています。

RPi SD cards - eLinux.org

SDカードリーダ

PCにmicroSDカードを読み込ませるやつ。PCにSDカードリーダが備えつけられている場合は不要です。

USBケーブル

USB2.0ケーブル(タイプAオス-マイクロBオス)を用意しましょう。スマホの充電に使う一般的なUSBケーブルです。1本必要。

OSをダウンロードする

f:id:donchan922:20170821091654p:plain
以下公式サイトから今回使うOS「RASPBIAN STRETCH LITE」のZIP版をダウンロードします。バージョンは現時点で最新のAugust 2017(2017-08-16)を用います。

Download Raspbian for Raspberry Pi

公式サイトが重たいときは以下のミラーサイトからダウンロードしましょう。10分ほどでダウンロードできました。

Index of /pub/raspberrypi/raspbian_lite/images

microSDをフォーマットする

SD Formatterというソフトを使ってmicroSDをフォーマット(初期化)します。操作は簡単。WindowsとMacに対応しています。

SD Memory Card Formatter - SD Association

PCにmicroSDを読み込ませた状態でSD Formatterを起動します。自動でmicroSDを認識してくれるので、あとは「クイックフォーマット」を選択し、「フォーマット」ボタンを押すだけです。数秒で完了します。

microSDにOSを書き込む

Etcherというソフトを使ってダウンロードしたOSをmicroSDに書き込みます。マルチOS対応で操作もすごく簡単なすごいやつ。

Etcher

PCにmicroSDを読み込ませた状態でEtcherを起動します。「Select image」を選択し、さきほどダウンロードした「RASPBIAN JESSIE LITE」のZIPファイルを選びます。ZIPのままmicroSDに焼けるのはいいですね。

あとは書き込むmicroSDを自動で認識してくれるので、最後に「Flash!」を選択するだけ。5分でmicroSDにOSを入れることができました。簡単!

SSH接続するための設定を行う

2016/11/25からセキュリティの関係で、デフォルトでSSH接続が無効化されています。

Raspbian 2016-11-25リリース | Japanese Raspberry Pi Users Group

でも大丈夫、SSH接続をセットアップ時に有効化する方法もきちんと用意されています。以下その手順です。

microSDのbootディレクトリにsshという空ファイルを作成します。これにより、Raspberry Pi Zero Wの起動時にSSH接続を有効化してくれます。

以下コマンドでsshという空ファイルを作成します。Windowsならエクスプローラの該当ディレクトリ上で右クリック新規作成テキスト文書で簡単に空ファイルを作成できます。Windowsいいな。。

$ touch /Volumes/boot/ssh

USB-OTGを使用するための設定を行う

microSDのbootディレクトリにある以下2つのファイルを書き換えます。

  • config.txt
  • cmdline.txt

config.txtについては、dtoverlay=dwc2を末尾に追記します。以下コマンドで追記できます。

$ echo "dtoverlay=dwc2" >> /Volumes/boot/config.txt


cmdline.txtについては、modules-load=dwc2,g_etherを追加します。追加場所は以下のとおりです。rootwaitのあとに追記します。

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh quiet splash plymouth.ignore-serial-consoles

機器を接続して起動する

f:id:donchan922:20170821100011j:plain
機器を接続するとこんな感じになります。microSDをRaspberry Pi Zero Wに差し込み、PCとRaspberry Pi Zero WをUSBケーブル1本で繋ぐだけです。

以下コマンドでSSH接続します。初期のIDはpi、パスワードはraspberryです。ホスト名を指定する場合、WindowsではBonjourというソフトウェアが必要です。iTunesをインストールすれば自動的にBonjourもインストールされるようです。Linuxの場合、avahi-daemonが必要です。Macの場合、何もする必要はありません。

$ ssh pi@raspberrypi.local


うまくSSH接続できれば以下コマンドが表示されます。

pi@raspberrypi:~ $ 

初期設定を行う

ここからはRaspberry Pi Zero Wの初期設定を行います。ここからは個人によって必要・不必要あるかと思いますので、お好みのものだけ設定してください。

Wi-Fi設定

以下コマンドでWi-Fiの設定ファイルを開きます。

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


ファイル末尾に以下を追記します。Wi-FiのSSIDPasswordは環境に合わせて変更してください。ファイル保存は「ctrl+x」⇒「y」⇒「enter」で行えます。

network={
    ssid="SSID"
    psk="Password"
}


以下コマンドで、設定ファイルを読み直し、変更内容を反映させます。

$ sudo wpa_cli reconfigure


以下コマンドで、Raspberry Pi Zero Wを再起動して接続しなおし、Wi-Fiの設定がきちんと行われているか確認します。inetにIPが表示されていればOKです!

$ sudo reboot
$ ssh pi@raspberrypi.local
$ ifconfig wlan0

Bluetooth設定

スマートフォンやワイヤレスキーボード、マウスを接続したい!という人向けの設定です。

まずは以下コマンドでBluetooth設定を起動します。

$ sudo bluetoothctl

以下コマンドで、対象のBluetooth接続機器を特定し、その機器とペアリングします。

# スマートフォンと接続する場合は以下3行を入力する
[bluetooth]# discoverable on
[bluetooth]# pairable on
[bluetooth]# agent on

[bluetooth]# scan on
....
[NEW] Device XX:XX:XX:XX:XX:XX Nintendo Wireless Keyboard
...
[bluetooth]# scan off
[bluetooth]# pair XX:XX:XX:XX:XX:XX


次回起動時に自動接続したい場合は、以下コマンドを実行します。

[bluetooth]# trust XX:XX:XX:XX:XX:XX
[bluetooth]# exit

言語と地域設定

言語と地域を日本に設定したい!という人向けの設定です。以下コマンドで、Raspberry Pi Zero Wの設定画面を開きます。

$ sudo raspi-config


4 Localisation Options -> I1 Change Localに進み、以下項目をスペースでチェックします。

  • en_GB.UTF-8 UTF-8
  • ja_JP.EUC-JP EUC-JP
  • ja_JP.UTF-8 UTF-8

デフォルトの言語を聞かれるのでja_JP.UTF-8 UTF-8にしておきます。これでRaspberry Piでも日本語が表示されるようになります。

タイムゾーンの設定は以下のとおり。
I2 Change Timezone -> Asia -> Tokyo

Wi-Fiを使用する国の設定は以下のとおり。
I4 Change Wi-fi Country -> JP Japan

ソフトウェア最新化

以下コマンドでソフトウェアを最新化しておきます。

$ sudo apt-get update
$ sudo apt-get upgrade

まとめ

以前Raspberry Pi 3をセットアップしたことがあるせいか、Raspberry Pi Zero Wの初期設定はあっさりとできてしまいました。USBケーブルを使ったセットアップは手軽でいいですね。