Raspbian, Windows IoT Core, Android Things on Raspberry Pi の三役揃い踏み

新しい Raspberry Pi 3 と液晶ディスプレイが到着したので、3つ同時に動かしてみました、の記録です。

image

RPi3 がちょっと安くなってる

aliexpress で Raspberry Pi 3 がちょっとだけ安くなっています。$36 程度で購入が可能になっています。細かい違いや、あれこれを気にしない場合は国内よりもちょっと安く手に入ります。

2016 New Raspberry Pi 3 Model B https://www.aliexpress.com/item/2016-Original-UK-Made-Raspberry-Pi-3-Model-B-1GB-RAM-Quad-Core-1-2GHz-64bit/32643511924.html?spm=2114.13010608.0.0.6S4vZd

RPi に乗せる液晶ディスプレイ(800×480)はこれを愛用しています。GPIO ピンがふさがってしまうのが難点ですが(別途半田付けすればいいんだけど)、HDMI 表示が簡単なのと別電源が要らないので手軽に扱えます。

5 inch 800×480 Touch LCD Screen 5″ Display
https://www.aliexpress.com/item/5-inch-800×480-Touch-LCD-Screen-5-Display-For-Raspberry-Pi-Pi2-Model-B-A-Hot/32707062356.html?spm=2114.13010608.0.0.MHXpmP

RPi3 は、ひとつだけ買ったのですが micro SD カードを差し替えて Windows IoT Core と Android Things を交互に試すのが面倒になって、2個追加しました。これで3つ同時に扱えるようになりました。

これで、Linux, Windows, Android と3種類の OS が揃ったので(iOS が Raspberry Pi に載ることはないでしょうから)、IoT としても用途によって OS を選べる、という段階に来たと思います。もちろん、LattePanda のように組み込みボード自体を変えてしまえば、フルな Windows 10 が動く状況を作るとか色々できますが、Raspberry Pi ボードがあれば3種類のOSが「用途に依って」使い分けができるところが良いところですよね。

以下、ざっと各 OS のダウンロード先と特徴を書いておきます。

Raspbian on Raspberry Pi

Raspberry Pi Downloads – Software for the Raspberry Pi
https://www.raspberrypi.org/downloads/

本家本元からダウンロードして micro SD カードに焼き込みます。中身は Linux の Debian なので、普通に LAMP サーバーとして使うことができます。大抵のものは apt-get で取って来れるので、低電力のミニサーバーを作りたいときはこれで十分かもしれません(micro SD カードの容量と読み書きスピードに依存しますが)。

GPIO を扱うときは、Python を使うのがお手軽ですね。Scratch とか node.js とかが動きます。私の場合、大抵は Tera term で ssh 接続して使うのでコマンドラインで使うことが多いので特に問題はないのですが、テキストベースの扱いに慣れていないとちょっと使い辛いかもしれません。

mono の環境を「apt-get mono-compete」でインストールすれば、C# を使ってプログラミングができます。

Windows IoT Core on Raspberry Pi

Raspberry Pi 3 と Arduino での Windows 10 IoT アプリの開発 | Windows IoT
https://developer.microsoft.com/ja-jp/windows/iot

上記から専用のアプリをダウンロードして micro SD カードに焼き込みます。Windows となっていますが、中身は似て非なるものなので、徹底して UWP アプリ(Windows ストアアプリ)として使います。バックグラウンドで動かす機能もあるけど、それならば Linux で動かしたほうが手軽なので。

アプリを Visual Studio で C# で書いて RPi にデプロイという形式ですね。エンタプライズ版もあるけど、それはこれからといったところなので、パーソナルベースで使うのがベターかと。プログラムが C#(時には F# で)書けるのがミソで、普通の UWP アプリに GPIO のライブラリを追加して使うという方法ができます。

 

Android Things on Raspberry Pi

Android Things | Android Things
https://developer.android.com/things/hardware/index.html

OS のスタイルとしては Windows IoT Core と同じで、スマートフォンの Android のサブセットという形です。元々 Raspberry Pi で Android 4.4 を動かすことができたのですが、Android Things は本家 Google がサポートする OS です。

基本は Android Studio を使って Java で Android アプリを作ります。スマートフォンではないので、カメラ機能やホームの機能もないのですが、UI 廻りや API 廻りはひと通り揃っているようです。GPIO は、別途ライブラリをインポートして使います。

ベースが Android なので、Xamarin.Android が使えます。Visual Studio 2015 で Android アプリを使ってデプロイすることで、C# でプログラミングができます。GPIO まわりはうまく jar 内のクラスに対して設定すればよいらしいので、あとで試します。

 

で、3つ並べてどうするのか?

それぞれのプログラムを作るときは、Python, C#, Java で切り替えることになるのですが、mono/Xamarin の組み合わせだと、C# や F# が使えます。あとは UI をどうするかとか、OpenCV を使うとか、既存ライブラリを流用するとかによって、OS を変えていくのがよいのではと思っています。ひとまず、RPi3 だと WiFi/Bluetooth が載っているので、各 OS が標準で対応してくれます。Raspbian をサーバーにして、Windows IoT Core/Android Things をクライアントにして何かの通信デモとか作ってみようかなと。

カテゴリー: RaspberryPi パーマリンク

Raspbian, Windows IoT Core, Android Things on Raspberry Pi の三役揃い踏み への2件のフィードバック

  1. 匿名 のコメント:

    Android Thingsのラズパイと液晶の接続ってHDMIでやっているんですか?

    • masuda のコメント:

      YES. 写真は組み込み用の5インチの液晶で繋げていますが、普通のHDの液晶ティスプレイ(1920×1080)でもHDMIで繋がりますよ。

コメントは停止中です。