Skip to content

Latest commit

 

History

History
65 lines (34 loc) · 5.39 KB

README.md

File metadata and controls

65 lines (34 loc) · 5.39 KB

ESP32_BLE_DEMO

ESP32(Arduino)でBluetooth Low Energyを使ってAndroidスマホと通信するデモです。

開発環境、ライブラリ

ESP32側は通常のArduino環境にESP32を追加して、更に以下のライブラリを入れて使います。

ESP32に標準で入っているSimoleBLEは中身がありません。Bluetoothのスキャナで見るとESP32が見えますが、実体は無し。このライブラリを入れて初めて実体ができます。なお、本ライブラリのexamplesもしっかりしています。

使い方については、英語ですが、こちらのYouTubeで作者が解説していて、しっかり聞けば理解が進みます。(英語は辛いけど...)YouTubeの字幕で英語->日本語と設定して、しっかり見ましょう。

Androidのアプリケーション開発に使います。Web上で自分のプロジェクトを作成して、QRコードを読み込んで自分のAnroidスマホと同期してデバッグ等できます。当初、使い方が判らずに戸惑いましたが、1時間ほど掛けて、英語のチュートリアル4つほど見れば、基本的な使い方は判ります。こちらもYouTubeの字幕機能を使って日本語字幕を見ましょう。ちなみに、ネット上ではApp Inventor 2を略してAI2と呼ばれている?

★★注意!★★

1.自分の開発をするには、Googleアカウントが要ります。作りましょう。

2.開発環境にアクセスするたびにキーボード設定が英語になります。自分だけかなぁ?

上記リンクの「Download .aix File」から、BluetoothLE.aixをダウンロードしてこちらに置いている、ESP32_BLE_DEMO.aiaと共に使用してください。これが無いと、標準のAI2では通常のBluetooth(古い方)しかサポートしていません。(本当は古い方のBluetoothがESP32のライブラリにあれば、早かったのですが...)なお、ダウンロードリンクの前にBluetoothLE Documentation and Resourcesってリンクがありますが、書き換えるにはこちらの知識も必要です。

参照しているHP等

limiflog

Androidのプログラムはこちらを参照、と言うか、ほとんどそのまま使っています。当初はAI2とESP32、BLEで検索していてたどり着いたのですが、Arduinoのプログラムが見つからず、AndroidのプログラムESP32_BLE_Arduinoライブラリと接続できるように書き換えています。また、スマホ側の受信文字が数字ではなく、文字として、次々につなぎ合わせる様になっていたので、一回ごとの数字表示に変更しています。

Arduinoがペリフェラル、Android(スマホ)がセントラルとして動作しています。

UUIDは正規の取得方法ではなく、ESP32_BLE_Arduinoライブラリにあった値をそのまま使用しています。

使い方

1.Githubから.inoと.aiaをダウンロードしておく。

2.ArduinoのESP32用設定とライブラリを入れておく。

3.AI2の.aixをダウンロードしておく。

4.ArduinoでESP32_BE_DEMO.inoをESP32に書き込む。

5.Arduinoのシリアルモニタを開いておく。(ESP32をリセットすると、接続待ちになっているのが判る)

6.あらかじめ、スマホのPlayストアで、「MIT AI2 Companion」をインストールしておく。

7.AI2でESP32_BLE_DEMO.aiaを開き、左端の「Palette」の一番下の「Extention」をクリックして、「Import extention」で3.でダウンロードした、BluetoothLE.aixを読み込みます。

8.スマホでMIT AI2 Companionを起動しておく。

9.AI2で、「Connect」メニューの下の、「AI Companion」をクリックして、QRコードを表示する。

10.スマホのscan QR codeでQRコードを読み込む。少し画面が切り替わるまでに時間が掛かる。

11.表示された画面の「Start Scan」を押す。下に,で区切って周辺のBluetooth機器が表示される。UART ServiceがESP32なので、何番目か見つけ、「at index:」の後ろのボックスに数字を入れて、「Connect」を押す。

12.「Connect」の下にESP32のアドレスが表示され、シリアルモニタの数字がカウントアップし始める。

13.「Enable data reception」をクリックすると、シリアルモニタに表示されている数字が下に表示される。

14.「Your message here」のボックスに文字を入れて、「Send Message」を押すと、文字がシリアルモニタに表示される。