2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

スタンプ型デバイス(3) ~HoloLens2とBluetoothで通信~

Last updated at Posted at 2020-08-27

####まえがき
前回Bluetoothでのシリアル通信に無事成功しました.
Unityで扱えるならビルド先でも簡単に利用できるはずだと思い,そのままHoloLens2用に書き換え,ビルドしました.
ここまでは順調でした...

HoloLens2とBluetoothでペアリングしてデモを実行しましたが反応ない.
理由はシリアルポートの接続がうまくいっていないことが原因でした.
PCならデバイスマネージャーからポートを判別できますがHoloLens2には判別する手法はありません.
この解決法はかなり悩みました.
IMG_20200821_204951.jpg

####本題

手当たり次第ポート番号を変えて接続を試みたが全く繋がらず,断念
そこでプログラムで有効なポートを検索,自動で選択するようにしようと考えた

#####機器概要
・Windows10 Laptop
・Unity 2019.3.2f1
・HoloLens2
・スタンプ型デバイス(M5StickC)
・Visual Stadio 2019

####手順
#####1.プログラム作成
有効なポートを識別するプログラムを作成

ShowSerialPortNum.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.IO.Ports;
using TMPro;

public class ShowSerialPortNum : MonoBehaviour{

  [SerializeField]
  private TextMeshPro portNameText;

  private void Awake() {
    string[] ports = SerialPort.GetPortNames();
    portNameText.text = "The following ports are valid\n"; //有効なポートは以下の通りです
    foreach(string port in ports) //portsの数だけループ
    {
      portNameText.text += port + "\n"; //テキストに表示
    }
  }
}

#####2.デモ作成
UXのデモからパネルを拝借して本文にポートを羅列する
空のGameObjectを作成し,Eventとして先ほどのscriptをアタッチする
image.png

PCでBluetoothをONにして実行すると以下のように表示される
image.png

#####3.HoloLens2にビルド
これをHoloLens2にビルドしてみたが,結果は残念...
本文が変化しなかった.ポートの識別どころか,ポートで制御されていないのか?
これでは自動選択もできない.(そもそも違うポートだった場合,タイムアウト処理でアプリ自体が停止した)

####あとがき
HoloLens2とシリアル通信は難しいので断念します.(有料Assetでいけるかもしれないが確証がない)
次回は違うアプローチでやってみます.

IMG_20200827_122557.jpg

####参考
HoloLens 2 の環境構築をして実機で動かす
C#でCOMポート番号とシリアル接続機器名を同時に取得する方法

#####Bluetooth関連
Unity(C#)でシリアル接続デバイス名の一括取得
UnityでArduinoとシリアル通信をする
How to send a string from Arduino to a Hololens game via Bluetooth?
HoloLens Bluetooth Ports
HoloLens BLE communication ( windows 10 )

micro:bitとHoloLensをBluetoothで接続できたメモ
ESP-IDF ESP32でのBluetooth HIDの利用
SerialPort.GetPortNames メソッド
マネージプラグイン

#####Text Mesh pro
【Unity】Text Mesh Proのテキストをスクリプトから表示・変更する
UNITY*TextMeshPro テキストボックスにテキストを反映
TMProをusingできない時
TextMeshProの使い方
【Unity】TextMesh ProがUnityに組み込まれました

#####ボタン作成
What is the Mixed Reality Toolkit

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?