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ファイルには、
- NxtWinRTSolution.zip
- LegoNXTSDK.zip
- LegoNXTSDK.vsix
- BrickControlApps.zip
- 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
の二つが公開されています。
※あくまでもサンプル公開ですので、自己責任でお使いください。