Windows 8.1でLEGO MINDSTOMRS NXTを制御するサンプルコード

もうちょっと形を整えてから…と思ったのですが、時間がたってしまったので、暫定的な形になってしまいますが、LEGO MINDSTORMS NXTをWindowsストアアプリで制御するための、ライブラリ、アプリテンプレートをサンプルとして公開します。

ファイル一式は、

https://eg-sample-filedowload.azurewebsites.net/FileDownload/GetFile?id=NXTControl

からダウンロードしてください。基本、https://nxtnet.codeplex.com で公開されている.NET FRAMEWORK版のライブラリをWindows Runtimeに移植したものです。将来的には、ちゃんと、オープンソース的な体裁を整えてどこかできちんと公開しますので、暫定的に使ってください。

ダウンロードしたZIPファイルには、

  1. NxtWinRTSolution.zip
  2. LegoNXTSDK.zip
  3. LegoNXTSDK.vsix
  4. BrickControlApps.zip
  5. README.txt

の5個のファイルが格納されています。※README.txtは必ず読んでくださいね。

最初のNxtWinRTSolution.zipには、以下の3つのプロジェクトが格納されています。

  • NxtWinRT       NXT.NETのWinRT対応 - ライブラリ形式
  • NxtWRTC       NXT.NETのWinRT対応 - コンポーネント形式
  • StoreAppsWRTCTest  サンプルコード

NXTとBluetooth Serial通信の処理の具体的な中身が知りたい方は、こちらを参照してください。基本的な使い方は、StoreAppsWRTCTestのMainPage.xaml.cs を見てみてください。

次に、2番目のLegoNXTSDK.zipですが、この中には、3番目のLegoNXTSDK.vsixを作るためのプロジェクトです。LegoNXTSDK.vsixをダブルクリックして実行すると、NxtWinRTSolutionのNxtWRTCで作成された、コンポーネント形式のライブラリが、Visual Studioに組み込まれます。4番目のBrickControlApps.zipは、このLegoNXTSDK.vsixをVisual Studioに組み込んだ状態で、NXTと連携するストアアプリを開発するためのテンプレートです。ドキュメントフォルダーの下のVisual Studio 2013の、

Templates¥ProjectTemplates¥Visual C#

の下にそのままZIP形式でコピーして、Visual Studio 2013を起動してください。新規プロジェクト作成で、Visual C#カテゴリの下に、Lego NXT Appsというプロジェクトテンプレートが現れます。これを選択すれば、コンポーネント形式のNxtWRTC(LegoNXTSDK.vsix)を組み込んだ形のストアアプリが出来上がります。

作成したアプリが上手くビルドできない場合は、プロジェクトへの参照追加で、NxtWinRTSolutionのNxtWRTCプロジェクトを追加してください。それでビルドは通るはずです。

ちなみに、このライブラリを使ったストアアプリは既に、

https://apps.microsoft.com/windows/app/brick-drive/87a0f77d-bebf-4a39-b9e4-169111c9b72c

https://apps.microsoft.com/windows/app/brick-piano/6cd96ca7-cf25-4ad4-b363-b6d2584b01a7

の二つが公開されています。

※あくまでもサンプル公開ですので、自己責任でお使いください。