PAGE

MicroStrain API・SDK|MSCLとMIP SDKの違いと選び方

MicroStrainセンサを自社アプリケーション、試験装置、組込みコントローラ、ロボットシステムへ組み込む場合、GUIではなくAPI・SDKからデバイスを制御し、データを取得する構成が必要になります。

MicroStrainでは、MSCL(MicroStrain通信ライブラリ)とMIP SDKが主要な開発選択肢です。どちらも現行ですが、対象製品、プログラミング言語、実行環境、既存コード資産によって選び方が異なります。

特に注意すべき点は、旧LORD-MicroStrainのMSCLリポジトリがアーカイブされていることを「MSCLがEOL」と解釈しないことです。MSCLはHBK-MicroStrainの現行リポジトリへ移行しています。一方、最新イナーシャ製品向けにはMIP SDKが後継APIとして案内されています。

MSCLとMIP SDKの選定フロー Wireless対応やPython・C#の必要性、現行G/C-Seriesの新規C/C++組込みという条件からMSCLとMIP SDKを比較する図。 開発条件を確認 Wireless / Python / C#または既存MSCL資産→ MSCLを検討 現行G/C-Series Inertial新規C/C++・組込み→ MIP SDKを優先検討 最終判断は対象センサ、Firmware、言語、OS、通信方式、現行リリースを組み合わせて確認
MSCLとMIP SDKは単純な新旧関係ではなく、対象製品・言語・実行環境で使い分けます。

MSCLとは

MSCLはMicroStrainワイヤレスおよびイナーシャセンサと通信するためのオープンソースライブラリです。

現行リポジトリで案内される主な言語
– C++
– Python(pymscl)
– C#(MicroStrain.MSCL パッケージ)

MSCLを使うと、デバイスコマンドやパケット構造をすべて低レベルから実装せず、MicroStrainセンサへ接続して設定、データ収集等をアプリケーションから扱えます。

ワイヤレス製品とイナーシャ製品を同じライブラリファミリで扱いたい場合や、Python/C#が必要な場合に特に検討価値があります。

MIP SDKとは

MIP SDKはMicroStrainのMIPプロトコルを扱うための公式ソフトウェア開発キットです。現在のMicroStrainのイナーシャ製品ライン、とくにG/C-Seriesの開発連携で重要な位置を占めます。

主な特徴
– C++ API
– C API
– 軽量設計
– ベアメタル環境を考慮
– 動的メモリ割り当てを必要としないコア設計
– RTOS/スレッド処理に依存しないコア
– パケット解析/コマンド処理
– Linux/macOS/Windows向けシリアルインターフェース実装
– TCPクライアント実装

PCアプリケーションだけでなく、リソース制約組込みシステムへイナーシャセンサを組み込む用途を想定しやすいSDKです。

MSCLとMIP SDKの大きな違い

対象領域
MSCL: ワイヤレス+イナーシャ
MIP SDK: 主にMIPを使うイナーシャ

対応言語
MSCL: C++・Python・C#
MIP SDK: C/C++

組込み適性
MSCL: PC/上位アプリケーション向けの利用が多い
MIP SDK: リソース制約/ベアメタルを考慮した設計

最新イナーシャでの位置づけ
MSCL: 現行だが、公式READMEは最新イナーシャ製品ラインでMIP SDKを後継APIとして案内
MIP SDK: 新規イナーシャ開発で優先検討するAPI

ワイヤレス対応
MSCL: ワイヤレスを扱う
MIP SDK: ワイヤレスノードの汎用APIとして扱わない

新規イナーシャ開発ではどちらを選ぶか

新規に現行G/C-SeriesイナーシャセンサをC/C++で組み込む場合
→ MIP SDKを最初に検討します。

理由は、現行イナーシャ向けの後継APIとして公式に案内され、組込みシステムを考慮した軽量設計になっているためです。

ただし既存MSCLコードがある場合や、Python/C#が必要な場合はMSCLを継続する合理性があります。単純に「新しい方へ全部置換」するのではなく、対象センサとソフトウェア構成で判断します。

ワイヤレス開発ではMSCLを検討

ワイヤレスノード/ゲートウェイを自社ソフトウェアから扱う場合はMSCLが重要です。SensorConnectを人が操作するGUI運用フローではなく、試験自動化、カスタム記録、カスタムUIなどへ組み込む場合にAPI利用を検討します。

ワイヤレスではネットワークやサンプリング設定も関わるため、MSCL APIだけでなくノード/ゲートウェイの現行マニュアルとSensorConnectでの標準運用フローも確認してシステムを設計します。

Pythonで使いたい

MSCLにはPythonパッケージのpymsclがあります。研究スクリプト、データ収集ツール、試験自動化などPython エコシステムへつなぎたい場合に有力です。

一方MIP SDKの公式コアAPIはC/C++です。Pythonで最新イナーシャを使う場合、MSCLの対象製品対応、他の公式インターフェース、システム要件を確認して選定します。

C#/.NET アプリケーションへ組み込む

MSCLにはC#パッケージが提供されています。Windowsアプリケーションや既存.NET システムへMicroStrainデバイスを組み込みたい場合に検討できます。

リポジトリのアーカイブをどう読むか

旧URLのGitHubリポジトリがアーカイブされている場合、「製品やライブラリが終了した」と即断してはいけません。

MSCL
旧LORD-MicroStrainリポジトリ: アーカイブ済み・読み取り専用
→ READMEがHBK-MicroStrain/MSCLへの移行を明示
→ 現行プロジェクトは新リポジトリ

MIP SDK
旧LORD-MicroStrainリポジトリ: アーカイブ済み・読み取り専用
→ READMEがHBK-MicroStrain/mip_sdkへの移行を明示
→ 現行プロジェクトは新リポジトリ

新規実装では現行HBK-MicroStrainリポジトリを参照します。旧LORD-MicroStrainリポジトリは移行履歴を確認するときに利用できます。

バージョン互換性は実装前に固定する

開発連携では、記事を読んで終わりではなく、次のバージョン組合せを実装時に固定する必要があります。
– センサ型式
– センサファームウェア
– MSCL/MIP SDKのリリース/タグ
– OS/コンパイラ
– 通信インターフェース
– ROSや上位アプリケーションを使う場合はそのバージョン

互換性は更新されるため、実装時には現行リリースノートとリポジトリを確認し、採用するバージョン組合せを固定します。

選定フロー

ワイヤレスノード/ゲートウェイをコードから扱う
→ MSCL

現行G/C-Seriesイナーシャを新規C/C++で組み込む
→ MIP SDKを優先検討

Pythonが必要
→ MSCLの現行製品対応を確認

C#が必要
→ MSCLを検討

ベアメタル/リソース制約MCU
→ MIP SDK

既存MSCLアプリケーションを維持
→ MSCL 現行リポジトリへの移行状況を確認して継続

ROSを使う
→ 現行microstrain_inertialドライバを優先し、その内部基盤としてMIP SDKを理解

よくある質問

MSCLは廃止されましたか?

いいえ。旧LORD-MicroStrainリポジトリはアーカイブされていますが、MSCLはHBK-MicroStrainリポジトリへ移行して現行プロジェクトとして継続しています。

MIP SDKはMSCLの完全な置換ですか?

すべての用途を置き換えるという意味ではありません。公式MSCL READMEは最新イナーシャ製品ライン向けにMIP SDKを後継APIとして案内していますが、MSCLはワイヤレス対応、Python、C#等の役割があります。

新しいイナーシャ製品ならMIP SDKを使うべきですか?

C/C++で新規開発を行う場合は優先候補です。ただし製品対応、言語、既存コード、OS等を確認して決めます。

PythonからMIP SDKを直接使えますか?

現行MIP SDKの公式コアはC/C++です。Pythonが必要ならMSCLのpymsclなど、対象製品に合う公式選択肢を確認します。

GitHubの旧リポジトリがアーカイブ済みなら使えませんか?

アーカイブの理由を確認する必要があります。MSCLとMIP SDKでは新HBK-MicroStrainリポジトリへの移行が明示されているため、新リポジトリを参照します。

ソフトウェア構成のご相談

自社ソフトウェアへ組み込む場合、センサ仕様だけでなくAPI、OS、言語、通信、バージョン管理までが設計対象です。Libero-Alterでは、使用するMicroStrain製品と開発環境を確認し、MSCL/MIP SDKの選定から接続構成まで整理します。

MicroStrainのソフトウェア構成を相談する
技術相談
当サイトでは、サイトの利便性向上のため、クッキー(Cookie)を使用しています