windows 8 developers カンファレンス
DESCRIPTION
TRANSCRIPT
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
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デスクトップ
MacOSX
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.