Getting Started 主夫(3)「健康を管理したい」

Getting Started 主夫(3)「健康を管理したい」

hysysk
hysysk (ID253) 公認maker 2014/10/14
0

健康を大切にしたい

健康、大切ですよね。
僕はここ10年くらい風邪もひかず大きな病気もないので、医療費はほとんどかかっておらず、これも節約の助けになっているのではないかと思います。そもそもだるいとか痛いとか、辛いことはできるだけ避けて生きていきたいですよね。健康になりましょう。

1日1万歩、1週間で7万歩

健康のためには1日1万歩歩くのが良いそうです。とは言え天気は日によって違うし、毎日同じペースを維持するのは結構難しいので、1週間7万歩を目標にするのがちょうど良いとのこと。
ということで、現在の歩数を表示する機能をつけます。

Movesを使う

Movesというアプリケーションがあり、これが歩数や走った数、自転車での移動も自動で判別して記録してくれます。iPhoneかAndroid端末を使用している方は使ってみてください。永続的にデータを記録するのでなければ今のところ無料で使えます。
主夫になる前は通勤していたので、往復で毎日大体6000歩は歩けていたのですが、今ではすっかり外にも出ず、1日が1000歩台で終わることも少なくありません。由々しき事態です。

Moves APIからデータを取得する

MovesはAPIが公開されているので、これを利用してダッシュボードに表示しましょう。まずはデータを取得するクライアントアプリケーションを登録します。開発者になるにはGoogleアカウントが必要です。
メニューの「Manage Your Apps」から「Create a New App」ボタンを押してアプリケーションを作成しましょう。アプリケーションの名前と開発者の名前を記入し、「Create」ボタンを押します。

アプリケーションを作成して「Development」タブを見ると、Client IDとClient secretに文字列が設定されています。これらのデータとアクセストークンを組み合わせて問い合わせを行い、APIからデータを取得します。アクセストークンはRedirect URIで受け取ります。

Node.jsからMovesのAPIを利用するための「moves-api」というモジュールがあるので、今回はこちらを使用しています。config.jsonに先ほど発行されたClient IDとClient secretを設定し、redirectUriも設定します。Redirect URIで設定したURIでアクセストークンを保存する処理を追加し、プログラムを実行します。
認証用のURIにアクセスすると、ダイアログが表示されます。

Movesのアプリケーションを起動し、メニューボタンから「Connected Apps」を選び、右上の「EnterPIN」から先ほどの画面で表示されたコードを入力します。成功すると自動でページが切り替わります。一度認証すれば、Revokeするかアクセストークンの有効期限が切れるまでは、もうこの手続きを行う必要はありません。

D3.jsで歩数を視覚化する

ダッシュボードなので視覚的に分かりやすく歩数を見たいですよね。ということでD3.jsというライブラリを使用して棒グラフにしてみました。この記事を書いているのが火曜日で、日月火というデータになってますが、今週残りの日数で7万歩達成は厳しそうです。

今後の可能性

Movesでは、歩く他にも走ったり自転車に乗ったりしたデータや消費カロリーも計算してくれます。
iOS8にはHealthというアプリケーションが搭載され、各種アプリケーションと連携するようになるようなので、スマートウォッチなどと組み合わせて色々と周辺の技術やサービスが充実してきそうです。

場所も取得できるので、家まで数キロ圏内に入った時にRaspberry PiのGPIOからリモコンを制御してエアコンのスイッチを入れる、ということもできそうです。

個人的なライフログを収集して楽しむことは勿論ですが、それを予測や次の行動を促す方向に持って行ければ良いですね。「おすすめの献立は豚の生姜焼きで、キャベツがお得だし健康のためにちょっと離れたスーパーまでこのルートで行け!」みたいな。

諸々アップデートしてあるのでよろしければプログラムを使ってみてください。
https://github.com/hysysk/dashboard

これまでの記事

Getting Started 主夫(1)「主夫になった」
https://media.dmm-make.com/item/299/

Getting Started 主夫(2)「支出を管理したい」
https://media.dmm-make.com/item/1301/

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について