5月リリースのRaspbianから、Raspberry Pi ZeroをOTGスレーブモードで動作させられるようになっていたようです。2つほど設定を記述して、Raspberry Pi ZeroをPCと接続すると、USB-Ethernetデバイスとして接続されて、SSHやVNCで接続できるようになります。Raspberry Pi公式ブログで紹介されていたので早速試してみました。
写真が暗くなってしまった……。
(参照元)
Programming your Pi Zero over USB – Raspberry Pi
Raspberry Pi Zero – Programming over USB! (Part 2) | Andrew’s blog
設定のしかた
Raspbianのディスクイメージをダウンロードして、イメージをSDカードに書き込みます。
書き込んだ後に認識されたbootパーティション(ドライブ)を開いて、以下のファイルを書き換えます。
- config.txt
dtoverlay=dwc2
の1行を追記します。- cmdline.txt
modules-load=dwc2,g_ether
の1文をrootwait
のあとに追記します。改行せずスペース区切りで続けて記述するように注意します。
参照元ブログの方が記述例を提供してくれています。
書き換えが済んだら、SDカードをアンマウントして、Raspberry Pi Zeroに挿入します。
PC側の準備
PCとRaspberry Pi Zeroを接続するときはBonjourが必要になります。PCのOSによって必要なソフトウェアが異なります。
Windowsの場合はBonjourが必要になります。iTunesをインストールすれば自動的にBonjourもインストールされます。Linuxの場合はavahi-daemonが必要になります。Macの場合は特に何も用意しなくても良いです。
PCと接続
PCとRaspberry Pi ZeroのUSBポートにUSBケーブルを接続します。しばらく待つとraspberrypi.local
のアドレスで接続できるようになります。
$ ssh pi@raspberrypi.local
Warning: Permanently added 'raspberrypi.local,169.254.75.218' (RSA) to the list of known hosts.
pi@raspberrypi.local's password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 27 11:50:26 2016
pi@raspberrypi:~ $
Raspberry Pi ZeroにVNCサーバーをインストールすればデスクトップ画面も開くことができますね。
Raspberry Pi Zeroからインターネットに出る
Raspberry Pi ZeroとPCはネットワークで接続されましたが、ローカル接続なのでRaspberry Pi Zeroはインターネット接続ができません。インターネット接続するにはPC側でインターネット共有を設定すると良いでしょう。Macの場合はシステム環境設定から共有設定ができます。Raspberry Pi ZeroはRNDIS/Ethernet Gadgetとして認識されているので、これを「相手のコンピュータが使用するポート」に指定します。
うまくつながらないとき
うまく接続されない時は、設定が正しいこと、USBケーブルがUSBホストケーブルであることを確認してみてください。とくにUSBケーブルは、充電専用ケーブルは通常のデータ通信ケーブルでは動作しないので注意が必要です。
(追記)USB Aオス-MicroUSB AオスケーブルでUSBホストケーブルになっているものは意外と少ないみたいです。手元のケーブルでは2〜3種類しか対応していませんでした。一般的なUSB Aメス-MicroUSB AオスアダプターとUSB Aオスオスケーブルを組み合わせてみても良いかもしれません。
(USBケーブルの違い参考) USBホストケーブル(OTGケーブル)について | ゆゆぶろぐ
また、Windowsでは動作しないと言う報告が上がっているようです。私もWindows10で試したところ、シリアルデバイスとして認識されてしまい、うまくネットワーク接続できないようでした。
対応機種はZeroだけ
OTGモードはなかなか便利な機能ですが、対応機種はRaspberry Pi Zeroだけとなります。Model BはUSBハブ(LAN951x)を経由しているため、Model AはIDピンがないため、それぞれ使用できないとのことです。
Raspberry Pi Zeroは買えます
カメラポート付きZeroのリリース以降、売り切れても毎週水曜日に在庫が復活する状況が続いています。需要も以前よりだいぶ落ち着いてきているようで、入荷のタイミングを見図らなくてもだいたい購入することができます。入荷後ごとの購入1台制限は変わりありませんが、最近はポンド安なので送料を含めてもお手頃な価格となっています。