あらら、EdisonのYokuto LinuxもVisual Studio 2015で…

ふと思ったわけです。「あれ?Raspbianのアプリがあれだけ簡単にリモートビルド&デバッグできるなら、Edison Yokutoも一緒じゃね?」 やってみました。 あっけなくできました。 なんだよ~クロスプラットフォーム用のWindows上のもろもろのインストールとか設定とか必要ないじゃん …という嘆きはどうでもいいです。それはそれで色々使い道もあるんで。 では、早速、Visual Studio 2015を起動して、「ファイル」→「新規作成」→「新しいプロジェクト」を選択して Visual C++のクロスプラットフォームのLinuxを選択して、”Empty Project(Linux)”でプロジェクトを作成。 プロジェクトに、main.cppを追加して、鉄板の #include <stdio.h> int main(int ac, char** av) { printf(“Hello World!\n”); } と書いて、CPUをx86に変えて(Edisonなんで) ”▶ Remote GDB Debugger”をクリック。すると、https://blogs.msdn.microsoft.com/hirosho/2016/06/01/visual-studio-2015-update2-cross-platform-development-for-example-intel-Edison/ をやっている人なら、何も設定しなくても、EdisonのYokuto Linux上にソースコード一式リモートコピーされ、リモートビルドされ、リモートデバッグが開始されます。Wow やってない人は、 こんなダイアログが表示されるので、Host name:に、EdisonのIPアドレスを、User name:に開発用に使っているユーザーアカウントを、Password:にそのユーザーのパスワードを入力すれば、つながります。 以上!

0

IoT Hub Device Management Preview 2016/7/4現在

ちょっと時間たってしまいましたが、4月のBuildでIoT Hubの機能強化が発表されました。現在、PreviewとしてDevice Managementの機能がSDKも含め公開されだしています。SDKの成熟を待って、そろそろいいかなという状況になってきたみたいなので、いやぁ、まだまだ、幾つか問題あるなと、いう感じですが、2016年7月4日現在でhttp://azure.microsoft.comのドキュメント→モノのインターネット→IoT Hubから公開されている内容を元に、試す際の注意点を記載しておきます。 まずは、 https://azure.microsoft.com/ja-jp/documentation/articles/iot-hub-device-management-device-twin/ https://azure.microsoft.com/ja-jp/documentation/articles/iot-hub-device-management-get-started/ をじっくり読んでください。ここに書いてある通りにやると、動いた!というのが理想なのですが、幾つか嵌りポイントありました。それを以下に説明します。 まず、CMakeのインストールについて 私が試したときは、PATHの追加を選択したにもかかわらず、PATH設定されなかったので、PATHが追加されなかった場合(コマンドプロンプトでcmakeと入力したときにコマンドがないと表示される)、コントロールパネル→システム→システムの詳細設定でPATH設定を編集して追加しましょう。 コマンドプロンプト コマンドプロンプトは、Windowsデスクトップの左下のWindowアイコン→すべてのアプリで、”Visual Studio 2015”→”開発者コマンドプロンプト for VS20…”を使います。念のため、管理者権限で起動しておきましょう。 setup.batによるビルド実行 私の場合、見事に途中でビルドが失敗しました。理由は不明ですが、失敗したら、Visual Studioで、以下の二つのSLNファイルを開いて、ビルドしてください。どうも、Nugetから必要なSDKがダウンロードされていないようです。Visual Studioでビルドすると、きちんとNugetから必要ライブラリを持ってくるようです。 GetStartedWithIoTHubDM.sln iothub_charp_serviceclient.sln IoTHubのiothubownerの接続文字列を引数として指定することを忘れずに nodeのインストール Device ManagementのUIについては、nodeの6.1以上が必要ですが、どうも、Chakraのnodeが6.0の場合それが邪魔して上手くビルドできません。私のVisual StudioのWindows SDKが古い可能性がありますが。そんな場合は、nodeをhttp://nodejs.orgでダウンロード&インストールした後、c:\Program Files\nodejsのPATH設定を先頭に設定しなおしてください。設定後すぐには有効にはならないので、再起動等必要です。 この状態で、 npm install npm run build npm run start と実行すれば、無事、 起動。Node.jsで動いているので、例えば、IoT Hands-on V3のStep 3、Mobile Appsに組み込めば、動くはず。    

0

IoT ハンズオンコンテンツVer3のMachine Learning

未だに、Ver2を実践されている方もいらっしゃるようですが・・・ http://aka.ms/IoTKitHoL から公開しているIoTの要素を一通り学ぶ自学自習が可能なハンズオンコンテンツは、現在、Version 3です。IoTデバイス(PinKit/NETMF、Raspberry Pi2/Win10IoTCore)、または、Wpf EmulatorでIoT Hubに送ったセンサーデータを元に、デバイス識別子、計測時間、加速度からの温度状態予測をStep 7でMLを使っています。このコンテンツでは、IoT Hubで受信したセンサーデータをStream Analyticsで決めうちで温度の状態をHot、Coldに分類してストレージに格納したデータを使っています。 ハンズオンセミナーの時間の制約があり、こうしているのですが、実際には、デバイスごとの実測値を元に、温度のHot、Coldは決める必要があります。SASSensorテーブルには温度も含め蓄積されているので、R Scriptを使って、ML Studioの中で温度の高い低いを決めることが可能です。 Step10まで一通り終わった方は、是非、以下の方法を試してみて、よりリアルなMachine Learningにチャレンジしてください。 実は私は、データアナリストのプロフェッショナルでもなく、R Scriptのプロでもなく、未だ手探りの状態で、「あぁこれなら動くね」的な感じで作っています。もっといい書き方あるよーってかた、是非、フィードバックお願いします。 テーブルからのデータ読み込み まずは、ML StudioでExperimentsを一つ新たに作成します。そして、”Data Input and Output”の”Import Data”をドラッグ&ドロップし、 プロパティで Data Source → Azure Table Account Name、Account Keyは、SASSensorのストレージの情報を入力 Table name → SASSensor Rows to scan … →ScanAll とします。プロパティの入力が終わったらRUNで実行します。 データの分割 これがAzure MLのせいなのか、R Scriptがもともとそうなのか、ちょっとわからないのですが、時間がR Scriptを通すと、1970年1月1日からのTick数になってしまうので、分割します。 まず、Data Transformation→ManipulationのSelect Columns in Datasetを二つ追加してImport Dataに接続します。 左側は、timeを抽出します。後でマージする必要があるので、msgIdも一緒に抽出します。ちなみに、msgIdは計測時に、全ての計測レコードが一意に特定できるようにデバイスに付与している値です。左側のSelect…

0