足圧測定機器の専用ハンディ端末をスマホアプリ化
機能を移植するのではなく、減らす。スマホで代替できる機能を見極める
専用ハンディ端末で行っていた足圧測定をスマホアプリへ。測定機器とはBLEで接続し、OS機能で代替できる機能を切り分けて開発範囲を圧縮しました。
システム概要
- 業種
- 計測機器製造(ヘルスケア・靴/インソール)
- システム規模
- 現行ハンディ端末の全機能(測定・シューズ設定・測定結果・機器設定19項目ほか)を棚卸しし、スマホで代替する範囲を選別/測定機器は最大2セットまで同時接続
- 開発期間
- 6ヶ月
- 費用レンジ
- 300万円〜400万円/以降の機能追加は10万円〜50万円規模
- 使用技術
- Flutter(BLE通信は flutter_blue_plus を使用)
- プラットフォーム
- スマートフォンアプリ(従来は専用ハンディ端末)/測定機器とは Bluetooth Low Energy(BLE)で接続
背景・課題PROBLEM
専用端末でしかできないことを、スマホでやりたい
足圧(足裏にかかる圧力)を測定し、重心動揺を解析する機器のソフトウェアをスマートフォンアプリ化する案件です。
現行は専用のハンディ端末で測定・表示を行っており、端末そのものがコストになっている
専用端末向けに作られた機能をそのままアプリに移植すると、不要な機能まで作ることになる
足圧中心(COP:Center Of Pressure)の計算ロジックは既存のハンディ端末のソースコード内にあり、その仕様を正確に引き継ぐ必要があった
専用端末では有線・専用インターフェースで完結していた測定機器との通信を、スマートフォンから成立させる必要があった
提案SUGGESTION
- BLEで測定機器とスマートフォンをつなぐ
- まず「作らない機能」を決める
- 設定画面そのものを減らす
- 計算ロジックは既存ソースから正確に引き継ぐ
BLEで測定機器とスマートフォンをつなぐ
本件の技術的な核は、測定機器との Bluetooth Low Energy(BLE)通信でした。開発は Flutter で行い、BLE通信には flutter_blue_plus ライブラリを採用しています。
・機器のスキャン・ペアリングから、測定中の接続維持、荷重データの受信までを一貫して実装
・左右の測定機器を最大2セットまで同時に接続し、自動で再接続する機能を追加開発
・測定は連続してデータが流れ続けるため、受信データの取りこぼしと接続断からの復帰が品質を左右する。ここに実装と検証の時間を厚く配分しました
クロスプラットフォームのFlutterを採用しつつ、BLEというOS依存の大きい領域を実機で検証しながら進める構成としています。
まず「作らない機能」を決める
現行のハンディ端末の全機能を洗い出し、スマホアプリ化することで不要になる機能を理由つきで整理してご提案しました。
・ECOモード(理由:スマホ側の画面表示設定で代替できる)
・画面明るさ設定(理由:同上)
・CPUスリープ(理由:同上)
・タッチパネル構成(理由:スマホ側の状態に依存する)
・リモートPC(理由:今回はスマホでの測定をメインとするため)
・画面設定(理由:測定画面側に機能を盛り込めるため)
・電池残量表示(理由:スマホ側の機能で足りる)
設定画面そのものを減らす
測定画面でシングル/マルチの表示を簡単に切り替えられるようにすることで、設定画面を1つ省略しました。機能を移植するのではなく、スマホの操作特性に合わせて画面構成を作り直しています。
計算ロジックは既存ソースから正確に引き継ぐ
足圧中心(COP)の計算式と、既存ハンディ端末のソースコードの該当箇所(該当関数の行番号まで)をお客様と共有いただき、4つのセンサーのX座標・Y座標と荷重から足圧中心を求める計算を、片足/両足それぞれのケースについて正確に移植しました。
成果RESULT
専用ハンディ端末を必要とせず、BLE接続のスマートフォン1台で測定・表示できる形に
測定機器を最大2セットまで同時接続し、自動で再接続する運用に対応
不要機能を事前に切り分けたことで、開発範囲と費用を圧縮
既存の計算ロジックを正確に引き継ぎ、測定結果の互換性を確保
以降、コントローラ用アプリ、インソール製品向けアプリへと展開




専用端末のアプリ化では、「今ある機能をすべて移す」と考えると費用も期間も膨らみます。今回は最初に機能を棚卸しし、スマートフォンのOS機能で代替できるものを不要機能として理由つきで整理しました。一方で、測定の核となる計算ロジックは既存ソースコードを読み込んで正確に引き継いでいます。減らす部分と守る部分の線引きが、この種の案件では最も重要です。
技術的にいちばん手間がかかるのは、機能の数ではなく機器との通信でした。Flutter(flutter_blue_plus)でBLE通信を実装しましたが、測定中に接続が切れない・データを取りこぼさないという品質は、実機を相手にした検証でしか作り込めません。測定機器と連携するアプリでは、この部分にどれだけ時間を割けるかが完成度を決めます。