HoloLen2とIoTデバイスを接続する方法。

前回Arduinoを紹介しましたが、Arduinoボードには接続モジュール(Wifi、Bluetooth)が付いていません。従いまして外部の接続を設定しなければなりません。例えば:Bluetoothモジュール HC-05、HC-06です。今回はESP32というボードでの接続方法をご紹介したいと思います。

今回のデモはHoloLens2とESP32ボードを接続してHololens2でLEDをON/OFFするようにご紹介します。

HoloLen2とIoTデバイスを接続する方法。

HoloLen2とIoTデバイスを接続する方法。

M5StickCとは

M5StickCはM5という会社が発売したIoTデバイスです。基本的にはESP32-PicoボードとIMUユニットとバッテリーと液晶画面を全部小さなデバイスに入れています。

開発フラットフォームはArduino、Micropython、UIFlowです。

今回Arduinoフラットフォームでの開発を紹介します。

Arduinoのインストール方法は下記のURLを参照ください。

M5ライブラリをArduinoにインストールする方法

インストールしたArduinoを開く。

ファイル➞環境設定を選択する。

M5ライブラリをArduinoにインストールする方法

M5ライブラリをArduinoにインストールする方法

下記のURLを「追加のボートマネージャーのURL」に貼り付ける。

https://dl.espressif.com/dl/package_esp32_index.json

下記のURLを「追加のボートマネージャーのURL」に貼り付ける。

下記のURLを「追加のボートマネージャーのURL」に貼り付ける。

次に、タスクバーからツール➞ボード➞ボードマネージャを選択する。

ボードマネージャを選択する

ボードマネージャを選択する

検索フィールドで「esp32」を検索してesp32ボードをインストールする。

esp32ボードをインストールする

esp32ボードをインストールする

インストールできたら、ツール➞ボード➞M5Stick-Cを選択する。

M5Stick-Cを選択する

M5Stick-Cを選択する

現在、M5Stick-Cのボードはインストール完了となりましたが、コードが書けません。

ライブラリをまだインストールしていないため、M5Stick-Cのライブラリをインストールしましょう。

 

タスクバーにスケッチ➞ライブラリをインクルード➞ライブラリを管理を選択する。

ライブラリを管理を選択する

ライブラリを管理を選択する

ライブラリマネージャが表示され[m5stickc]で検索して「M5StickC」をインストールする。

で検索して「M5StickC」をインストールする

で検索して「M5StickC」をインストールする

現在、M5StickCの設定が完了しました。次はBluetoothとLEDのハンドルをご紹介いたします。

次はLEDをM5StickCに設置する。

画像のように設置する。

LEDの短い方の足とGNDをつないで長い方の足とG26をつなぎます。

次はLEDをM5StickCに設置する

次はLEDをM5StickCに設置する

M5StickCプログラミング

PCとつないでコードを書きましょう。

PCとつないでコードを書きましょう

PCとつないでコードを書きましょう

Connect-Hololens-Demo-Csharp

Connect-Hololens-Demo-C#

#include <M5StickC.h>
#include <BluetoothSerial.h>
int led = 26; //LEDの長い方の足のアドレス
char message; //Hololensからの取得するデータ
String sta = “”; //LEDの状態
BluetoothSerial bluetooth; //Bluetooth作成
void setup()
{
M5.begin(); //M5Stickの機能を立ち上げる
bluetooth.begin(“M5Led”); //Bluetoothのデバイス名を作成
pinMode(led, OUTPUT); //OUTPUTモードをLEDに設定
M5.Lcd.setRotation(3); //M5Stickの画面の回転を水平方向に設定
M5.Lcd.fillScreen(BLACK); //画面の色を黒くする
M5.Lcd.setTextSize(1); //フォントのサイズ
M5.Lcd.setCursor(40, 0); //表示する座標値
M5.Lcd.println(“test”); //表示内容
}

void loop()
{
M5.update(); //M5StickC更新
while(bluetooth.available()) //Bluetooth接続がアクティブな場合
{
message = bluetooth.read(); //Hololensのデータを取得
if (message == ‘1’) //データは1の場合、LED ON
{
digitalWrite(led,HIGH); // LED ON
message = ‘2’; // 1回だけLED処理
sta = “ON”;
}
else if (message == ‘0’) //データは0の場合、LED OFF
{
digitalWrite(led,LOW); // LED OFF
message = ‘2’;  // 1回だけLED処理
sta = “OFF”;
}
}
M5.Lcd.setCursor(40, 40);
M5.Lcd.println(sta); //現在の状態を画面に表示する
}

 

コードが完了しましたら、接続しているポート名を選択する。

接続しているポート名を選択する

接続しているポート名を選択する

最後にアップロードボタンを押して完了です。

最後にアップロードボタンを押して完了です

最後にアップロードボタンを押して完了です

HoloLens2プロジェクト作成

UnityHubを開いて新しいプロジェクトを始めます。

UnityHubを開いて新しいプロジェクトを始めます

UnityHubを開いて新しいプロジェクトを始めます

下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする。

https://github.com/Microsoft/MixedRealityToolkit-Unity/releases

下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする

下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする

プロジェクト作成が終わったら、Assets→Import Package→Custom Packageを選択する。

ダウンロードしたMRTKライブラリファイルを全部インポートする必要があります。

Custom-Packageを選択する

Custom-Packageを選択する

全部をインポートしたら「Mixed Reality Toolkit」というメニューが表示され、「Add to Scene and Configure…」を選択して自動でシーンにHoloLensの基本的なオブジェクトが追加されます。

Add-to-Scene-and-Configure…

Add-to-Scene-and-Configure…

HoloLens用のプロジェクトの設定が完了です。

Bluetoothで接続

次はIoTデバイスを接続する方法をご紹介したいと思います。

新しいC#ファイルを作成する。

下記のコードは接続の部分となります。

ConnectUMP

ConnectUMP

次はHoloLensからIoTデバイスへデータを送信のしかたを紹介します。

SendUWP-2

簡単のON/OFFボタンを作成してみて上記の「sendUWP」機能で「1」と「0」を入れてLEDの電源をコントロールすることができます。

onPressLedButton

onPressLedButton

動画で紹介

Video HoloLen 2とIoTデバイスを接続する方法。

以上となります。最後まで読んでいただいてありがとうございました!

返信を残す

    ・見積もりの相談(システム開発の費用を概算で知りたい方?)
    ・企画段階からの相談(こんなアプリの開発できますか?)
    ・オフショア開発に不安のある方(オフショア開発って何ですか?)
    ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
    ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
    ご相談やお見積もりは全て無料で対応いたします。

    下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

    お問い合わせ
    ・見積もりの相談(システム開発の費用を概算で知りたい方?)
    ・企画段階からの相談(こんなアプリの開発できますか?)
    ・オフショア開発に不安のある方(オフショア開発って何ですか?)
    ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
    ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
    ご相談やお見積もりは全て無料で対応いたします。

    下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

    「個人情報保護方針」をお読みいただき同意いただける場合は「この内容を送信する」ボタンを押して下さい。 入力していただいた内容の送信が完了しても、送信中の状態が続く場合がございます。
    入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。

      ・見積もりの相談(システム開発の費用を概算で知りたい方?)
      ・企画段階からの相談(こんなアプリの開発できますか?)
      ・オフショア開発に不安のある方(オフショア開発って何ですか?)
      ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
      ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
      ご相談やお見積もりは全て無料で対応いたします。

      下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

      お問い合わせ
      ・見積もりの相談(システム開発の費用を概算で知りたい方?)
      ・企画段階からの相談(こんなアプリの開発できますか?)
      ・オフショア開発に不安のある方(オフショア開発って何ですか?)
      ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
      ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
      ご相談やお見積もりは全て無料で対応いたします。

      下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

      「個人情報保護方針」をお読みいただき同意いただける場合は「この内容を送信する」ボタンを押して下さい。 入力していただいた内容の送信が完了しても、送信中の状態が続く場合がございます。
      入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
      無料相談
      お問い合わせ