スタンプ型デバイス(3) ~HoloLens2とBluetoothで通信~
まえがき
前回Bluetoothでのシリアル通信に無事成功しました.
Unityで扱えるならビルド先でも簡単に利用できるはずだと思い,そのままHoloLens2用に書き換え,ビルドしました.
ここまでは順調でした...
HoloLens2とBluetoothでペアリングしてデモを実行しましたが反応ない.
理由はシリアルポートの接続がうまくいっていないことが原因でした.
PCならデバイスマネージャーからポートを判別できますがHoloLens2には判別する手法はありません.
この解決法はかなり悩みました.
本題
手当たり次第ポート番号を変えて接続を試みたが全く繋がらず,断念
そこでプログラムで有効なポートを検索,自動で選択するようにしようと考えた
機器概要
・Windows10 Laptop
・Unity 2019.3.2f1
・HoloLens2
・スタンプ型デバイス(M5StickC)
・Visual Stadio 2019
手順
1.プログラム作成
有効なポートを識別するプログラムを作成
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をアタッチする
PCでBluetoothをONにして実行すると以下のように表示される
3.HoloLens2にビルド
これをHoloLens2にビルドしてみたが,結果は残念...
本文が変化しなかった.ポートの識別どころか,ポートで制御されていないのか?
これでは自動選択もできない.(そもそも違うポートだった場合,タイムアウト処理でアプリ自体が停止した)
あとがき
HoloLens2とシリアル通信は難しいので断念します.(有料Assetでいけるかもしれないが確証がない)
次回は違うアプローチでやってみます.
参考
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に組み込まれました
ボタン作成
Author And Source
この問題について(スタンプ型デバイス(3) ~HoloLens2とBluetoothで通信~), 我々は、より多くの情報をここで見つけました https://qiita.com/t21m092/items/408cf8a5132ea181b7c5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .