8.10 アンドロイドアプリケーション - ArduinoとBluetoothを介したRGB LED操作

このプロジェクトの目的は、Bluetooth技術を使ってスマートフォンでRGB LEDの色調を操作できるアンドロイドアプリケーションを開発することです。

このアンドロイドアプリケーションは、MIT App Inventor 2と呼ばれる無料のウェブベースプラットフォームを使用して構築されます。このプロジェクトは、Arduinoとスマートフォンのインターフェースに慣れる絶好の機会を提供します。

必要な部品

このプロジェクトには以下のコンポーネントが必要です。

キット全体を購入するのが便利です。以下がリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

RGB LED

BUY

1. アンドロイドアプリケーションの作成

アンドロイドアプリケーションは MIT App Inventor という無料のウェブアプリケーションを使用して作成されます。 MIT App Inventorは、直感的なドラッグ&ドロップ機能を使用して簡単なアプリケーションを作成することができるため、アンドロイド開発において優れた出発点です。

さあ、始めましょう。

  1. こちらがログインページです: http://ai2.appinventor.mit.edu。 MIT App Inventorに登録するにはGoogleアカウントが必要です。

  2. ログインした後、 Projects -> Import project (.aia) from my computer に進み、 esp32-starter-kit-main\c\codes\iot_10_bluetooth_app_inventor パスにある control_rgb_led.aia ファイルをアップロードしてください。

    ../../_images/10_ble_app_inventor1.png
  3. .aia ファイルをアップロードすると、 MIT App Inventor ソフトウェア上でアプリケーションが表示されます。これは事前に設定されたテンプレートです。 MIT App Inventor に慣れた後、このテンプレートを変更することができます。

    ../../_images/10_ble_app_inventor2.png
  4. MIT App Inventor では、主に DesignerBlocks の2つのセクションがあります。

    ../../_images/10_ble_app_inventor3.png
  5. Designer を使用すると、ボタン、テキスト、画面を追加し、アプリケーションの全体的な美観を変更することができます。

    ../../_images/10_ble_app_inventor2.png
  6. 次に、 Blocks セクションがあります。 Blocks セクションは、アプリケーションのための特別な機能を作成するのに役立ちます。

    ../../_images/10_ble_app_inventor5.png
  7. スマートフォンにアプリケーションをインストールするには、 Build タブに移動します。

    ../../_images/10_ble_app_inventor6.png
    • .apk ファイルを生成することができます。このオプションを選択すると、 .apk ファイルをダウンロードするか、QRコードをスキャンしてインストールするかを選択できるページが表示されます。インストールガイドに従ってアプリケーションのインストールを完了してください。

    • このアプリを Google Play や他のアプリマーケットにアップロードしたい場合は、 .aab ファイルを生成することができます。

2. コードのアップロード

  1. 回路を組み立てます。

    ../../_images/rgb_pin.jpg

    RGB LEDには4つのピンがあります:長いピンは共通カソードピンで、通常はGNDに接続されています。最長のピンの左にあるピンは赤を表し、右側の2つのピンは緑と青を象徴しています。

    ../../_images/2.3_color_light_bb.png
  2. 次に、USBケーブルを使用してESP32-WROOM-32Eをコンピュータに接続します。

    ../../_images/plugin_esp32.png
  3. esp32-starter-kit-main\c\codes\iot_10_bluetooth_app_inventor ディレクトリ内にある iot_10_bluetooth_app_inventor.ino ファイルを開くか、コードをArduino IDEにコピーします。

  4. 適切なボード( ESP32 Dev Module )とポートを選択した後、 Upload ボタンをクリックします。

3. アプリとESP32の接続

以前に作成したアプリケーションがスマートフォンにインストールされていることを確認します。

  1. 最初に、スマートフォンで Bluetooth を有効にします。

    ../../_images/10_ble_mobile1.png
  2. スマートフォンの Bluetooth settings に移動し、 ESP32RGB を探します。

    ../../_images/10_ble_mobile2.png
  3. クリックした後、ポップアップウィンドウで Pair 要求に同意します。

    ../../_images/10_ble_mobile3.png
  4. 今、最近インストールした Control_RGB_LED APPを開きます。

    ../../_images/10_ble_mobile4.png
  5. APP内で Connect Bluetooth をクリックし、APPとESP32の間の接続を確立します。

    ../../_images/10_ble_mobile5.png
  6. 表示される xx.xx.xx.xx.xx.xx ESP32RGB を選択します。もしコード内で SerialBT.begin("ESP32RGB"); を変更した場合は、設定した名前を選択します。

    ../../_images/10_ble_mobile6.png
  7. しばらく待ってもデバイス名が表示されない場合は、このAPPが周囲のデバイスをスキャンすることを許可されていない可能性があります。その場合は、手動で設定を調整する必要があります。

    • APPアイコンを長押しして、表示された APP Info をクリックします。他の方法でこのページにアクセスできる場合は、その方法に従ってください。

      ../../_images/10_ble_mobile8.png
    • Permissions ページに移動します。

      ../../_images/10_ble_mobile9.png
    • Nearby devices を探し、 Always を選択して、このAPPが近くのデバイスをスキャンできるようにします。

      ../../_images/10_ble_mobile10.png
    • 今、APPを再起動し、手順5と6を繰り返してBluetoothに成功裏に接続します。

  8. 接続に成功すると、自動的にメインページに戻り、接続されたと表示されます。これで、 Change Color ボタンを押してRGB値を調整し、RGBディスプレイの色を変更することができます。

    ../../_images/10_ble_mobile7.png