Skip to content

Repository files navigation

ORPHE-CORE.py

Happy hacking for ORPHE CORE with python!!

01.mp4

Requirements

  • Python 3.10 or later

Installation

git clone https://github.com/Orphe-OSS/ORPHE-CORE.py.git
cd ORPHE-CORE.py
pip install bleak

動作確認

LEDを点滅させる

以下を実行して、センサデバイスのLEDが点滅することを確認してください。 終了する場合はCtrl+Cで終了できます。

python blink_led.py

sensor valuesの値を取得する

加速度センサ、ジャイロセンサ、クオータニオンセンサの値を取得することができます。 以下を実行して、sensor valuesの値を取得することができます。 終了する場合はCtrl+Cで終了できます。

python get_sensor_values.py

step analysisの値を取得する

以下を実行して、step analysisの値を取得することができます。 終了する場合はCtrl+Cで終了できます。

python get_step_analysis.py

周りのBLEデバイスをスキャンする

コアモジュールを特定のデバイスに接続したい場合は、orphe.connect()の引数にデバイスのアドレスを指定することができます。これを利用するにあたって、特定のコアモジュールのアドレスを知りたい場合は以下を実行して周りのBLEデバイスをすべてスキャンすることができます。

python scan.py

device informationを取得する

device_information.py にコアモジュールの情報を取得するサンプルコードがあります。以下を実行して、コアモジュールの情報を取得することができます。

python device_information.py

matplotlibを利用してデータを可視化する

plot.mp4

plot_sensor_values.pyを実行することで、取得したセンサデータをmatplotlibを利用してリアルタイムに可視化することができます。初期設定では加速度値を可視化していますが、他のデータを可視化したい場合は適宜変更してください。

pip install matplotlib
python plot_sensor_values.py

OSCでデータを送信する

osc.pyを実行することで、ORPHE COREから取得したデータをOSCで送信することができます。初期設定では5005番のポートに送信します。なおosc.pyは加速度値のみをoscで送信していますので、他のデータを送信したい場合は適宜変更してください。

pip install python-osc
python osc.py

具体的なアプリケーション側での受信方法については OSCで様々なアプリケーションにデータをリアルタイム送信するを参照してください

GUIを利用してCOREと接続する

gui.pyにORPHE COREの接続や切断をgui上から実行できます。非常にシンプルなアプリケーションですが、coreの電波状況による接続解除や手動接続解除、バッテリーレベル表示等を実装しています。guiには tkinter というpythonの標準ライブラリを利用していますので、追加のインストールは不要です。フロントユーザレベルアプリケーション開発の参考にしてください。またOSCと組み合わせることで簡単なOSC送信アプリケーションも作成できます。

python gui.py

ドキュメント

生成方法

orphe_core.pyのdocstringからドキュメントを生成します。htmlファイルの生成には pdoc3 を利用しています。orphe_core.pyのdocstringを書き換えたり、機能を追加した場合は以下のコマンドでドキュメントを再生成してください。

pip install pdoc3
pdoc orphe_core --html -o docs/api --force

教材

wikiに学習教材や具体的なケーススタディをまとめています。このREADMEで基本的な使い方を学んだ後は、wikiを参照してさらに深く学ぶことができます。

Compatibility

  • ORPHE CORE 50Hz、200Hzモデルに対応していますが、50Hzモデルではsensor valuesにおける加速度、ジャイロ、クオータニオンのタイムスタンプやシリアル番号、パケット番号は利用することができません。これはファームウェアの仕様によるものです。

About

Happy hacking for ORPHE CORE with python!!

Resources

Stars

3 stars

Watchers

2 watching

Forks

Contributors

Languages