Pythonでも使えますか?

このページをAIに渡す

いつものAIに相談

Gemini・その他のAI

このページの情報を添えて、仕組みや使い方、つくりたいものを相談できます。

Geminiを開く

質問文をコピーして、Geminiの入力欄に貼り付けてください。

質問文を確認

リーフ本体のプログラムは、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で使う言語についても参照してください。

リーフ写真
技術資料・サンプル・Q&Aから探せます