#はじめに
私たちは現在、ネットワーク家電をベースとしたIoT技術に関する応用システム開発の研究を行っています。
近年の健康意識の高まりから、フィットネストラッカーと自分のシステムを連携させたいと考えました。
しかし、たくさんの会社から様々な機器が販売されており、
・それぞれの機器でどのような値を取得できるのか?
・システムで使用するためのAPIは提供されているのか?
・提供されているAPIはどの程度の連携が可能なのか?
などが不透明だったので、皆さんのプログラムでも連携できるよう、
サンプルプログラムなどを踏まえつつまとめたいと思います。
#フィットネストラッカーまとめ
機器名 | 種類 | 画面 | 電池持ち | 防水 | 主なデータ | API有無 |
---|---|---|---|---|---|---|
Jawbone UP3 | バンド | LED | 7日 | 1気圧 | 歩行、高精度睡眠周期、心拍 | ◯ |
Fitbit ChargeHR | バンド | 液晶 | 5日 | 5気圧 | 歩行、睡眠周期、心拍 | ◯ |
Fitbit Charge2 | バンド | 液晶 | 5日 | 生活防水 | 歩行、睡眠周期、心拍 | ◯ |
Fitbit one | バンド | 液晶 | 10~14日 | 生活防水 | 歩行、睡眠周期 | ◯ |
Fitbit Aria | 体重計 | 液晶 | 6か月 | × | 体重、BMI、体脂肪 | ◯ |
Sony SmartBand2 | バンド | LED | 2日 | IPX8 | 歩行、睡眠周期、心拍 | ◯ |
MISFIT SHINE2 | バンド | LED | 6か月 | 5気圧 | 歩行、睡眠周期 | ◯ |
Sleep Scan | シート | 液晶 | ACアダプタ | × | 高精度睡眠周期、呼吸、心拍、体動 | × |
Withings Activite Steel | 腕時計 | アナログ | 8か月 | 5気圧 | 歩行、睡眠周期 | ◯ |
Pebble | バンド | 液晶 | 7日 | 5気圧 | 歩行、睡眠周期 | ◯ |
Moto360 | バンド | 液晶 | 24時間 | IP67 | 歩行、睡眠周期、心拍 | ◯ |
Apple Watch | バンド | 液晶 | 18時間 | IPX7 | 歩行、睡眠周期、心拍 | ◯ |
###APIまとめ
機器名 | SDK | 主な取得可能データ | 認証 |
---|---|---|---|
Jawbone UP3 | Jawbone Web API | 歩行、睡眠周期、心拍 | OAuth2 |
Fitbit シリーズ | Fitbit Developer API | 歩行、睡眠周期、心拍 | OAuth2 |
Sony SmartBand2 | Lifelog API | 歩行、睡眠周期、心拍 | OAuth2 |
MISFIT SHINE2 | Misfit APIs | 歩行、睡眠周期 | |
Withings Activite Steel | Withings API | 歩行、睡眠周期 | OAuth1 |
Pebble | Pebble SDK | 加速度 | |
Moto360 | Wear 2.0 | 歩行、加速度、心拍 | |
Apple Watch | watchOS 3.0 | 歩行、睡眠周期、心拍 | |
※2016/12/7時点 |
サンプルプログラム用フィットネストラッカーと選定理由
サンプルプログラムを作成するにあたって、
上記の中からFitbit Charge HRとJawbone UP3を選定しました。
選定理由はどちらも心拍数の取得がAPIによって可能であることを確認し、
普及率や資料などを参考に選定しました。
どちらもOAuth認証によりAPIの利用が可能となります。
####選定参考URL
・[Data Digest: Announcing Our Annual Benchmark On The State Of US Consumers And Technology In 2015 | Forrester Blogs]
(http://blogs.forrester.com/gina_fleming/15-09-28-data_digest_announcing_our_annual_benchmark_on_the_state_of_us_consumers_and_technology_in_2015)
・[総務省|平成27年版 情報通信白書|ウェアラブルデバイスの種類]
(http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h27/html/nc241120.html)
####各メーカーURL
・[Fitbit]
(https://www.fitbit.com/jp)
・[JAWBONE]
(https://jawbone.com/)
#OAuthについて
OAuthは「アクセス権限付与」のためのプロトコルです。
OAuthを詳しく知りたい方は以下のURLを参考にしていただければと思います。
####参考サイト
・[OAuth 2.0 の仕様を読むために]
(http://qiita.com/awakia/items/66975de18ba25f18a961)
・[OAuth 2.0 の仕組みと認証方法]
(https://murashun.jp/blog/20150920-01.html#chapter-1)
#サンプルプログラム
選定したフィトネストラッカーのサンプルプログラムを作成しました。
以下のURLを参考にしていただければと思います。
・サンプル1「Fitbit Charge HR + Ruby で歩数変化から家電制御」
・サンプル2「Jawbone UP3 & Node.jsで歩数をWebページに表示する」
#おわりに
今回のまとめで、フィットネストラッカーと連携したシステムに興味を持つ人が増え、
この分野が更に盛り上がれば幸いです。
(作成:神奈川工科大学 杉村研究室)