しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

GR-PEACH (PinKit) が届いたので .NET Micro Framework を使った開発を試してみた

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 でしたが、結構進化していて楽に扱えました。