Raspberry Pi ZeroをUSBケーブル1本で遊ぶ

5月リリースのRaspbianから、Raspberry Pi ZeroをOTGスレーブモードで動作させられるようになっていたようです。2つほど設定を記述して、Raspberry Pi ZeroをPCと接続すると、USB-Ethernetデバイスとして接続されて、SSHやVNCで接続できるようになります。Raspberry Pi公式ブログで紹介されていたので早速試してみました。

Raspberry Pi Zero

写真が暗くなってしまった……。

(参照元)
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台制限は変わりありませんが、最近はポンド安なので送料を含めてもお手頃な価格となっています。

Raspberry Pi Zero – Max 1 Pi Zero Per Customer!


Raspberry Pi ZeroをUSBケーブル1本で遊ぶ” への11件のコメント

  1. Windows10で試したところ、シリアルデバイスとして認識されてしまい、うまくネットワーク接続できない

    これに関して、ポートCOMnで現れてしまう場合は、次のドライバーで更新すると
    RNDISに切り替わるようです。

    (※あっきぃ注記※別ブログのファイルーの直リンクのようでしたので該当ブログの記事にURLを差し替えさせていただきました。)
    http://domotique.caron.ws/cartes-microcontroleurs/raspberrypi/pi-zero-otg-ethernet/

    • 藤井さん、コメントありがとうございました。リンクが別のブログのファイルへの直リンクのようでしたので、
      リンク先のブログの迷惑にならないよう、ブログ記事へのリンクに差し替えさせていただきました。ご了承ください。

  2. 初めまして。

    当方も最初はWindows10に接続したらCOMポートとして認識されましたが、次の場所にあるドライバに更新したところ無事にネットワークアダプタとして認識されるようになりました。

    Acer Incorporated. – Other hardware – USB Ethernet/RNDIS Gadget
    http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=37e35bd4-d788-4b83-9416-f78e439f90a2

    • オプっちさん、コメントありがとうございました。なかなか追試に着手できていないのですが時間を見つけて試してみたいと思います。

    • cobonzuさん

      wgetコマンドを使用して/dev/nullにファイルをダウンロードする方法で測定したところ、
      12.5MB/s前後出ててたので、100Mbpsのようです。

  3. arp -a で raspberrypi.local も見つかってるし、そこに PING も飛ぶのに
    > ssh: connect to host *.*.*.* port 22: Connection refused
    エラーが出るのでなんでかなーと思っていたら、単に RPi の SSH が Enable になっていなかった…。

    RPi にモニタ、キーボード、マウスを接続するのが面倒(MiniHDMI のコネクタ要るし…)で、横着して初回起動から Mac+RPi だけでセットアップしようとしたらこの有様でした。
    #しゃーない見るかーと HDMI とマウス繋げて設定見ると SSH が Disable だった。
    #Boot イメージの Config とかで設定できたら繋がなくてもよかったかもですが、そこまで調べてません^^;

    >うまくつながらないとき
    に一文足しておいてくれると誰かが喜ぶかも?

  4. あっきいさん

    わかりやすい投稿ありがとうございます。

    ラズパイゼロとUSBの接続に関してですが
    USB Ethernet/RNDIS Gadgetをインストールしようとしたのですが、
    http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=37e35bd4-d788-4b83-9416-f78e439f90a2へアクセスしても
    ダウンロードできませんでした。

    何か良い方法をご存知でしたらご教示いただけないでしょうか。

    どうぞよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です