ESP32 Bluetooth Classic を Arduino IDE で使用する

Esp32 Bluetooth Classic Wo Arduino Ide De Shi Yongsuru



ESP32 は、Wi-Fi と Bluetooth をサポートするマイクロコントローラー ベースのボードです。複数のセンサーと統合して命令を実行できるIoTベースのボードです。 ESP32 ボードには、ワイヤレス通信が必要な幅広い用途があります。 ESP32 Bluetooth を構成し、それを使用して情報を送信する方法について説明しましょう。

Arduino IDE を搭載した ESP32 Bluetooth クラシック

ESP32 ボードには、Bluetooth Classic と BLE (Bluetooth Low Energy) のデュアル Bluetooth サポートが付属しています。今日は、Bluetooth Classic のみについて説明します。両者に存在する唯一の違いは、Bluetooth Classic は大量のデータ転送を処理できますが、バッテリーの消費率が高いことですが、Bluetooth Low Energy は短距離通信に使用される省電力バリアントです。 BLE は、データ転送用に初期化されるまでスリープ モードのままです。







ESP32 クラシック Bluetooth シリアル通信

ESP32 Bluetooth の動作は、HC-05 のように外部 Bluetooth センサーが使用されているため、Arduino で行ったように、Arduino と何らかの形で似ています。 Arduino と HC-05 センサーはどちらもシリアル通信で通信します。 ESP32 の場合も同じですが、違いは、ESP32 には、最初にデータを受信して​​から Xtensa プロセッサに転送する Bluetooth モジュールが組み込まれていることです。



だから、このコミュニケーションを確立するために」 Bluetoothシリアル Arduino のシリアル ライブラリに似たライブラリを使用しますが、ESP32 内だけです。以下は、Bluetooth シリアル ライブラリが提供する機能の一部です。



  • 始める()
  • 利用可能()
  • 書きます()
  • 読んだ()

ESP32 を使用した Bluetooth 制御 LED

Bluetooth 無線通信でモバイル Bluetooth を使用して LED を制御できる簡単なコードを書きましょう。以下は、Bluetooth シリアル通信を使用して LED を制御するために必要なハードウェアです。





  • ESP32
  • 導いた
  • ブレッドボード
  • Android デバイス
  • シリアル Bluetooth 端末アプリケーション

回路

ESP32 ボードの GND に接続されたマイナス端子を使用して、ESP32 のデジタル ピン 15 に LED を接続します。安全な電流制限のために、それらの間に抵抗 (220 オーム) を接続することもできます。

コード

Arduino IDE を開き、ボード マネージャーで ESP32 ボードを選択して、Arduino IDE に ESP32 ボードをインストールする方法を確認します。 ここ .ボードを選択した後、エディター ウィンドウで以下のコードを記述します。



#include /*Bluetooth シリアル通信ライブラリ*/

#define LED_PIN 15 /*LED ピンの初期化*/

BluetoothシリアルシリアルBT;

バイト BT_INP;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)/*SDK で Bluetooth を確認します*/

#error Bluetooth off -- `make menuconfig` を実行して有効にします

#endif

ボイド設定 ( )

{

  pinMode ( LED_PIN、出力 ) ; /* 導かれたピン 設定 なので 出力 */
Serial.begin ( 115200 ) ; /* ボーレート 為に シリアル通信 */
SerialBT.begin ( ) ; /* Bluetooth通信開始 */
Serial.println ( 「Bluetooth はペアリングの準備ができています...」 ) ; /* Bluetooth がオンのとき */
}
ボイドループ ( )
{
もしも ( SerialBT.利用可能 ( ) ) /* 小切手 為に Bluetooth データの可用性 */
{
BT_INP = SerialBT.read ( ) ; /* 読んだ デバイスからの Bluetooth データ */
シリアル.書き込み ( BT_INP ) ; /* 印刷する 読んだ データ */
}
もしも ( BT_INP == '1' ) /* もしも 調子 為に 導かれた状態 */
{
デジタル書き込み ( LED_PIN、HIGH ) ; /* LEDをオンにする もしも 1 入力が受け取られる */
}
もしも ( BT_INP == '0' )
{
デジタル書き込み ( LED_PIN、LOW ) ; /* LEDをオフにする もしも 0 入力が受け取られる */
}

}

上記のコードでは、ESP32 用の Bluetooth シリアル ライブラリを含めることから始めました。次に、ESP32 Bluetooth を有効にする Bluetooth シリアル ライブラリ関数を含めました。

次の LED ピン 15 が初期化され、 pinMode() 機能 LED端子を出力に設定。

コードのループ部分で、プログラムはシリアル Bluetooth データの可用性をチェックします。入力データが 1 の場合は LED が点灯し、受信データが 0 の場合は LED が消灯します。

コードがアップロードされたら。 ESP32 ボードの Bluetooth がオンになり、シリアル モニタに次のメッセージが表示されます。

シリアルBluetooth端子の取り付け

ESP32 に命令を送信できる Bluetooth デバイスが必要なので、Android スマートフォンを使用して ESP32 Bluetooth とインターフェイスします。まず、Android フォンにシリアル ターミナルをインストールする必要があります。以下の手順に従って、ESP32 で Android フォンをインターフェースします。

ステップ1 :スマートフォンでGoogle Playストアを開いて検索 シリアル Bluetooth ターミナル .以下に示すアプリケーションをインストールします。

ステップ2 :オープン携帯電話のBluetooth設定をインストールした後。 ESP32 Bluetooth を検索し、クリックしてスマートフォンとのペアリングを開始します。 ペア :

ステップ 3 : をタップした後 ペア 、携帯電話は ESP32 Bluetooth とのペアリングを開始します。

ステップ 4 : シリアル Bluetooth ターミナル アプリケーションを開き、サイド メニューから [デバイス] に移動します。

ステップ 5 : デバイス オプションを開くと、いくつかの権限を要求するか、 リフレッシュ 右上隅のボタン:

ステップ 6 : 次のポップアップが表示されます。 設定 要求された許可を許可します。

ステップ 7 : これで、ESP32 ボードは Bluetooth 経由で指示を受ける準備が整いました。 Bluetooth クラシック オプションで、ESP32 ボードを選択します。

ステップ 8 : ESP32 が選択されると、接続が開始され、成功すると、 接続済み メッセージが表示されます。

ステップ 9 : ここに任意の命令を入力して送信できます。 1 と入力して送信ボタンをクリックし、 ESP32のLED ボードがオンになります。同様に 0 を入力すると LED が消灯します。

同様に、Arduino IDE のシリアル モニターで出力を確認できます。

出力:

1 を送信した後、LED が点灯します。

0 送信後 LED 消灯:

ノート : 下の画像に示すように、特定の指示用のボタンを構成することもできます。これを行うには、ボタンをクリックして必要な値を設定します。ここでは、HIGH 状態用と LOW 状態用の 2 つのボタンを設定しました。これらのショートカットを 16 進値で構成することもできます。

結論

ESP32 ボードは、オンボード WiFi と、Classic Bluetooth および Low Energy Bluetooth によるデュアル Bluetooth サポートを備えています。 Classic は高速データ転送に使用され、BLE (Bluetooth Low Energy) は電力要件の少ない短距離に使用されます。この記事では、Classic Bluetooth データ転送について説明し、ESP32 ボードを使用して Bluetooth 通信がどのように行われるかについて説明します。