windows 8 developers カンファレンス

58
Windowsストアプリに つながるデバイスたち 中村 薫 Windows 8 Developers 第4回カンファレンス

Upload: kaoru-nakamura

Post on 13-Jan-2015

1.209 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Windows 8 Developers カンファレンス

Windowsストアプリにつながるデバイスたち

中村薫

Windows 8 Developers 第4回カンファレンス

Page 2: Windows 8 Developers カンファレンス

今日のセッション

Copyright © 2013 Natural Software.jp All rights reserved.

Page 3: Windows 8 Developers カンファレンス

今日のセッション

Copyright © 2013 Natural Software.jp All rights reserved.

Windows 8.1

Page 4: Windows 8 Developers カンファレンス

背景

• Windowsストアアプリにこだわる必要はない(個人の感想ですw)

• 目的に応じて使い分ければいい

–アプリの実行環境(ストア,デスクトップ)

–開発環境(Visual Studio,Xamarin,Unity)

– OS(Windows,OSX,Linux,iOS,Android)

Copyright © 2013 Natural Software.jp All rights reserved.

Page 5: Windows 8 Developers カンファレンス

ただし

多くのコンシューマーにアプローチするには、

Windowsストアは素晴らしい

プラットフォーム

Copyright © 2013 Natural Software.jp All rights reserved.

Page 6: Windows 8 Developers カンファレンス

Windows 8.1につながるデバイスたち

中村薫

Windows 8 Developers 第4回カンファレンス

Page 7: Windows 8 Developers カンファレンス

このスライドは後で公開します

スライドのメモは不要です

Copyright © 2013 Natural Software.jp All rights reserved.

Page 8: Windows 8 Developers カンファレンス

Windowsストアアプリについては、

認定が取れたものを紹介しますが、

自己責任にてお願いします。

Copyright © 2013 Natural Software.jp All rights reserved.

注意!!

Page 9: Windows 8 Developers カンファレンス

自己紹介

中村 薫フリーランスで主にDepthセンサー系の仕事をしています

アプリケーション開発

講演、ハンズオンセミナー

執筆など

Microsoft MVP for Visual Studio ALM

[email protected]

Copyright © 2013 Natural Software.jp All rights reserved.

Page 10: Windows 8 Developers カンファレンス

Tokyo MotionControl Network

Copyright © 2013 Natural Software.jp All rights reserved.

https://www.facebook.com/TokyoMotioncontrolNetwork

Page 11: Windows 8 Developers カンファレンス

Copyright © 2013 Natural Software.jp All rights reserved.

http://atnd.org/events/47533

http://mvp.microsoft.com/ja-jp/ComCamp2014.aspx

Page 12: Windows 8 Developers カンファレンス

12月のできごと

Copyright © 2013 Natural Software.jp All rights reserved.

Page 13: Windows 8 Developers カンファレンス

2月のできごと

Copyright © 2013 Natural Software.jp All rights reserved.

Page 14: Windows 8 Developers カンファレンス

今日は?

Copyright © 2013 Natural Software.jp All rights reserved.

Page 15: Windows 8 Developers カンファレンス

なんでセンサー・デバイス?

• Windowsで動くものが多いから

–もともとWindowsアプリをやってた

• 楽しいから

Copyright © 2013 Natural Software.jp All rights reserved.

Page 16: Windows 8 Developers カンファレンス

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.

Page 17: Windows 8 Developers カンファレンス

ちょっと残念

KinectはWindowsアプリケーション開発者が頭角をあらわすチャンスだった。

コミュニティでは

Kinectが出たてのころは8,9割がMacの人

今は感覚的にWeb,モバイル(iOS,Android)を主戦場にしている人が多い

Copyright © 2013 Natural Software.jp All rights reserved.

Page 18: Windows 8 Developers カンファレンス

今日のデバイスたち

• 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.

Page 19: Windows 8 Developers カンファレンス

さまざまなセンサー&デバイス

Copyright © 2013 Natural Software.jp All rights reserved.

Page 20: Windows 8 Developers カンファレンス

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は暫定的なものであり、正式版では変更される可能性があります。※何かあっても責任は負いません。自己責任でお願いします。

Page 21: Windows 8 Developers カンファレンス

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は暫定的なものであり、正式版では変更される可能性があります。※何かあっても責任は負いません。自己責任でお願いします。

Page 22: Windows 8 Developers カンファレンス

接続の種類

Copyright © 2013 Natural Software.jp All rights reserved.

Bluetooth Wifi 内部ソケットUSB

Page 23: Windows 8 Developers カンファレンス

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は暫定的なものであり、正式版では変更される可能性があります。※何かあっても責任は負いません。自己責任でお願いします。

Page 24: Windows 8 Developers カンファレンス

デバイスの実行環境(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は暫定的なものであり正式版では変更される可能性があります。

凡例 ◎:公式にサポート ○:公式サポートではないが動く ×:非対応(ライブラリなしを含む)

Page 25: Windows 8 Developers カンファレンス

デバイスの実行環境(開発環境、言語)

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は暫定的なものであり正式版では変更される可能性があります。

凡例 ◎:公式にサポート ○:非公式ライブラリあり △:作ればある(作った) ×:ない(誰か作って!!)

Page 26: Windows 8 Developers カンファレンス

デバイスの実行環境(開発環境、言語)

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 △ ◎ ◎ ◎ × ×

Page 27: Windows 8 Developers カンファレンス

デバイスを使ったWINDOWSストアアプリ

Copyright © 2013 Natural Software.jp All rights reserved.

Page 28: Windows 8 Developers カンファレンス

Sphero

Copyright © 2013 Natural Software.jp All rights reserved.

Page 29: Windows 8 Developers カンファレンス

Copyright © 2013 Natural Software.jp All rights reserved.

https://developer.gosphero.com/

SDKをダウンロード(GitHub)

Page 30: Windows 8 Developers カンファレンス

ストアを検索

Copyright © 2013 Natural Software.jp All rights reserved.

Page 31: Windows 8 Developers カンファレンス

Lego EV3

Copyright © 2013 Natural Software.jp All rights reserved.

Page 32: Windows 8 Developers カンファレンス

NuGetから取得

Copyright © 2013 Natural Software.jp All rights reserved.

Page 33: Windows 8 Developers カンファレンス

ストアを検索

Copyright © 2013 Natural Software.jp All rights reserved.

Page 34: Windows 8 Developers カンファレンス

WINDOWSストアアプリに未対応のデバイスを対応させる

Copyright © 2013 Natural Software.jp All rights reserved.

Page 35: Windows 8 Developers カンファレンス

対応のポイント

• WACK(Windows App Certification Kit :Windowsアプリ認定キット)を通す

• 最小の実装で認定を通してみる

• デバイス専用アプリでOK

• Wifi、Bluetoothなど通信接続系はOK

• USB接続は内部ソケットでOK

Copyright © 2013 Natural Software.jp All rights reserved.

Page 36: Windows 8 Developers カンファレンス

Leap Motion

Copyright © 2013 Natural Software.jp All rights reserved.

Page 37: Windows 8 Developers カンファレンス

Leap Motion

• .NET Framework用のDLLあり

• Windowsストアアプリでも動くが、WACKが通らない

Copyright © 2013 Natural Software.jp All rights reserved.

Page 38: Windows 8 Developers カンファレンス

Leap Motionのデータ取得

Copyright © 2013 Natural Software.jp All rights reserved.

https://developer.leapmotion.com/documentation/csharp/devguide/Leap_Architecture.html

Page 39: Windows 8 Developers カンファレンス

データの取り方を変える

• ローカルのWebサーバーからWebSocket+JSONでデータを取得する

• WinRTにはWebSocketのクラスがある

Copyright © 2013 Natural Software.jp All rights reserved.

Page 40: Windows 8 Developers カンファレンス

JSONを簡単にC#へ

Visual Studio 2012 の

「JSON / XML をクラスとして貼り付ける」

機能が便利すぎるけど - しばやん雑記

Copyright © 2013 Natural Software.jp All rights reserved.

Page 41: Windows 8 Developers カンファレンス

認定!!

Copyright © 2013 Natural Software.jp All rights reserved.

Page 42: Windows 8 Developers カンファレンス

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.

Page 43: Windows 8 Developers カンファレンス

ローカルにソケットのインタフェースを持っているセンサー

• Kinect v1(SDK v1.8で対応)

• Leap Motion

• The Eye Tribe

(※審査が通ることは保障しません)

Copyright © 2013 Natural Software.jp All rights reserved.

Page 44: Windows 8 Developers カンファレンス

THETA

Copyright © 2013 Natural Software.jp All rights reserved.

Page 45: Windows 8 Developers カンファレンス

THETA

• APIは公開されていない

• Wifiで接続でき、プロトコル(PTP/IP)が有志によって解析されている

Copyright © 2013 Natural Software.jp All rights reserved.

http://mobilehackerz.jp/contents/Review/RICOH_THETA

Page 46: Windows 8 Developers カンファレンス

APIを作る

Copyright © 2013 Natural Software.jp All rights reserved.

Page 47: Windows 8 Developers カンファレンス

認定!!

Copyright © 2013 Natural Software.jp All rights reserved.

http://apps.microsoft.com/windows/ja-jp/app/theta-remote-shutter/9187edac-286f-430f-acad-7f80751cae9c

Page 48: Windows 8 Developers カンファレンス

THETAの注意

• THETAとPCとのネットワークを使うので、マニフェストの「プライベートネットワーク」にチェック

• プライバシーポリシーを忘れずに

Copyright © 2013 Natural Software.jp All rights reserved.

Page 49: Windows 8 Developers カンファレンス

Eye Tribe

Copyright © 2013 Natural Software.jp All rights reserved.

Page 50: Windows 8 Developers カンファレンス

Eye Tribe

• .NET用のライブラリが公開されている

• データのやり取りはTCP+JSON

Copyright © 2013 Natural Software.jp All rights reserved.

https://github.com/EyeTribe/tet-csharp-client

Page 51: Windows 8 Developers カンファレンス

ライブラリを書き替え

• TcpClientをStreamSocketに

• ThreadをTaskに

Copyright © 2013 Natural Software.jp All rights reserved.

Page 52: Windows 8 Developers カンファレンス

結果…

• WACKは通った!!

• たぶん審査も通るハズ

• Leap Motionと同じでループバックアドレス(127.0.0.1)を空ける必要あり?

Copyright © 2013 Natural Software.jp All rights reserved.

Page 53: Windows 8 Developers カンファレンス

おまけ

Copyright © 2013 Natural Software.jp All rights reserved.

Page 54: Windows 8 Developers カンファレンス

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.

Page 55: Windows 8 Developers カンファレンス

Kinect v2のUnity対応

Copyright © 2013 Natural Software.jp All rights reserved.

Kinect v2のソフトウェアやハードウェア、APIは暫定的なものであり正式版では変更される可能性があります。

https://github.com/kaorun55/Kinect2UnityWrapper

Bodyが動かないので、pull reqお待ちしてますw

Page 56: Windows 8 Developers カンファレンス

Xamarin未対応のデバイスを対応させる

• ポータブルクラスライブラリを作る

• .NET 用のライブラリを作る(?)

Copyright © 2013 Natural Software.jp All rights reserved.

Page 57: Windows 8 Developers カンファレンス

まとめ

• Windowsに対応しているデバイスは多い

• Windowsのみに対応しているデバイスも

• 開発環境の選択肢が多い

• Windowsストアアプリに未対応でも、対応する方法がある

Copyright © 2013 Natural Software.jp All rights reserved.

Page 58: Windows 8 Developers カンファレンス

Windows&デバイスで

楽しいプログラムライフを!!

Copyright © 2013 Natural Software.jp All rights reserved.