読者です 読者をやめる 読者になる 読者になる

世界のやまさ

SEKAI NO YAMASA

Hololens エミュレーターでアプリ配置エラーが発生する(未解決)

.NET HoloLens

2016/4/17追記 この記事の情報は古いし誤っている可能性があります!

Hololens エミュレーターの最新情報と正確な情報は id:guitarrapc_tech さんのブログを参照してください。詳しい対処内容が載っています。

tech.guitarrapc.com

Windows 10 Insider Preview でビルド 14316 を使用している人は 2016/4/17 現在、次の制限のため Hololensのエミュレーターにアプリを配置できません。

Windows 10 Mobile 用および Hololens 用の Visual Studio エミュレーターで「認証エラーが発生しました。ローカル セキュリティ機関にアクセスできません」という内容のエラーが発生します。アプリ作成にエミュレーターを使用している開発者の方は、この問題が修正されるまでの間は Slow リングに移行して、このビルドを使用しないようにすることをお勧めします。

blogs.windows.com

そのため、私自身も現在検証出来ない環境となっています。

前回までの記事

blog.nnasaki.com

エミュレーターが起動した!

前回はですね、エミュレーターが起動しなくて終わったんですが、CPU を 4790k に変えたところ起動しました!

f:id:nnasaki:20160402212055p:plain

i7-4790K(Devil's Canyon 4.00GHz) LGA1150

i7-4790K(Devil's Canyon 4.00GHz) LGA1150

別の問題が発生

しかし、HoloLensエミュレーターが起動して喜んだのもつかの間、「配置エラーが発生しました。続行しますか?」と表示され、自分が作ったアプリがエミュレーターに転送出来ません。

f:id:nnasaki:20160402184234p:plain

エラーの内容は次の通りです。

f:id:nnasaki:20160402184208p:plain

DEP6100 : ブートストラップ ステージ 'デバイス 'F957827B-6FC8-4538-A5BA-3B3807152A56' に接続しています。' 中に次の予期しないエラーが発生しました: MissingMethodException - メソッドが見つかりません: 'Boolean Microsoft.Tools.Connectivity.RemoteDevice.Ping()' HelloHolograms

対応策を探してみた

DEP6100 でぐぐると次のページがヒットしました。

forums.hololens.com

forums.hololens.com

おお、なんか症状合っているっぽい。後者のほうは自己解決したようで、そちらを試してみました。

  • Remote Tools for Visual Studio 2015 Update 2 をインストールする
  • Windows SDK をアンインストールする。(2つ)
  • Windows SDK とツールスは 10.0.10586 だけインストールする。
  • Unity でもう一度ビルドし直す

DEP6957 別のエラーが発生

以上の環境を作り直して、再度配置を試みたところ、エラーの内容が変わりました。なんとなくもう少しな感じがします。

f:id:nnasaki:20160402204652p:plain

DEP6957 : ユニバーサル認証を使ってデバイス '169.254.43.99' に接続できませんでした。プロジェクトのデバッグ設定で、正しいリモート認証モードが指定されていることをご確認ください。0x8007274C: The network event being waited on triggered an error. HelloHolograms

それで、先の情報のコメント見ると DEP6957 のときはスタンドアローンで起動すると良いかもよってことで起動してみました。以下の呪文のようなコマンドです。

"C:\Program Files (x86)\Microsoft XDE\10.0.11082.0\XDE.exe" /name "HoloLens Emulator 10.0.11082.1039.dngoins" /displayName "HoloLens Emulator 10.0.11082.1039" /vhd "C:\Program Files (x86)\Windows Kits\10\Emulation\HoloLens\10.0.11082.1039\flash.vhd" /video "1268x720" /memsize 2048 /language 409 /creatediffdisk C:\Users\nnasaki\AppData\Local\Microsoft\XDE\10.0.11082.1039\dd.1268x720.2048.vhd /fastShutdown /sku HDE

で、Visual Studio はこんな感じでリモートコンピューターの接続にしてですね。やったみましたが、やっぱりダメでした。

f:id:nnasaki:20160402212022p:plain

認証モードを Windows や 「なし」にしても出来ないので、ちょっと手詰まりました。もしかしたら、英語版の Visual Studio じゃないと動かないとかあるのかなぁー。困った。

余談

ちなみに、HoloLensのIPをブラウザで開くとこんな画面が出ます。

f:id:nnasaki:20160402212710p:plain

ここの Apps というメニューを開くとこんな画面が出るので、パッケージを作ればブラウザからアプリを送れそうな気がします。パッケージの作り方がわからないんですけどね。

f:id:nnasaki:20160402212820p:plain

Azure Functions は Storage Blob のトリガーをリアルタイムサポートして欲しい

Azure

f:id:nnasaki:20160402124131p:plain

Azure Functions が発表されました。

azure.microsoft.com

日本でも実際に使ってみた人がもういますので、詳細はそちらをご参照ください。

blog.xin9le.net

tech.guitarrapc.com

大変良いサービスだと思ってます。AWSに合って無かった機能の1つでもあるので。

これで、例えばストレージに画像を上げたらサムネイルを作成するといったことが簡単に出来るようになると思います。*1

で、今回のタイトルにもなっている「Azure Functions は Storage Blob のトリガーをリアルタイムサポートをして欲しい」はそのまま内容です。

現状、Azure Functions における Storage Blob トリガーはリアルタイム性は保証されておらず、ベストエフォートとなっています。つまり、イベントの発火の遅延は避けられないという状況です。

詳細は次のドキュメントの"Azure Storage - blob trigger"の項目に書いてあります。

Note: The Functions runtime scans log files to watch for new or changed blobs. This process is not real-time; a function might not get triggered until several minutes or longer after the blob is created. In addition, storage logs are created on a "best efforts" basis; there is no guarantee that all events will be captured. Under some conditions, logs might be missed. If the speed and reliability limitations of blob triggers are not acceptable for your application, the recommended method is to create a queue message when you create the blob, and use a queue trigger instead of a blob trigger to process the blob.

azure.microsoft.com

ストレージのログをウォッチしてイベントを発火しており、ストレージのログが即座に作成されることは保証されておらず、「ベストエフォート」となっています。もし、即座性を担保したければキューを使えということですが、いちいちキューを使うのは面倒くさいというのが人情です。

どうすれば良いの?

現状はキューを使うしかないです。でも、そこは改善してほしいので、feedbackをしましたので、共感してくれる人は Vote お願いします!

How can we improve Microsoft Azure Functions?
  • 1 vote
  • 0 comments

Should be support real-time Storage blob triggers

Azure Functions is awesome! I'd like to propose for more convenience.
Currently, Storage blob triggers do NOT support real-time. Because write at
"https://azure.microsoft.com/en-us/documentation/articles/functions-reference/"

"The Functions runtime scans log files to watch for new or change...

feedback.azure.com

Azure は英語になってしまいますが、こんな感じで欲しい機能はどんどんオープンに要求できます。皆さんの Vote が多いほど、開発される優先度があがりますので、是非ともよろしくお願いします。

余談

ちなみに今一番多い Vote は Clear DB やめて Azure で MySQL 用意しろって奴みたいですね… Amazon と Google には既に用意されているので、当然な要求ですよねぇ。 PostgreSQL もあるとうれしーなー。

f:id:nnasaki:20160402123838p:plain

*1:実際はスクリプトからImageMagickを呼び出せるかとか検証が必要ですが

HoloLens の始め方

.NET HoloLens

Build 2016 がアツいです。

build.microsoft.com

で、HoloLensのSDKが公開されました。残念ながら実物はしばらく手元に届きそうにないのですがエミュレーターを使用して開発できるということで試してみました。

結論から言うと、失敗しましたw

f:id:nnasaki:20160402104954p:plain

途中まではうまくいってたと思うんですが、最後の最後でHoloLensのエミュレーター起動でHyper-Vからコア数足りないと怒られました。私の貧弱なPentium G3258には荷が重かったようです。

セットアップを一通りまとめましたので、どなたか私の代わりに動かしてくれると嬉しいです!

セットアップ

Install the toolsに書いてあるとおりです。

インストールするもの

3つです。上から順番にインストールする必要があります。

必要な環境

  • 64bit Windows 10(Home edition は Hype-V をサポートしていないのでダメ
  • 64bit CPU(コア数も4つ以上必要)
  • 8GB RAM以上
  • BIOSで以下のサポート
    • Hardware-assisted virtualization
    • Second Level Address Translation (SLAT)
    • Hardware-based Data Execution Prevention (DEP)
  • GPU
    • DirectX 11以降サポート
    • WDDM 1.2 以降のDriverサポート

注意点

HoloLensのエミュレーターは Visual Studio 2015 Update 1 and UWP tools version 1.2(Update2でも可)がインストールされてないとインストール途中で失敗します。

f:id:nnasaki:20160402104849p:plain

デフォルトでインストールされなかったと思うのでチェックを必ずしましょう。

f:id:nnasaki:20160402104443p:plain

Getting Started

Holograms 100 を順番に実行していくと良いです。

簡単に言うと、Unity でカメラやマテリアルを配置してから、Visual Studio のソリューションを出力します。最後は Visual Studio でビルドして HoloLens Emulator を起動します。

Unity に慣れない人(私とか)結構戸惑いますがなんとかなりました。

まとめ

セットアップはVS2015 のUWPだけ忘れなければ意外とスムーズでした。

新CPUが届いてエミュレーターの起動に成功したら、スクリーンショット付でここら辺まとめようと思います!

i7-4790kだけ買うか、マザボ一式変えて6700kにするか悩み中(´・ω・`)

i7-4790K(Devil's Canyon 4.00GHz) LGA1150

i7-4790K(Devil's Canyon 4.00GHz) LGA1150

2016/3/26(土) サトヤ勉強会を開催します!

f:id:nnasaki:20160325102040p:plain

Blogで告知忘れていた。。。2016/3/26(土) サトヤ勉強会を開催します! 申込はこちらから → https://satoyasendai.doorkeeper.jp/events/40635

satoyasendai.doorkeeper.jp

今回はMVP5人が登壇予定です!しかも大阪から東京から来ていただきます! プロダクトを作っている人から実践的な話を聞ける機会ですので、是非ご参加ください。

懇親会は別途申込が必要です。こちらから → https://satoyasendai.doorkeeper.jp/events/41504

satoyasendai.doorkeeper.jp

ちなみに第5回じゃないかという噂がありますが、いいんです。細かいことは気にしない。