[fitbit] 3. PythonでFitbit APIを使って心拍数データを取得してmatplotlibで表示

fitbit

はじめに

fitbitとは、心拍数、歩数や睡眠をトラッキングするために腕に着用するタイプのスマートウォッチです。日々の健康状態を把握するのに役立っています。ここでは、Fitbit APIを使って心拍数データを取得してmatplotlibで表示するまでを解説します。

手順

APIの登録など

その1を参照してください。

[fitbit] 1. PythonでFitbit APIを使ってデータ取得 その1 アプリの登録とtokenの取得
fitbitとは、心拍数、歩数や睡眠をトラッキングするために腕に着用するタイプのスマートウォッチです。日々の健康状態を把握するのにとても役立っています。ここでは、Fitbit APIを使ってデータを取得するために、アプリの登録からtokenの取得まで解説します。

fitbit-pythonのインストールなど

その2を参照してください。

[fitbit] 2. PythonでFitbit APIを使ってデータ取得 その2 fitbit-pythonによる睡眠データの取得とmatplotlibによる表示
fitbitとは、心拍数、歩数や睡眠をトラッキングするために腕に着用するタイプのスマートウォッチです。日々の健康状態を把握するのにとても役立っています。ここでは、アプリの登録からtokenの取得までを解説したその1の続きとして、Fitbit APIを使って睡眠データを取得してmatplotlibで表示するところまで解説します。

モジュールのインポート

バージョン

CLIENT_ID, tokenなどを定義

その1で取得したCLIENT_IDとCLIENT_SECRETとtoken.txtをここで使います。token.txtは実行ファイルと同じ場所に置いておきます。

認証

fitbit.Fitbit()により、認証を行います。updateToken関数はtokenの更新用の関数でrefresh_cbupdateTokenとすることでtokenの期限切れの際に随時更新してくれるようになります。

1秒単位で心拍数データを取得

DATEを設定し、client.intraday_time_series('activities/heart')とすることで心拍数データが得られます。detail_level=’1sec’で1秒単位のデータが得られます。しかし、実際に得られるデータはだいたい5,10,15秒間隔のデータとなっています。

日付つき時刻データの作成

データ数と同じサイズの日付データを作成して、時刻データと合体することで日付付き時刻データを作成します。

心拍数データの経時的な変化を表示

to_datetimeで時刻データをdatetime形式に変換し、横軸の時刻データをConciseDateFormatterでシンプルに表示しています。

1分間隔の心拍数データの経時的な変化を表示

intraday_time_seriesでdetail_level=’1min’とすることで1分間隔でデータを取得できます。
1sec間隔のデータと同様の方法で表示すると以下のようになります。

15分間隔の心拍数データの経時的な変化を表示

intraday_time_seriesでdetail_level=’15min’とすることで15分間隔でデータを取得できます。
1sec間隔のデータと同様の方法で表示すると以下のようになります。

まとめて表示

上で得られたプロットをまとめて表示すると以下のようになります。

コードをダウンロード(.pyファイル)

参考

Overview — Python-Fitbit 0.3.0 documentation
Python×fitbit APIを使って心拍数をリアルタイム(?)にSpreadSheetsへ保存する! - Qiita
はじめに fitbitを使い始めて1年近くになりますが、時計盤やアプリ開発ばかりでAPI周りをあまり触っていなかったことや、自身の研究のためもあり、今回はアクティビティデータのリアルタイム取得をやってみました。 データベースへ...

コメント

  1. […] 486;ンパイソン「[fitbit] 3. PythonでFitbit APIを使って心拍数データを取得してmatplotlibで表示」 […]