5ドルのコンピュータ、ラズパイゼロをゲットしました。

CciMA7RUEAAoG0u

pimoroniというイギリスのサイトから購入しました。
ラズパイゼロは現在かなり人気みたいで、入荷してもすぐ売り切れてしまってます。
売り切れ時は「Notifi me」というボタンを押してメールアドレスを入力しておけば、入荷時にお知らせメールをくれます。

私はラズパイゼロ単体が欲しかったのですが、お知らせを見てすぐチェックしましたがすでに単体は売り切れており、しょうがないので「Pi Zero + Adaptors + Pibow Zero Case」というセットを買いました。
結果的には色々便利だったのでこのセットにしてよかったです。

ラズパイゼロ単体は4.25ポンドなので大体(当時のレートが1ポンド160円くらい)680円です。
私が買ったセットは12.5ポンドなので大体2000円です。
明細を見ると、10.42ポンドになってました。日本から買ったので欧州での消費税(VAT)分が割引になったみたいです。これに加え送料5.5ポンドがかかって、計15.92ポンドとなり、実際に支払ったのは2538円です。
ラズパイ単体で買っていた場合は1440円くらいになるなんじゃないかと思われます。
5ドルという触れ込みですが、まあ別途色々かかってくるのは仕方ない所ですね。

2月23日に注文して3月2日に到着したので、8日くらいかかりました。

早速セットアップしようと思いましたが、色々とセットアップに必要な機材がある事がわかり、結局色々注文しました。
・OSを入れるmicroSDカード(8GB以上推奨)
→Amazonで購入 TOSHIBA 東芝 microSDHC 16GB 558円
・ラズパイゼロにはマイクロUSBポートが一つしかないのでUSBハブ
→ヨドバシ.comで購入 バッファロー BUFFALO BSH5U03BK [USB2.0ハブ 5ポートタイプ ブラック] 550円
・ラズパイゼロにはLANポートがないので無線LANドングル
→ヨドバシ.comで購入
エレコム ELECOM WDC-150SU2MBK [無線LAN子機 11n/g/b 150Mbps USB2.0用 ブラック] 759円
・USBキーボード
・USBマウス
・液晶ディスプレイ
・給電用にUSBをコンセントに挿せるようにするアダプタ
→手持ちの物を使用

結局ラズパイの支払いと合わせて4405円かかってますね。ハハハ

セットアップ


さて、機材が揃ったのでセットアップします。

CdWcSvxVIAAeukV
↑機材を繋いだ様子。せっかくのコンパクトなラズパイゼロがごちゃごちゃ繋いで台無しに…

セットアップはこちらを参考にしました。
Raspberry Pi Zeroセットアップ 完全ガイド

素晴らしい丁寧な解説で大変助かりました。
参考記事ではMacを使っていますが私の環境はWindows10なのでその辺りの違いを捕捉で書いてみます。

・RaspbianをSDカードにインストールするにはWin32DiskImagerを使います。事前にSDカードフォーマッターを使ってSDカードをフォーマットしておきます。

参考URL:Installing operating system images using Windows

・リモートログインの際、WindowsはデフォルトではZeroconfに対応してないので、ラズパイのホスト名を使ってアクセスする事ができません(IPアドレスを調べて打ち込めばアクセスできます)。itunesをインストールするか、Bonjour単体をインストールすればraspi0.localなどのホスト名でアクセスできるようになります。

さて、別のPCからリモートログインまでできるようになれば、ラズパイに直接キーボードなどを繋がなくても操作できるようになるので、USBハブ、キーボード、マウス、ディスプレイを取り外して無線LANドングルだけ繋げておけばOKです。
ごちゃごちゃしてた配線が減ってだいぶコンパクトでスマートな感じを取り戻せます。

ラズパイゼロで遊ぶ


セットアップが終わったら起動して遊んでみます。
デフォルトでMinecraft Piが入ってますね。

CdWfCEKUYAAjNRi

これは子供たちにも大ウケ間違いなしです。
正直起動したらCUIが立ち上がるもんだとばかり思ってたのでGUIでデスクトップが出てきて驚きました。

マイクラなんてバリバリの3Dゲームなのにアッサリ動いてますね…こんな事がフリスクに入るようなサイズのコンピュータにできてしまうとは驚きです。

デスクトップが開いてもマイクラ以外は特にやる事無いですが、一応リモートでもデスクトップが見れるようにしたいと思います。

windowsにはRealVNCを入れて、ラズパイ側にはTightVNCServerをインストールすればOKです。

参考URL:Raspberry Piで遊ぼう [No.5:VNC接続をしよう]

↓これがwindowsからラズパイゼロのデスクトップを見ている様子です。
CdXX-sOUIAAlohi

ちなみにリモートでマイクラを起動したら画面が真っ黒になってしまいます。
マイクラはビデオメモリに直接描画してるからVNCには映らないんだそうです。

参考URL:Raspberry PiにVNCでリモートデスクトップ接続する方法

ラズパイゼロでChainerを動かす


ラズパイゼロの消費電力は0.8Wです。

参考URL:
https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi Zeroが登場。消費電力はどのくらい?

つまり、ラズパイゼロを一か月付けっぱなしておくと、電気代は17円くらいです。

対して、私のデスクトップPCは消費電力は恐らく平均200W以上あります。
200Wだとしても一か月付けっぱなしにしておくと電気代3千円以上かかります。

私はコンピュータを自分の使い魔みたいに働かせられたらいいなという構想を持ってますが、メインPCは自分が使うだけでいっぱいいっぱいで余計な事させたくないですし、やたら消費電力が大きいので付けっぱとかにしとくと電気代がもったいないです。

かといってサーバマシンを組んでもそれなりに電気代がかかりますしマシンを置く場所も無いです。

じゃあVPSを借りる手もありますが、毎月固定で結構な利用料金がかかってくるというハードルがあります。

そこを踏まえてこのラズパイゼロを見てみると、本体は5ドルという激安で、電気代も17円で痛くも痒くも無い金額です。
場所も全然取りません。
私の使い魔として働いてもらうのにふさわしいかも…

さて、何をさせてコキ使いましょうか。
取りあえずchainer-goghでランダムに画像を合成させ続けるというのはどうでしょうか。

という訳でchainerを入れてみます。

参考URL:Chainerをインストールしてみる

参考URLの通り、chainerをインストールして動作テストとしてmnistの学習を実行しました。
どうなったかというと…
なんと、いまだに実行中です。数日間ずっと頑張ってますが終わりません。

CPU実行だから時間がかかりすぎてる…?GPU(ラズパイゼロのGPUは24GFLOPSで意外と速度あるそうです)実行すれば早くなるかも…
と思いましたが、そういえばChainerはCUDAを使うので、NVIDIAのGPUでしかGPU実行できません。
う~ん、ラズパイゼロにディープラーニングはちょっと無理がありましたかね…

ラズパイゼロ用のGPGPUライブラリを開発された方がいらっしゃるので、頑張れば何とかなるのかもしれません。

ラズパイみたいな感じでNVIDIAのグラボ積んでてCUDAも使えるといえば、Jetson TK1やJetson TX1があります。
Jetson TK1は300GFLOPSでTDP5W、Jetson TX1は1TFLOPSでTDP10Wの性能だそうです。
ちなみにGTX980は4.6TFLOPSでTDP165Wです。
Jetson TK1は29160円で売られており、Jetson TX1は93798円で4月下旬入荷予定だそうです。
欲しいですねぇ。

ラズパイゼロを使い魔としてコキ使うにあたって押さえておきたいポイントがあります。
windowsからsshでリモートログイン(私はputtyを使ってます)してコマンドを実行させてる時に、windowsをスタンバイにするなどしてsshが切断されると、実行していた作業は中断されてしまいます。
これだとずっとsshクライアントを見張ってないといけなくて、全然使い魔として勝手に働いてくれてるイメージと違います。
windowsをシャットダウンしたくてもできないなら、結局電気代が無駄です。
しかしラズパイゼロにscreenというソフトを入れるとこの問題は解決します!

参考URL:【Linux】突然回線切断しても続きから作業を再開できるようにする方法

screenを使うと仮想端末を立ち上げる事ができるようになり、SSHを切断しても仮想端末は落ちないで引き続き作業を続行してくれます。
これでputtyを立ち上げっぱなしで見張る必要がなくなりました。

今後の展望


そもそもラズパイゼロを買った本来の目的は戦車のラジコンのリモコンをラズパイゼロから制御したかったからです。

Cby5VbUUEAEEd4E

そのためにはまずGPIOピンヘッダをラズパイにハンダ付けで取り付けないといけないので、ハンダゴテを買う所からですね。

どうせAndroid端末も上に載せる予定なので、ラズパイじゃなくてAndroidにUSBシリアル変換モジュール繋いでもいいかもしれません。
おいおいやっていきたいと思います。

もう一つ構想としてあるのが、ラズパイゼロを沢山繋いでグリッドコンピューティングする事です。
1個だと貧弱でも100個繋げばスーパーコンピュータになるかもしれません。
100個起動しても消費電力80Wで私のデスクトップPCより省エネですからね。価格も5ドルが100個になっても500ドルです。
ラズパイゼロは有線LANポートが無いのでLANで繋ぐのは高コストですが、USBで繋げられれば安く済みそうです。
こちらがそんな風な事をやってるようです。
問題点は現状ラズパイゼロが売り切れっぱなしで入手困難な事です。
いずれは安定的に手に入るようになって欲しいですね。