Seeed Studio XIAO ESP32C3でBLE ② BLEのサンプルを動かす
マイコン・ボードXIAO ESP32C3で、Arduino IDEを使ってスケッチを動かす準備ができたので、BLEのサンプルを動かします。ArduinoBLEライブラリではなく、ESP32のBLEライブラリを利用します。
BLEではセンサなどの値を送信する側をペリフェラル、その送信機につなげてデータを受信する側をセントラルと呼びます。
ペリフェラルは、つなぎに来るセントラルのためにアドバタイジング動作をします。
セントラルは、アドバタイジングをしている装置を発見するためにスキャンという動作をします。
●スケッチ;BLE_scan
サンプル例から、BLE_scanを読み込んでコンパイル、実行します。
実行例です。近くにいるBLE送信機をひとつもしくは二つ見つけました。
送信機のペリフェラルは、固有のNameもしくはAddressを持っています。
int scanTime = 20; //In seconds
scanする時間、デフォルトでは5秒だったのを20秒に変更して実行しました。
最大で三つ見つけてきました。
30分ほど動かした後、前回のCPU温度を表示するスケッチを動かしました。54℃でした。室温は28℃です。発熱が大きいので、消費電力も大きいと想像できます。
●スケッチ;UART
文字の入出力をするスケッチBLE_uartです。
コンパイルし、実行すると、セントラルからのconnectを待っています。
セントラルを用意します。オンセミのBLEツールであるRSL10 Bluetooth Low Enaergy Exploerを使って情報を見ます。
connectして、CHARACTERISTIC_UUID_TXのNothificationをチェックすると、文字データを送ってきているのがわかります。
画面に見えている下側のCHARACTERISTIC_UUID_RXへ「ABC」を入れ、Write Reqをクリックして書き込みます。
シリアルモニタに、受け取ったABCが表示されました。