ちょっと強引ではありますが、今日の記事(書いているのは年を越していますが)で 2016 年のアドベントカレンダーはおしまいです。導入者向けに Windows IoT Core 事始め - Qiita で Raspberry Pi の購入からスタートしているので、ひと通り眺めると Windows IoT Core で何ができそうか、が理解できると思います。
手元にあるのが Raspberry Pi 2/3 なので、Raspberry Pi を中心にして動かしてみたものを集めていますが、他の組み込みボードでも動かすことができます。
ちょっと注目したいのは「Pine 64」 PINE64 – 64-bit Single Board Computer ですね。もともと Kickstater で募集したものですが、Windows IoT Core が動きます。メモリが 1GB であれば、価格が $19.00 となり、Windows IoT Core が動くマシンとしては最安値ではないでしょうか。これは、年末に購入したので、届いたらレポートしたいと思います。
Android Things が発表される
Raspberry Pi は Rasbian を入れて Linux マシンとして使うと同時に、micro SD カードを差し替えれば Windows IoT Core として動かすことができます。更にAndroid Things でも動かすことができるようになりました。
以前から、Raspberry Pi 上では(かなり遅いですが)Android 4.x を動かすことができましたが、GPU がスマートフォンよりも遅いせいかあまり実用的なものではありませんでした。まあ、実験的なものですよね。私もいくつかの RPi 互換機で Android を動かして試してはいるのですが、結構高機能な UI まわりがネックになっています。
Android Things は、ホーム画面のような高機能な UI を排した Android です。中身は、ほぼ通常の Android と変わらず、プログラムは Android Studio などを使って開発をします。
ええ、どこかで聞いたような科白ですよね。そう、ちょうど Windows IoT Core と同じコンセプトを Android Things は持っています。どちらも GPIO まわりのクラスライブラリをインポートすることで、LED の制御やサーボモーターなどを動かすことができます。
- Android Things では、従来の Android ライブラリを活用できる
- Windows IoT Core では、従来の Windows 10 のライブラリを活用できる
ということです。OpenCV を使うとか、音声認識を使うとか、(おそらく)SQLite を使うとか、音声認識を使うとか、そういうものが「省電力」な組み込みボードとして利用することができるのです。
Windows IoT Core と Android Things + Xamarin の関係
Android Things は、通常の Android と同じ仕組み(どこが削られているか詳細はこれからなのですが)で動くので、Xamarin.Android を使うことができます。
この画像は、Raspberry Pi に Android Things を入れて、Xamarin.Android/Forms のサンプルコードを動かしたものです。こんな風に、本家となる Android 7.0 のグラフィック機能は Android Things 上でも動かすことができます。
こんな風に、組み込みボード上で、Windows/Android/Linux の3つの OS の使い分けができるようになっています。例えば、使いたいライブラリ(機械学習とか音声認識とか)を選択した後に、OS を選ぶということもできるようになってきました。プログラム言語も、Python や Java、C# などを併用できるという選択もあります。
なぜ組み込みボードを使うのか?
果たして、初代 Raspberry Pi をロンドンから船便で送って貰った頃は、ワタクシ的には組み込みボードといえば「携帯電話の試験ボード」のことで、ソフトウェア屋さんから手が出せない分野でありました(組み込み系のプログラマの方にはもともと近い位置にいるのだろうけど)。
電子回路の設計とかをやったことが無かったので、Raspberry Pi にしても単なるストレージサーバーとして使うか、安価な Web サーバーとしての使い道しか思いつかなかった私ですが、Windows/Android/Linux を三者そろい踏みとなってくると、なかなか面白い感じのものが作れそうですよね。是非、皆さんも LED とブレッドボードを買ってきて、ソフトウェアの世界だけではなく「Lチカ」から組み込みボードの世界に入ってみてください。もちろん、安価かつ省電力な PC として Raspberry Pi などを使うのもアリです。いろいろと「scope for imagination」( via 赤毛のアン)を駆使していきましょう。