ESP32をBLE通信のPeripheralとして使う

最近(2017年10月29日)ESP32をArduino上でBLE通信をできるようになったという記事をみました

まじかよ!と色々と調べたところできたので記事に残しておきます

先にESP32をArduino上でできるようにしなければなりません

下記のURLを参考にしてArduino上で開発できるようにしてください

すでに開発環境あるよ!という人も最新バージョンにすべきだと思います(GitHbubみるとものすっごい更新が早い)

先日東京に行きました 秋葉原を徘徊しているとESP32開発ボードが販売されていたので早速購入をしました 備忘録ついでに使い方をメ...

つぎにこれだけではBLEのサンプルファイルが入っていません

ので、下記のGitHubからサンプルファイルをダウンロードしてきます

※これをしなくてもBLE通信できますがサンプルファイルがあると読みやすくなると思います

ESP32_BLE_Arduino - The library source for the ESP32 BLE support for Arduino.

そして解凍したファイルをすべて以下のディレクトリへいれます

Documents\Arduino\hardware\espressif\esp32\libraries\BLE

これで準備完了です

スポンサーリンク




スポンサーリンク

プログラム

ESP32をBLEのPeripheral化するプログラムを下記においておきます

Timerを使ってNotifyの更新を行っています

また1秒毎に5個のデータを送信しています

//デバイス名の設定

BLEDevice::init();

//Serverの設定

BLEServer *pServer = BLEDevice::createServer();

//サービスの定義(Characteristic)

pCharacteristic = pService->createCharacteristic();

pCharacteristic->addDescriptor(new BLE2902());

//サーバーのスタート

pService->start();

//アドバタイジングのスタート

pServer->getAdvertising()->start();

動作

AndroidをCentralとしてESP32の通知を受け取ってみました

参考

スポンサーリンク







フォローする