Raspberry Pi Zero Wが届いたので初期セットアップしてみる
Raspberry Pi Zero Wという製品がありまして、これが執筆現在(2017/08)に大変品薄です。Nintendo Switchほどではないんですけどね。
今回はPimoroniで購入したのが無事届いたので、良い感じにセットアップしてみました。
購入
日本でRaspberry Pi製品を買うならスイッチサイエンス、KSY、RSコンポーネンツあたりが有力ですが、残念ながら現在はRaspberry Pi Zero Wをこれらのサイトで購入するのは品薄で難しいです。しばらくは技適問題で販売されていなかったのですが、つい先日その技適問題もクリア…したのですが、日本の商社での期待が昂ぶりすぎて(?)、購入が難しいのです。
という訳で上記のサイトでは購入が難しいのですが、Pimoroniというサイトだと在庫切れするものの割と簡単に購入できます。
という訳で輸入してみました。輸入と言ってもそれほど障壁は高くないので、ささっとポチりました。
むむんっ pic.twitter.com/B8wp3tOUin
— why/橘和板 (@whywaita) 2017年8月3日
Pi Zero W(とその他もろもろ)着弾! pic.twitter.com/ZZUN2SWw3P
— why/橘和板 (@whywaita) 2017年8月3日
ついでにPimoroniのトートバックとかも買ってみました。どうせ送料変わらないしな…。
海外のショップで購入したものですが、製品としては同じ物を利用しているので、ちゃんと技適マークも付いています。
技適は、ありまぁす! pic.twitter.com/7wvlswZOrG
— why/橘和板 (@whywaita) 2017年8月3日
Japanese Raspberry Pi Users Groupの一員であるAkkiesoftさんのブログ記事によると、ハードウェア的には同じ物なのではないかという話なので、恐らく世界中のロットが同調しているのではないかと考えられます。
ちなみにこのときにRaspberry Pi Zero WのケースであるPiBow Zero Wも購入したのですが、どうも組み立てがうまくいかないなーと思っていたら緩衝材的なパーツが一枚多かったようです。まあそういう事もあるよね。
なんか一枚多いな? pic.twitter.com/6M0IvccIby
— why/橘和板 (@whywaita) 2017年8月3日
初期設定
Raspberry Pi Zeroシリーズは、USB OTG(On The Go)を利用出来ます。これはUSB1本で様々な接続がうまくいく最高な仕様なので、これを使っていきましょう(というかmicroHDMI端子を扱えるケーブルを私が持ってないので、特に気にせずいきましょう)。
とりあえず雑にRaspbian Jessie Liteをダウンロードしてきてインストールします。
インストールした後に/boot
ディレクトリがマウントされるのですが、ここに諸々書き込みます。
以下のサイトを参考にしました。
- Raspberry Pi ZeroをUSBケーブル1本で遊ぶ | Japanese Raspberry Pi Users Group
- Raspberry Pi ZeroをUSBケーブル1本で遊べるようにする – Qiita
- Raspberry Pi Zero を USB ケーブルだけでセットアップする | ZEIYA-LABO
OTG追加
config.txt
以下の行を新規に追加します。
dtoverlay=dwc2
cmdline.txt
cmdline.txtは1行だけにしておきます。
modules-load=dwc2,g_ether
という部分を追加しますが、改行だけしても特に動かないようです。この辺は人によって(Raspbianのバージョン?)変わるようですが、ひとまず最後の部分にモジュールをロードさせるように書くだけでとりあえず大丈夫そうでした。
$ cat /boot/cmdline.txt dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=d81e9839-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether
ssh
最近のRaspbianでは、セキュリティの観点からデフォルトでssh-serverが自動で起動しないようになっています。
これを回避するためには、/boot/ssh
というファイルを設置する必要があるので、SDカードを抜く前に設置してしまいましょう。
$ touch /boot/ssh
ここまでいけば、Raspberry PiがOTGモードで起動するはずです。
Raspberry Piへの接続
さて、OTGの設定がうまくいったはずなので、お手元のPCにぶすっと刺してみましょう。基板にUSBと書いてある、microHDMI側のmicroUSBポートに刺すと良い感じです。
接続の際にはBonjourを使うのが大変便利です。細かい技術は置いておいて、ホスト名から良い感じに名前解決出来るApple製のステキ技術で、OSXやmacOSだと標準搭載です。Linuxだとavahi-daemonというパッケージをインストールすれば使うことができます。Windowsの場合は、iTunesをインストールすれば同梱されますし、Windows10であればmDNSに標準対応しています。
Mac系OSであればそのまま接続した場合に自己割り当てIPアドレスが割り振られ、mDNSによってRaspberry Pi側の自己割り当てIPアドレスに名前解決されるので、sshすることができます。Mac系OSの「インターネット共有」を使えばそのままそのRaspberry Piからインターネットに出ることができます。便利ですね。
LinuxのNetwork-Managerを使っている場合は、自分でstaticに自己割り当てIPアドレスを振りましょう。自動的にIPアドレスが振られないのでインターフェースが落ちてしまいますが、LinuxのOTG側のインターフェースに固定でIPアドレスを付けることでリンクアップします。リンクアップしたあとはMac系OSと同様にmDNSで名前解決を行い、Raspberry Piに対してsshできます。
他のネットワーク管理系アプリケーションや、ファイルなどで管理している場合でも基本的には同様に自己割り当てIPアドレスを指定すれば接続できるはずです。
Windowsに関しては試していないので諸兄でよしなにやって頂けると助かります。(というか今手元に物理のWindows環境無いんですよね…)
自己割り当てIPアドレスの他にも、USBで接続したインターフェースに対してDHCPサーバを立てればRaspberry PiはIPアドレスの取得を行います。私は面倒なのでやりませんでしたが…
Raspberry Piのネットワーク設定
せっかくのRaspberry Pi Zero Wなので、無線LANで接続できるようにしてみましょう。
無線系の設定は個人的にはNetwork Managerを利用するのが手軽で好きです。
# インストール # apt install network-manager # 起動自動化 # systemctl start network-manager # systemctl enable network-manager
あとはnmtui
コマンドを管理者権限(sudo)で起動させつつポチポチやっているとWi-Fiに繋がります。Raspberry Pi Zero Wは802.11 b/g/nの2.4GHz帯のみの対応なので気をつけられたい。
ちなみに私の環境ではWPA2-EAPの接続をしたい要件があったので、GNOMEのフロントエンドアプレットも一緒に入れてしまいます。
# インストール # apt install network-manager-gnome
あとは良い感じにSSH X転送などを使って設定をポチポチやるのが楽です。この辺nmtuiでやれると依存パッケージが減って良いんですけどね…。
まとめ
改めて書いておきたかったのでまとめて一つの記事にしてみました。
LinuxもWi-Fi設定ももうちょっと依存パッケージ減らしてできると良いんですが、とりあえずNetwork-Managerで良い感じに出来るのでよしとしておきます。
念のため書いておきますが、本記事を読んで発生した物事には責任を持ちませんのであしからず。