Skip to content
ESP32でBluetooth Low Energyを使ってAndroidスマホと通信するデモです。
Other
  1. Other 100.0%
Branch: master
Clone or download
Latest commit 0cc8017 Dec 4, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ESP32BLEDEMO Add files via upload Dec 3, 2017
ESP32_BLE_DEMO.aia Add files via upload Dec 3, 2017
LICENSE Initial commit Dec 3, 2017
README.md Update README.md Dec 4, 2017

README.md

ESP32_BLE_DEMO

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

開発環境、ライブラリ

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

1.ESP32_BLE_Arduinoライブラリ

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

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

2.MIT APP INVENTOR 2

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

★★注意!★★

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

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

3.MIT App Inventor Extensions BluetoothLE

上記リンクの「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」を押すと、文字がシリアルモニタに表示される。

You can’t perform that action at this time.