なごるふ

UnityとかArduinoとか気になったことを

AE-TYBLE16をArduinoのBLEモジュールとして使ってみる

前回の記事では小型のマイコンATTiny85にプログラムを書き込んで動かしてみました。

今回は小型のBLEモジュールAE-TYBLE16を使ってBLE接続を試してみます。

AE-TYBLE16をArduino化して使うような記事は結構ありますが、BLEモジュールとして利用している方は少ないみたいですね。

まずは正攻法?ということでBLEモジュールとして使ってみようと思います。

AE-TYBLE16の詳細仕様は、購入時に同封されている資料に記載のあるパスコードを使って、太陽誘電のHPにてユーザ登録をすることで見れるようですが、ユーザ登録のメールをうまく受け取れず確認できませんでした。

詳細仕様は機密情報みたいなので、ネット上の情報を頼りに問題なさそうな範囲で書いていきます。

開発環境

  • Mac Book (10.13.6)
  • Arduino IDE (1.8.13)

機材一覧

その他 ブレッドボード、ジャンパワイヤなど

はんだ付け

AE-TYBLE16は購入した状態だと端面スルーホールになっており、以前テストで使っていたスルーホール用テストワイヤが使えないため、はんだ付けが必要です。

こんなこともあろうかと、正月に帰省した際に実家で10年以上も眠っていたはんだごてを回収してきたので、ピンヘッダをはんだ付けしてみました。 f:id:nagomi0132:20220104215027j:plain あまり綺麗ではないけど動けばOKということで

回路作成

今回はAE-TYBLE16をBLEモジュールとして利用するため、制御用のArduinoを別途用意します。

接続テストなので制御用にArduino Uno R3を使おうと思ったのですが、3.3V駆動のAE-TYBLE16を5VのArduino Uno R3で使うとなるとレベル変換が必要になります。

レベル変換回路をすぐに用意できなかったため、今回は3.3VのESP32を制御用に使うことにしました。

もちろんESP32側のBlueToothは使いません。

ESP32とAE-TYBLE16を以下のようにつなぎました。

f:id:nagomi0132:20220105094325j:plain f:id:nagomi0132:20220104215035j:plain

テストコード

送受信のテストをしたかったため、Arduino IDEのシリアルモニタからメッセージ送信できるようにしています。

ESP32は16ピンと17ピンがそれぞれRX2とTX2が割り振られているため、AE-TYBLE16とのシリアル通信に利用します。

状態に変更があるとAE-TYBLE16から情報が飛んでくるようです。

// ESP32のRX2,TX2を使用.
HardwareSerial bleSerial(2);

void setup()
{
  Serial.begin(9600);
  bleSerial.begin(9600);
}

void loop()
{
  if(Serial.available())
  {
    // シリアルモニタの入力を送信.
    String inputSerial = Serial.readString();
    Serial.println(inputSerial);
    bleSerial.println(inputSerial);
  }
    
  if(bleSerial.available())
  {
    String inputBle = bleSerial.readString();
    Serial.println(inputBle);
        
    if(inputBle.indexOf("CON") != -1)
    {
      Serial.println("Connect");
    }
    
    if(inputBle.indexOf("DCO") != -1)
    {
      Serial.println("Disconnect");
    }
  }
}

接続

今回は疎通のテストなのでBLEのデバッグアプリを使います。

これまでBLEのデバッグにはLightBlueを使っていたのですが、AE-TYBLE16と相性が悪いのか検出はできても接続ができませんでした。

何度試みてもうまくいかず1日悩みました。

試しにBLE Scannerを入れてみたら無事に接続できました。

デバッグアプリ上で[TYSA-B 3.0.0]と表示されるものがAE-TYBLE16のようです。

2022/01/06 追記

BLE Scannerで接続できるのはiPhoneだけっぽく、手元のAndroidだとLightBlueとBLE Scannerどちらも接続できず。

太陽誘電が出しているTY's Terminal Appを試してみたところ、こちらは接続できました。

さいごに

AE-TYBLE16はそのままだと、起動後一定時間で検出できなくなるみたいなので、今後調整が必要そうです。

次はUnity側のアプリを作成して接続を試してみたいと思います。