TANITA MC-780A の測定結果をChromeで受信して、測定値の確認、履歴保存、CSV出力、QR共有ができるWebアプリです。
- MC-780AをPCにUSB接続します。
- Chromeで BodyChecker を開きます。
接続を押します。- 表示されたUSBシリアルポートを選びます。例:
usbserial-AG0JOZ9V - MC-780Aで測定します。
- 測定結果が画面に表示されます。
Web Serial APIを使うため、SafariやFirefoxではUSBシリアル接続が動きません。
表示される主な項目:
- 体重
- 体脂肪率
- 筋肉量
- 脂肪量
- BMI
- 内臓脂肪レベル
- 体水分率
- 基礎代謝量
- SMI
- 部位別の脂肪率、筋肉量、脂肪スコア、筋肉スコア
測定データをこのPCに保存したくない場合は、測定前に プライバシーモード をONにします。
ONの間は、受信した測定データを保存履歴やCSV出力対象に残しません。表示とQRコード化だけできます。
画面上の測定値も見せたくない場合は、測定後に QR表示 をONにしてください。測定値、履歴、全項目、受信ログを隠して、大きなQRコードだけを表示します。
QR表示 をONにすると、測定値の代わりに大きなQRコードが表示されます。
利用者がスマートフォンで読み取ると、以下の利用者向け画面が開きます。
QRから開いた user.html では、受け取った測定データをスマートフォンのブラウザに保存し、日付ごとに表示します。同じ測定データをもう一度読み込んでも重複登録しません。
QRに含めるのは、記録・表示に必要な測定サマリです。MC-780Aの生データ全体や管理画面の保存履歴全体は含めません。
通常モードでは、測定データは自動でブラウザに保存されます。
右側の 保存履歴 から過去の測定を選ぶと、その測定値を再表示できます。
履歴の 削除 を押すと、確認ダイアログのあと、その測定データを削除できます。
履歴欄の 全削除 を押すと、確認ダイアログのあと、保存履歴をすべて削除できます。
クリア は画面表示と受信カウントを初期化します。保存済みの履歴は削除しません。
保存履歴欄の CSV出力 を押すと、保存履歴にある測定データをCSVファイルとしてダウンロードします。
保存履歴欄の CSV読込 を押すと、出力済みCSVを読み込んで保存履歴に追加できます。
注意:
- CSV読込は既存データを削除しません。
- CSV読込時の重複チェックは行いません。
- プライバシーモード中に測定したデータは保存されないため、CSV出力にも含まれません。
MC-780Aの出力に標準値が含まれる場合、以下の差分を表示します。
- 体重: 標準体重との差
- 体脂肪率: 標準体脂肪率との差
- 筋肉量: 標準筋肉量との差
SMIと内臓脂肪レベルは目安レンジとの差を表示します。
- SMI: 男性
7.0、女性5.7を低筋量目安として表示 - 内臓脂肪レベル:
12を健康範囲上限として表示
筋肉スコアは、MC-780Aが出す筋肉量評価です。-4 から +4 の9段階で、0 が標準付近、プラス側が多め、マイナス側が少なめです。
SMIは Skeletal Muscle Mass Index の略で、四肢の骨格筋量を身長の二乗で割った値です。
SMI = 四肢骨格筋量 kg / 身長 m^2
USBシリアルポートが表示されない場合:
- Chrome系ブラウザで開いているか確認します。
- MC-780AとPCのUSB接続を確認します。
- ほかのアプリが同じシリアルポートを使用していないか確認します。
- ページを再読み込みして、もう一度
接続を押します。
QRコードが読めない場合:
QR表示をONにしたまま、画面の明るさを上げます。- QRコードが画面に大きく表示されていることを確認します。
- 測定値を受信してから
QR表示を押します。
ローカルで確認する場合:
python3 -m http.server 8000http://localhost:8000/index.html
パーサを直接使う例:
import { MC780A } from "./MC780A.js";
const record = MC780A.parse(serialText, { format: "serial" });
console.log(record.fields.weightKg);
console.log(record.fields.bodyFatPercent);テスト:
deno test MC780A.test.js