Pythonでも使えますか?
このページをAIに渡す
このページの内容
リーフ本体のプログラムは、Arduino IDE、またはSTM32リーフではSTM32CubeIDEを使うC/C++での開発を想定しています。
Arduinoサンプルから始める場合は開発環境を、AP03でSTM32CubeIDEとデバッガを使う場合はデバッガの接続方法を参照してください。ArduinoのスケッチとCubeIDEのプロジェクトは設定やライブラリの組み込み方が異なるため、そのまま移せるとは限りません。
PythonはPC側で、Leafonyのデータを受信・保存・グラフ化・分析する用途に利用できます。 Leafony側のC/C++プログラムが送るデータに合わせて、PC側にPythonの受信プログラムを用意します。
| 接続方法 | Python側の選択肢と確認すること |
|---|---|
| USB経由のシリアル通信 | pySerialで受信できます。シリアル出力するプログラムを書き込み、ポート名・通信速度・改行などのデータ形式を合わせます。必要なUSB接続用リーフはMCUによって異なります。 |
| BLEでの無線通信 | BleakでGATTの読み取りや通知の受信ができます。PCのBluetooth環境、使用中のサンプルの接続方式・UUID・データ形式を確認します。 |
USBで始めるなら、STM32の温湿度センサーサンプルがシリアル出力の例になります。このサンプルの通信速度は115200 bpsです。まずArduino IDEのシリアルモニタで値が出ることを確認し、モニタを閉じてからPython側で同じポートを開くと進めやすくなります。
BLEの場合は、データ形式とUUIDの確認方法を参考に、サンプルに合わせて受信コードを作成します。接続しないBeaconのデータは、GATT接続ではなくAdvertising dataをスキャンして読み取ります。
リーフ本体にPythonを書き込みたい場合は、MicroPythonなどの別の実行環境が必要です。 ESP32向けMicroPythonはありますが、対応チップであることだけでLeafonyの各リーフやセンサーがそのまま使えるとは限りません。使用ボードに合うファームウェア・ピン設定・センサー用ドライバーを確認します。現時点のLeafony Docsには、AP02・AP03での動作確認済みMicroPython導入手順は掲載していません。
センサーデータの分析が目的なら、まずはLeafony側を既存のArduinoサンプル、PC側をPythonにする構成から始められます。STM32で使う言語についても参照してください。
