前回Arduinoを紹介しましたが、Arduinoボードには接続モジュール(Wifi、Bluetooth)が付いていません。従いまして外部の接続を設定しなければなりません。例えば:Bluetoothモジュール HC-05、HC-06です。今回はESP32というボードでの接続方法をご紹介したいと思います。
今回のデモはHoloLens2とESP32ボードを接続してHololens2でLEDをON/OFFするようにご紹介します。
![HoloLen2とIoTデバイスを接続する方法。](https://onetech.jp/wp-content/uploads/2021/03/20.Final-IoT-Device-Control-Led-HoloLens.jpg)
HoloLen2とIoTデバイスを接続する方法。
M5StickCとは
M5StickCはM5という会社が発売したIoTデバイスです。基本的にはESP32-PicoボードとIMUユニットとバッテリーと液晶画面を全部小さなデバイスに入れています。
開発フラットフォームはArduino、Micropython、UIFlowです。
今回Arduinoフラットフォームでの開発を紹介します。
Arduinoのインストール方法は下記のURLを参照ください。
M5ライブラリをArduinoにインストールする方法
インストールしたArduinoを開く。
ファイル➞環境設定を選択する。
![M5ライブラリをArduinoにインストールする方法](https://onetech.jp/wp-content/uploads/2021/03/1.M5%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92Arduino%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.jpg)
M5ライブラリをArduinoにインストールする方法
下記のURLを「追加のボートマネージャーのURL」に貼り付ける。
https://dl.espressif.com/dl/package_esp32_index.json
![下記のURLを「追加のボートマネージャーのURL」に貼り付ける。](https://onetech.jp/wp-content/uploads/2021/03/2.%E4%B8%8B%E8%A8%98%E3%81%AEURL%E3%82%92%E3%80%8C%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%88%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AEURL%E3%80%8D%E3%81%AB%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%80%82.jpg)
下記のURLを「追加のボートマネージャーのURL」に貼り付ける。
次に、タスクバーからツール➞ボード➞ボードマネージャを選択する。
![ボードマネージャを選択する](https://onetech.jp/wp-content/uploads/2021/03/3.%E3%83%9C%E3%83%BC%E3%83%89%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B.jpg)
ボードマネージャを選択する
検索フィールドで「esp32」を検索してesp32ボードをインストールする。
![esp32ボードをインストールする](https://onetech.jp/wp-content/uploads/2021/03/4.esp32%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B.jpg)
esp32ボードをインストールする
インストールできたら、ツール➞ボード➞M5Stick-Cを選択する。
![M5Stick-Cを選択する](https://onetech.jp/wp-content/uploads/2021/03/5.M5Stick-C%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B.jpg)
M5Stick-Cを選択する
現在、M5Stick-Cのボードはインストール完了となりましたが、コードが書けません。
ライブラリをまだインストールしていないため、M5Stick-Cのライブラリをインストールしましょう。
タスクバーにスケッチ➞ライブラリをインクルード➞ライブラリを管理を選択する。
![ライブラリを管理を選択する](https://onetech.jp/wp-content/uploads/2021/03/6.%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E7%AE%A1%E7%90%86%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B.jpg)
ライブラリを管理を選択する
ライブラリマネージャが表示され[m5stickc]で検索して「M5StickC」をインストールする。
![で検索して「M5StickC」をインストールする](https://onetech.jp/wp-content/uploads/2021/03/7.%E3%81%A7%E6%A4%9C%E7%B4%A2%E3%81%97%E3%81%A6%E3%80%8CM5StickC%E3%80%8D%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B.jpg)
で検索して「M5StickC」をインストールする
現在、M5StickCの設定が完了しました。次はBluetoothとLEDのハンドルをご紹介いたします。
次はLEDをM5StickCに設置する。
画像のように設置する。
LEDの短い方の足とGNDをつないで長い方の足とG26をつなぎます。
![次はLEDをM5StickCに設置する](https://onetech.jp/wp-content/uploads/2021/03/8.%E6%AC%A1%E3%81%AFLED%E3%82%92M5StickC%E3%81%AB%E8%A8%AD%E7%BD%AE%E3%81%99%E3%82%8B-e1616050664316.jpg)
次はLEDをM5StickCに設置する
M5StickCプログラミング
PCとつないでコードを書きましょう。
![PCとつないでコードを書きましょう](https://onetech.jp/wp-content/uploads/2021/03/9.PC%E3%81%A8%E3%81%A4%E3%81%AA%E3%81%84%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8D%E3%81%BE%E3%81%97%E3%82%87%E3%81%86-e1616050675770.jpg)
PCとつないでコードを書きましょう
![Connect-Hololens-Demo-Csharp](https://onetech.jp/wp-content/uploads/2021/03/Connect-Hololens-Demo-Csharp.jpg)
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); //現在の状態を画面に表示する
}
コードが完了しましたら、接続しているポート名を選択する。
![接続しているポート名を選択する](https://onetech.jp/wp-content/uploads/2021/03/10.%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E5%90%8D%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B.jpg)
接続しているポート名を選択する
最後にアップロードボタンを押して完了です。
![最後にアップロードボタンを押して完了です](https://onetech.jp/wp-content/uploads/2021/03/11.%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E6%8A%BC%E3%81%97%E3%81%A6%E5%AE%8C%E4%BA%86%E3%81%A7%E3%81%99.jpg)
最後にアップロードボタンを押して完了です
HoloLens2プロジェクト作成
UnityHubを開いて新しいプロジェクトを始めます。
![UnityHubを開いて新しいプロジェクトを始めます](https://onetech.jp/wp-content/uploads/2021/03/12.UnityHub%E3%82%92%E9%96%8B%E3%81%84%E3%81%A6%E6%96%B0%E3%81%97%E3%81%84%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E5%A7%8B%E3%82%81%E3%81%BE%E3%81%99.jpg)
UnityHubを開いて新しいプロジェクトを始めます
下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする。
https://github.com/Microsoft/MixedRealityToolkit-Unity/releases
![下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする](https://onetech.jp/wp-content/uploads/2021/03/13.%E4%B8%8B%E8%A8%98%E3%81%AEURL%E3%82%92%E9%96%8B%E3%81%84%E3%81%A6Microsoft%E3%81%AEMRTK%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%85%A8%E9%83%A8%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B.jpg)
下記のURLを開いてMicrosoftのMRTKライブラリを全部ダウンロードする
プロジェクト作成が終わったら、Assets→Import Package→Custom Packageを選択する。
ダウンロードしたMRTKライブラリファイルを全部インポートする必要があります。
![Custom-Packageを選択する](https://onetech.jp/wp-content/uploads/2021/03/14.Custom-Package%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B.jpg)
Custom-Packageを選択する
全部をインポートしたら「Mixed Reality Toolkit」というメニューが表示され、「Add to Scene and Configure…」を選択して自動でシーンにHoloLensの基本的なオブジェクトが追加されます。
![Add-to-Scene-and-Configure…](https://onetech.jp/wp-content/uploads/2021/03/15.Add-to-Scene-and-Configure%E2%80%A6.jpg)
Add-to-Scene-and-Configure…
HoloLens用のプロジェクトの設定が完了です。
Bluetoothで接続
次はIoTデバイスを接続する方法をご紹介したいと思います。
新しいC#ファイルを作成する。
下記のコードは接続の部分となります。
![ConnectUMP](https://onetech.jp/wp-content/uploads/2021/03/16.ConnectUMP.jpg)
ConnectUMP
次はHoloLensからIoTデバイスへデータを送信のしかたを紹介します。
簡単のON/OFFボタンを作成してみて上記の「sendUWP」機能で「1」と「0」を入れてLEDの電源をコントロールすることができます。
![onPressLedButton](https://onetech.jp/wp-content/uploads/2021/03/19.onPressLedButton.jpg)
onPressLedButton
動画で紹介
Video HoloLen 2とIoTデバイスを接続する方法。
以上となります。最後まで読んでいただいてありがとうございました!