ブロックチェーン・AI・システム開発の株式会社INDETAIL

Raspberry Pi Zero を入手したのでセットアップ手順をまとめてみる

2017.05.12
tacck

前回の記事を書いた後に、早速秋葉原へ行ったtacckです。
センサー類を見ていたのですが、最近ようやく国内で正式に販売されるようになった Raspberry Pi Zero が売られていたのですが、気がついたら購入していました。

ということで、今回は Raspberry Pi Zero をWiFi経由で ssh 接続できる方法を紹介してみたいと思います。
大筋は前回と同じなのですが、前回頑張った方法を使わなくても簡単にssh接続できる方法もわかったので、そちらも紹介します。

必要なもの

  • Raspberry Pi Zero
  • Micro SD Card (8GBytes 以上のもの)
  • USBケーブル (A to Micro-B / 他のRaspberry Piでも使えるやつ)
  • 無線LANモジュール (今回はこちらを利用)
  • USBコネクタ変換ケーブル (A to Micro-B)

今回は、Mac (macOS Sierra 10.12.4)で作業を行なっています。

Raspberry Pi Zero を使えるようにする

OSインストール

インストール方法についてはすでに世の中にたくさん記事があるので、あまり解説はしません。

ブログ執筆時点での最新イメージは、下記より入手しました。 (日本国内のミラーサイト 北陸先端大学様)
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2017-04-10/

dd の書き込み先(ここでは /dev/disk2 )は、利用する環境によって変わる可能性があります。ご注意ください。

OSインストールについては、普通の Raspberry Pi と同じです。

一度SDカードを抜いて、再度差し込みましょう。
Finderで "boot" という名前のディスクをマウントした状態になっているはずです。

USB-OTGで接続できるように準備

ここからが、 Raspberry Pi Zero 特有の、USB-OTGを使った接続方法になります。

そもそも、 USB-OTG とは何でしょうか?

これは USB On-The-Go の略称で、すごく簡単に言うと、USBケーブルで接続した機器「どちらも主体となって」やりとりするための規格です。

通常のUSBの接続はPC側が主体となって、周辺機器とデータの送受信を行ないます。
しかし、USB-OTGが利用できると、お互いが主体となることができます。

今回は、Macと Raspberry Pi Zero をUSBケーブルで接続します。これにより、それぞれの機器があたかも「ネットワークケーブル」で接続されたかのように動作します。
(つまり、IPアドレスを持ちます。)

では、USB-OTGで接続できるようにする準備を行なっていきましょう。

まずは、起動後に ssh 接続が使えるようにするために、下記のようにファイルを作成します。

/Volumes/boot/cmdline.txt を下記のように編集します。
具体的には、 rootwaitquiet の間に modules-load=dwc2,g_ether を追記します。

/Volumes/boot/config.txt の末尾に、下記のように dtoverlay=dwc2 を追記します。

以上で、準備は完了です。
(Finderの取り出しボタンなどを先に実行しておいて)SDカードを抜き、 Raspberry Pi Zero に挿します。

USBケーブルを、Macと Raspberry Pi Zero に接続します。
繋ぐ場所は、このイメージの通り内側のコネクタの方です。

USB-OTGで ssh 接続

USBケーブルを繋いで少し待つと、起動が完了して ssh 接続ができるようになっています。
接続方法ですが、Macから下記のようにsshコマンドを実行すると良いです。

IPアドレスではなく、raspberrypi.localというホスト名で接続できるのです。
これは、どうしてでしょうか?

実は、Macで Bonjour というサービスが動いており、 Raspberry Pi ZeroAvahi というサービスが動いているからです。

Bonjour とは

詳しくは、Wikipediaをご参照ください。

ざっくり言えば、「設定無しに機器を利用できる仕組み」を実装したものが Bonjour であり Avahi である、となります。
これのおかげで、 Raspberry Pi Zero は自分のホスト名をMacに伝えることができ、Mac側ではIPアドレスを気にせずに ssh で接続できるようになります。

では、実際に繋げた様子を見てみます。

usb0 というインタフェースにIPアドレスが割り振られています。
USB-OTGを使い、無事にssh接続することができました!

Macと常に接続して利用する場合は、ここまでで完了です。
しかし、これでは何かと不便なので、これもWiFiで利用できるようにしましょう。

WiFiで ssh 接続

こちらは、前回の記事の通り、WiFiの接続情報をファイルに記載すれば良いですね。

/etc/wpa_supplicant/wpa_supplicant.conf にアクセスポイント情報を記載します。

設定したら、一度 Raspberry Pi Zero の電源を切れる状態とします。

しばらく待つと、 Raspberry Pi Zero のLEDが消えるので、そのタイミングでUSBケーブルを抜きます。

WiFiで接続するために、無線LANモジュールを Raspberry Pi Zero に接続しましょう。
USBコネクタ変換ケーブルを使い、下記のように接続します。
また、USBケーブルの方は電源供給用に使っています。

こちらも、実際にsshで繋いだ様子を見てみましょう。

今度は、 wlan0 というインタフェースにIPアドレスが割り振られていますね。
WiFi経由でも、無事に接続することができました!

まとめ

Raspberry Pi Zero も、難しい設定など無しに使い始められることがわかったかと思います。
また、前回頑張ってIPアドレスを調べて接続する、というやり方をしていましたが、それすらも必要無いことも確認できました。

Raspberry Pi Zeroは非常に小さいので、そのサイズを活かした遊び方も考えていきたいと思います。

tacck Takuya KIHARA

エンジニア (モバイルアプリ、フロントエンド、バックエンド、インフラ) 得意なことは、領域をまたいで考え、開発すること。 ブログでは、主にAnsible、Docker、Raspberry Piのことを書いています。 好きなフィギュアスケートの技は、スプレッド・イーグルです。

「いいね」ボタンを押すと、最新情報をすぐに確認できます。