windows 8 developers カンファレンス

Post on 13-Jan-2015

1.209 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

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デスクトップ

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.

top related