Basic Kit 2|STM32で記録とBLE通信を試す
このページをAIに渡す
目次
このページは、付属のSTM32 MCUに交換してデモを試したい方向けの手順です。 Basic Kit 2が届いたら、まずは組み立て済みのAVRデモから始めてください。AVRのまま使い続けられるので、STM32への交換は必須ではありません。
Basic Kit 2では、センサで測った値をスマートフォンやパソコンに表示できます。AVR・STM32のどちらにもデモのスケッチが書き込まれているため、購入時のデモを試すためのプログラム書き込みや開発環境の設定は不要です。
デモの進め方
- はじめて使う方はAVRのデモから。 組み立て済みの状態で、Basic Kit・Basic Kit 2共通のAVRデモの手順に進んでください。
- メモリや処理の余裕が必要になったら、STM32への交換を検討します。 交換する場合は、このページのデモで本体への記録や省電力動作を試せます。
以下はSTM32のデモの説明です。すでに別のスケッチを書き込んだ場合は、STM32 Logger Beaconのサンプルで元のデモを書き込む手順を確認してください。
用意するもの
- Basic Kit 2と付属のCR2032コイン電池
- Bluetoothに対応したスマートフォンまたはパソコン
- Android・Windows・Macなどの対応環境ではGoogle Chrome、iPhone・iPadではBluefy
最初は接続して記録を読み出し、画面にグラフを表示します。ビーコンの受信は任意です。詳しい対応条件は、後半のWeb Bluetoothの注意点を確認してください。
セットアップ
組み替える前に、リーフの組み立て・交換の基本を確認してください。
-
電源をOFFにし、USBケーブルを接続している場合は抜きます。STM32 MCUのConnector Coverを外し、組み立て済みのLeafony blockからAVR MCUとUSBリーフを取り外して、STM32 MCUリーフに交換します。

-
STM32 MCUリーフのプログラムスイッチをRunにします。

-
CR2032コイン電池を入れ、電源スイッチをONにします。

使い方
接続して記録を始める
- 端末のBluetoothをONにし、対応ブラウザでSTM32 Logger BeaconのWebアプリを開きます。Bluetoothへのアクセスを求められたら許可します。
- Leafony本体を振って接続待ちにし、約20秒以内にWebアプリの 接続する を押します。接続先の一覧で Leaf_A(初期名)を選び、ペア設定を行います。接続すると、本体の時刻が自動的に設定されます。「接続済み」と表示されたら次へ進みます。
- 接続したまま、測定間隔を確認します。 画面の手順2にある 間隔を確認する を押し、表示された秒数を控えます。最初は現在の設定のまま試せます。
- 切断して記録を始める を押します。電源を入れたまま、少なくとも確認した測定間隔の分だけ待ってから、次の手順で記録を読み出します。
接続先が見つからない場合は、本体を振ってからもう一度選んでください。接続待ちは約20秒間です。測定間隔を変更したい場合は、接続中に 測定間隔・名前・データの設定 を開き、秒数を入力して 間隔を保存する を押します。
記録を読み出してグラフを見る
- 本体を振り、Webアプリの手順1にある 接続する から再接続します。
- 画面の手順4にある 記録を読み取る(Get Data) を押します。保存されたデータを受信すると、温湿度・照度・電池電圧のグラフが表示されます。
- 読み取りが終わると、アプリが自動で切断します。次に新しい記録を読むときは、もう一度接続してください。
まだグラフに値がない場合は、接続中に 間隔を確認する で測定間隔を確認し、切断して記録を始める で記録を再開してから待ち、もう一度読み出してください。
ここまでできたら完了
グラフに測定時刻と値が表示されたら、接続・記録・読み出しの動作確認は完了です。 ビーコンの受信やCSV保存は、ブラウザの対応を確認してから追加で試してください。
次のステップ
デモを試した後、自分でプログラムを書き換えたいときは開発環境を設定します。
- STM32(AP03)で最初のプログラムを書き込む:Arduino IDEの設定と温湿度表示、またはPlatformIOでHello Worldを書き込む
- STM32デモの仕組みを知る:STM32 Logger Beaconの仕組みとソースコード
- AVR(AP01)のプログラムを書き換える:AVRのArduino IDE設定とLED点滅の確認
STM32の別の開発ツールを選ぶ場合は、STM32の開発環境を確認してください。
デモを書き戻す
別のプログラムを書き込んだ場合は、MCU別のデモの書き戻し方を確認してください。Basic Kit 2はAVRとSTM32でデモが異なるため、現在組み込まれているMCUに合わせて選びます。
キットに含まれるリーフ
7種類のリーフが入っています。写真や名前から、仕様・ピン配置などの技術資料を開けます。
付属品・その他の内容物
- 製品シート× 1
- 製品ラベル× 1
- CR2032コイン電池× 1
- M2×18mmネジ× 2
- ドライバー× 1
STM32デモの仕組み
ふだんはこちら
測る・ためる・送る
ビーコンモード / Beacon mode

一方向のビーコン送信
- 温度・湿度・照度・電池電圧を一定間隔で測定
- 測定値を本体内メモリ(EEPROM)に記録
- ビーコンで測定値を送り、休止する
消費電力非常に小さい
必要なときだけ
設定する・まとめて読む
接続モード / Connection mode

双方向の接続通信
- 初期設定:時刻や測定間隔を設定
- 本体内メモリ(EEPROM)の記録を取り出す
- PC・Androidスマホ*で、記録をグラフ表示・解析
消費電力中程度
消費電力は、このデモの2つのモードを比較した目安です。
モードの切り替え方
ビーコン接続
本体を振る(Shake Leafony)
続けてWebアプリで「接続する」を押す
振動を検知して本体が起き、アプリから接続できる時間を設けます。
接続ビーコン
Webアプリで「切断して記録を始める」を押す
計測・記録・ビーコン送信・休止の繰り返しに戻ります。
初回は接続して本体の時刻を設定します。時刻が設定されると、測定値を本体に記録できます。
受信したデータの使い方
接続たまった記録を取り出して解析
- Leafonyのメモリ
- PC・Androidスマホ*
- グラフ表示・解析
ビーコン近くで測定値を確認
- Leafonyのビーコン
- Androidスマホ*
- リアルタイム表示
ビーコン応用例:Raspberry Piを受信機にする
- Leafonyのビーコン
- Raspberry Pi
- インターネット・クラウド
- スマホでリアルタイムにグラフ表示・解析
この応用例では、データを受信・転送するプログラムや、表示するサービスを用意します。
* Androidのみ(Android only):元のデモ図に示されたスマートフォンの条件です。2022年9月時点のガイドでは、iPhoneでの接続にBluefyも案内しています。接続とビーコン受信では対応条件が異なるため、下の「Web Bluetoothの注意点」と 最新のブラウザ対応表を確認してください。
ここでのEEPROMは、記録を保持するために使うマイコン内部のFlashです。別のメモリリーフを指すものではありません。
STM32のデモは、ふだんは計測・記録・ビーコン送信を繰り返し、合間に休止して電池の消費を抑えます。時刻や測定間隔を設定したいとき、たまった記録を読み出したいときにPCやスマートフォンと接続します。
本体に記録したデータは、接続してまとめて取り出せます。ビーコンの受信や接続に使える端末・ブラウザは、以下の注意点を確認してください。
Web Bluetooth
Webアプリでは、本体に保存した最大169サンプルを読み出してグラフにできます。初めて使う場合は、このページの使い方に沿って、接続・記録・読み出しを試してください。
Web Bluetoothの注意点
- 接続して記録を読む機能と、接続せずにビーコンを受信する機能では、ブラウザの対応条件が異なります。接続機能はAndroid・Windows・MacなどのChromeで提供されています。Linuxは公式の対応表で一部実装・非サポートとされ、追加設定が必要です。
- ビーコンの受信は任意です。 WebアプリはAndroid向けとして案内しています。ChromeのScanning APIは実験的な機能で、対応環境で
chrome://flags/#enable-experimental-web-platform-featuresを有効にする必要があります。詳しくはWeb Bluetoothの対応表を確認してください。 - iPhone・iPadはBluefyでWebアプリを開きます。 2022年9月のガイドにはCSV保存を利用できないとの記載があります。現在のBluefyでの本デモのCSV保存は再確認していないため、最初の動作確認は画面上のグラフ表示で行ってください。
デモ動画
最後に
測定間隔は書き込まれたスケッチと保存済みの設定によって異なります。元のガイドでは、間隔を数分以上にするとCR2032コイン電池で数か月動作する可能性を計算値として紹介しています。実測の保証値ではなく、電池の状態や回路の損失、プログラムの動作によって変わります。計算の考え方は省電力設計を参照してください。
