Windowsストアプリに
つながるデバイスたち
中村 薫
Windows 8 Developers 第4回カンファレンス
今日のセッション
Copyright © 2013 Natural Software.jp All rights reserved.
今日のセッション
Copyright © 2013 Natural Software.jp All rights reserved.
Windows 8.1
背景
• Windowsストアアプリにこだわる必要は
ない(個人の感想ですw)
• 目的に応じて使い分ければいい
– アプリの実行環境(ストア,デスクトップ)
– 開発環境(Visual Studio,Xamarin,Unity)
– OS(Windows,OSX,Linux,iOS,Android)
Copyright © 2013 Natural Software.jp All rights reserved.
ただし
多くのコンシューマーにアプローチするには、
Windowsストアは素晴らしい
プラットフォーム
Copyright © 2013 Natural Software.jp All rights reserved.
Windows 8.1に
つながるデバイスたち
中村 薫
Windows 8 Developers 第4回カンファレンス
このスライドは後で公開します
スライドのメモは不要です
Copyright © 2013 Natural Software.jp All rights reserved.
Windowsストアアプリについては、
認定が取れたものを紹介しますが、
自己責任にてお願いします。
Copyright © 2013 Natural Software.jp All rights reserved.
注意!!
自己紹介
中村 薫
フリーランスで主にDepthセンサー系の仕事をしています
アプリケーション開発
講演、ハンズオンセミナー
執筆など
Microsoft MVP for Visual Studio ALM
kaorun55@naturalsoftware.jp
Copyright © 2013 Natural Software.jp All rights reserved.
Tokyo MotionControl Network
Copyright © 2013 Natural Software.jp All rights reserved.
https://www.facebook.com/TokyoMotioncontrolNetwork
Copyright © 2013 Natural Software.jp All rights reserved.
http://atnd.org/events/47533
http://mvp.microsoft.com/ja-jp/ComCamp2014.aspx
12月のできごと
Copyright © 2013 Natural Software.jp All rights reserved.
2月のできごと
Copyright © 2013 Natural Software.jp All rights reserved.
今日は?
Copyright © 2013 Natural Software.jp All rights reserved.
なんでセンサー・デバイス?
• Windowsで動くものが多いから
– もともとWindowsアプリをやってた
• 楽しいから
Copyright © 2013 Natural Software.jp All rights reserved.
Windowsで動くものが多いから
• USB接続系は特に
– Kinect for Windows(Windowsのみ)
– Creative Senz3D(Windowsのみ)
– Leap Motion(Windows,OSX,Linux)
– Eye Tribe(Windowsのみ)
Copyright © 2013 Natural Software.jp All rights reserved.
ちょっと残念
KinectはWindowsアプリケーション開発者が
頭角をあらわすチャンスだった。
コミュニティでは
Kinectが出たてのころは8,9割がMacの人
今は感覚的にWeb,モバイル(iOS,Android)を
主戦場にしている人が多い
Copyright © 2013 Natural Software.jp All rights reserved.
今日のデバイスたち
• Kinect,Kinect v2
• Creative Senz3D(Intel PerC)
• Leap Motion
• RICOH THETA
• Sphero
• Oculus Rift
• LEGO Mindstorms EV3
• Eye Tribe
Copyright © 2013 Natural Software.jp All rights reserved.
さまざまなセンサー&デバイス
Copyright © 2013 Natural Software.jp All rights reserved.
Windows 8.1につながるセンサー&デバイス
Copyright © 2013 Natural Software.jp All rights reserved.
Kinect/Kinect2 Creative Camera
THETAOculus Rift
Leap Motion
LEGO EV3
Eye Tribe
Sphero
※Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり、正式版では変更される可能性があります。
※何かあっても責任は負いません。自己責任でお願いします。
Windows 8.1につながるセンサー&デバイス
Copyright © 2013 Natural Software.jp All rights reserved.
Kinect/Kinect2 Creative Camera
THETAOculus Rift
Leap Motion
LEGO EV3
Eye Tribe
Sphero
※Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり、正式版では変更される可能性があります。
※何かあっても責任は負いません。自己責任でお願いします。
接続の種類
Copyright © 2013 Natural Software.jp All rights reserved.
Bluetooth Wifi 内部ソケットUSB
Windows 8.1につながるセンサー&デバイス
Copyright © 2013 Natural Software.jp All rights reserved.
Kinect/Kinect2 Creative Camera
THETAOculus Rift
Leap Motion
LEGO EV3
Eye Tribe
Sphero
※Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり、正式版では変更される可能性があります。
※何かあっても責任は負いません。自己責任でお願いします。
デバイスの実行環境(OS)
Copyright © 2014 Natural Software.jp All rights reserved.
Windows
ストアアプリ
Windows
デスクトップ
Mac
OSX
Linux iOS Android
Kinect v1 × ◎ × × × ×
Kinect v2 × ◎ × × × ×
Senz3D × ◎ × × × ×
Leap Motion ○ ◎ ◎ ○ × ×
Oculus Rift × ◎ ◎ ◎ × ×
Sphero ◎ × ○ × ◎ ◎
EV3 ○ ◎ ◎ × ◎ ◎
THETA ○ ◎ ◎ × ◎ ◎
Eye Tribe ○ ◎ × × × ×
Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり正式版では変更される可能性があります。
凡例 ◎:公式にサポート ○:公式サポートではないが動く ×:非対応(ライブラリなしを含む)
デバイスの実行環境(開発環境、言語)
Copyright © 2014 Natural Software.jp All rights reserved.
WinRT
(C++,C#,VB)
C++
.NET
(C#,VB)
Unity
(C#)
Xamarin
(C#)
Processing
Kinect v1 × ◎ ◎ ○ × ○
Kinect v2 × ◎ ◎ △ × ×
Senz3D × ◎ ◎ ◎ × ○
Leap Motion △ ◎ ◎ ◎ × ×
Sphero ◎ × × ◎ ○ ×
Oculus Rift × ◎ × ◎ × ×
EV3 ○ × ○ × × ×
THETA △ × △ × × ×
Eye Tribe △ ◎ ◎ ◎ × ×
Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり正式版では変更される可能性があります。
凡例 ◎:公式にサポート ○:非公式ライブラリあり △:作ればある(作った) ×:ない(誰か作って!!)
デバイスの実行環境(開発環境、言語)
Copyright © 2014 Natural Software.jp All rights reserved.
Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり正式版では変更される可能性があります。
凡例 ◎:公式にサポート ○:非公式ライブラリあり △:作ればある(作った) ×:ない(誰か作って!!)
WinRT
(C++,C#,VB)
C++
.NET
(C#,VB)
Unity
(C#)
Xamarin
(C#)
Processing
Kinect v1 × ◎ ◎ ○ × ○
Kinect v2 × ◎ ◎ △ × ×
Senz3D × ◎ ◎ ◎ × ○
Leap Motion △ ◎ ◎ ◎ × ×
Sphero ◎ × × ◎ ○ ×
Oculus Rift × ◎ × ◎ × ×
EV3 ○ × ○ × × ×
THETA △ × △ × × ×
Eye Tribe △ ◎ ◎ ◎ × ×
デバイスを使った
WINDOWSストアアプリ
Copyright © 2013 Natural Software.jp All rights reserved.
Sphero
Copyright © 2013 Natural Software.jp All rights reserved.
Copyright © 2013 Natural Software.jp All rights reserved.
https://developer.gosphero.com/
SDKをダウンロード(GitHub)
ストアを検索
Copyright © 2013 Natural Software.jp All rights reserved.
Lego EV3
Copyright © 2013 Natural Software.jp All rights reserved.
NuGetから取得
Copyright © 2013 Natural Software.jp All rights reserved.
ストアを検索
Copyright © 2013 Natural Software.jp All rights reserved.
WINDOWSストアアプリに未対応の
デバイスを対応させる
Copyright © 2013 Natural Software.jp All rights reserved.
対応のポイント
• WACK(Windows App Certification Kit :
Windowsアプリ認定キット)を通す
• 最小の実装で認定を通してみる
• デバイス専用アプリでOK
• Wifi、Bluetoothなど通信接続系はOK
• USB接続は内部ソケットでOK
Copyright © 2013 Natural Software.jp All rights reserved.
Leap Motion
Copyright © 2013 Natural Software.jp All rights reserved.
Leap Motion
• .NET Framework用のDLLあり
• Windowsストアアプリでも動くが、
WACKが通らない
Copyright © 2013 Natural Software.jp All rights reserved.
Leap Motionのデータ取得
Copyright © 2013 Natural Software.jp All rights reserved.
https://developer.leapmotion.com/documentation/csharp/devguide/Leap_Architecture.html
データの取り方を変える
• ローカルのWebサーバーから
WebSocket+JSONでデータを取得する
• WinRTにはWebSocketのクラスがある
Copyright © 2013 Natural Software.jp All rights reserved.
JSONを簡単にC#へ
Visual Studio 2012 の
「JSON / XML をクラスとして貼り付ける」
機能が便利すぎるけど - しばやん雑記
Copyright © 2013 Natural Software.jp All rights reserved.
認定!!
Copyright © 2013 Natural Software.jp All rights reserved.
Leap Motionの注意
• ただし、Windows 8.1の場合、ローカルのループ
バックアドレス(127.0.0.1)が閉じているので、開け
てあげる
• Windows 8 AppContainer Loopback Utilityを使う
と簡単
– http://hatsunejournal.jp/w8/LeapSimonSays/
• About Windows Store App with Leap Motion
device
– http://ppe.blogs.msdn.com/b/shozoa/archive/2013/
11/08/about-windows-store-app-with-leap-motion-
device.aspx
Copyright © 2013 Natural Software.jp All rights reserved.
ローカルにソケットのインタ
フェースを持っているセンサー
• Kinect v1(SDK v1.8で対応)
• Leap Motion
• The Eye Tribe
(※審査が通ることは保障しません)
Copyright © 2013 Natural Software.jp All rights reserved.
THETA
Copyright © 2013 Natural Software.jp All rights reserved.
THETA
• APIは公開されていない
• Wifiで接続でき、プロトコル(PTP/IP)が
有志によって解析されている
Copyright © 2013 Natural Software.jp All rights reserved.
http://mobilehackerz.jp/contents/Review/RICOH_THETA
APIを作る
Copyright © 2013 Natural Software.jp All rights reserved.
認定!!
Copyright © 2013 Natural Software.jp All rights reserved.
http://apps.microsoft.com/windows/ja-jp/app/theta-remote-shutter/9187edac-286f-430f-acad-7f80751cae9c
THETAの注意
• THETAとPCとのネットワークを使うので、
マニフェストの「プライベートネット
ワーク」にチェック
• プライバシーポリシーを忘れずに
Copyright © 2013 Natural Software.jp All rights reserved.
Eye Tribe
Copyright © 2013 Natural Software.jp All rights reserved.
Eye Tribe
• .NET用のライブラリが公開されている
• データのやり取りはTCP+JSON
Copyright © 2013 Natural Software.jp All rights reserved.
https://github.com/EyeTribe/tet-csharp-client
ライブラリを書き替え
• TcpClientをStreamSocketに
• ThreadをTaskに
Copyright © 2013 Natural Software.jp All rights reserved.
結果…
• WACKは通った!!
• たぶん審査も通るハズ
• Leap Motionと同じでループバックアドレ
ス(127.0.0.1)を空ける必要あり?
Copyright © 2013 Natural Software.jp All rights reserved.
おまけ
Copyright © 2013 Natural Software.jp All rights reserved.
Unity未対応のデバイスを対応させる
1. .NET Framework 3.5のクラスライブラ
リを作る
2. Kinect v1、Kienct v2のように.NET 4.5
のライブラリはダメ
– ただし、ネイティブDLLを.NET 3.5でラッ
プし直せばOK
Copyright © 2013 Natural Software.jp All rights reserved.
Kinect v2のUnity対応
Copyright © 2013 Natural Software.jp All rights reserved.
Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり正式版では変更される可能性があります。
https://github.com/kaorun55/Kinect2UnityWrapper
Bodyが動かないので、
pull req お待ちしてますw
Xamarin未対応のデバイスを対応させる
• ポータブルクラスライブラリを作る
• .NET 用のライブラリを作る(?)
Copyright © 2013 Natural Software.jp All rights reserved.
まとめ
• Windowsに対応しているデバイスは多い
• Windowsのみに対応しているデバイスも
• 開発環境の選択肢が多い
• Windowsストアアプリに未対応でも、対
応する方法がある
Copyright © 2013 Natural Software.jp All rights reserved.
Windows&デバイスで
楽しいプログラムライフを!!
Copyright © 2013 Natural Software.jp All rights reserved.

Windows 8 Developers カンファレンス