ESEC2015 でひっそりと予約していた GR-PEACH がやっと届きました、価格は 13k 程です。ESEC2015 で予約したときには 7 月中納品と言われた気がしますが、この際気にしないことにします。
日本っぽいデザインのパッケージになっています。大きさはたばこの箱より小さいぐらいかと思います。
当たり前ですが Raspberry Pi に比べるとかなりボードのサイズは小さいです。半分以下ですね。
基板は GR-SAKURA でもお馴染みのピンク色です。
GR-PEACH 本体の他にセンサーボードも付いてきましたが、とりあえずは GR-PEACH で .NET Micro Framework を使った開発が行えるようにしてみます。ちなみに Visual Studio 2015 を使います。
SDK のインストール
セットアップ方法は MS 太田さんのブログを見れば簡単です。
http://blogs.msdn.com/b/hirosho/archive/2015/05/15/pinkit-gr-peach-net-micro-framework.aspx
.NET Micro Framework 4.3 SDK のインストールは MSI の他に、Visual Studio で開発するための拡張機能もインストールする必要があります。
http://netmf.codeplex.com/releases/view/611040
今回は Visual Studio 2015 で使いたいので、SDK MSI と VS2015 Project System (alpha) をインストールしました。ファイル名の alpha というのがかなり気になりましたが、Windows 10 と Visual Studio 2015 の組み合わせでも問題なく動作しました。
ファームウェアのインストール
ファームウェアは以下のページから最新の tinyclrnbl.bin をダウンロードし、エクスプローラー経由で MBED にコピーするだけでインストール出来ました。
https://netmf4mbed.codeplex.com/
コピー後には tinyclrnbl.bin が見えなくなりますが、問題なくインストール出来ていました。
Visual Studio で開発する
.NET Micro Framework 4.3 SDK と拡張機能をインストールすると、Visual Studio の新規プロジェクトダイアログに Micro Framework が増えます。
セットアップ中に GR-PEACH にはフルカラー LED が付いていることを知ったので、手始めにその LED を操作してみることにしました。と言っても、GPIO 経由でオンオフするぐらいの簡単な処理です。
GR-PEACH の基板上に付いている LED のピン番号は以下のページで紹介されていました。助かりました。
.NET Micro Framework からデジタル出力を扱う場合には OutputPort を使います。ピン番号を指定する必要がありますが、これは先ほどのページに記載があった値を Cpu.Pin にキャストして使います。
実際に 3 色の LED を C# から操作するコードを書いて試してみました。
public static void Main() { var red = new OutputPort((Cpu.Pin)0x6D, false); var green = new OutputPort((Cpu.Pin)0x6E, false); var blue = new OutputPort((Cpu.Pin)0x6F, false); for (int i = 0; i < 10; i++) { red.Write(true); green.Write(true); Thread.Sleep(1000); red.Write(false); blue.Write(true); Thread.Sleep(1000); blue.Write(false); Thread.Sleep(1000); } red.Write(false); green.Write(false); blue.Write(false); }
適当に各 LED をオンオフしているだけの簡単なコードです。
後は Visual Studio から実行するだけですが、デフォルトの設定だとエミュレータが起動するようになっているので、プロジェクトのプロパティから GR-PEACH を使うように変更しておきます。
正常に GR-PEACH が認識されている場合、USB を選択すると GR-PEACH に切り替わるはずです。
そして実際に上のコードを動かしてみた時の動画を貼り付けておきます。
3 色の LED が付いているのでフルカラー表示が可能なはずですが、OutputPort は基本的にオンオフしかないので、PWM 的な処理を作らないと様々な色は作れません。
SideShow ガジェット以来の .NET Micro Framework でしたが、結構進化していて楽に扱えました。