HoloLens WebSocketを利用した双方向通信(サーバーからメッセージ送信)

1. Node-REDを利用したことがない方は、

[ハンズオン]Node-RED入門 を参考に登録を行ってください。

  1. 今回はWebSocketサーバーをPCのNode-REDで構築するため、Node-REDをインストールします。

Node-REDインストール からインストールと設定を行ってください。

2. インストールが完了しWebSocketのローカルサーバーの準備ができたら、

ブラウザから ”ローカルサーバーのIPアドレス + :1880″にアクセスしNode-REDのフローを書く画面に移動してください。

  1. 入力ノードの[inject]と出力ノードの[websocket]をドラッグ&ドロップし、[inject]と[websocket]をつなげてください。[inject]はドラッグ&ドロップすることで[timestamp]に変更されます。
  1. [websocket]をダブルクリックしてノード編集画面を開き、種類は[待ち受け]パスは任意のパスを作成して完了を押してください。

以上でNode-REDの設定は終了です。

Unityの設定

  1. Uniyのバージョンに適したMixedRealityToolkitとMRDesignLabをインポートします。
  2. [Project]から[HoloLens]オブジェクトを[Hierarchy]にドラッグ&ドロップし、3Dオブジェクトの[Sphere]を作成してください。

3. WebSocket.csを作成し、こちらの

コード をコピー&ペーストしてください。

このコードは WebSocket-UWP appdeveroper などを参考にしています。

  1. WebSocket.csの86行目のURLを “ws:// + ローカルサーバーのIPアドレス + webSocketで設定した任意のパス + :1880” に変更してください。(例)ws:// 192.0.0.1 /test :1880
  2. webSocket.csを[Sphere]オブジェクトにドラッグ&ドロップしてください。

以上でUnityでの設定は終了です。

配置とビルド

配置とビルドを行ってください。

配置とビルドに関しては HoloLensの5つのビルド方法 を参照してください。

WebSocketサーバーへの接続に成功した場合Startとテキストが表示されます。

Node-REDの[inject]をクリックすることでHoloLensにメッセージが送信され、ランダムで[Sphere]オブジェクトの色が変化します。

実行動画はこちらです。

次回はHoloLensからサーバーにメッセージを送信できるようにしたいと思います。以上です。

この記事を書いた人

azure-recipe-user