0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

皆さんいかがお過ごしでしょうか?
お元気ですか?
私は感覚的には元気だと思うのですが、観測しないことにはなんともいえません。
また、自身の健康を向上したいと思っている方も、基準を見つける必要があります。

ここでは自身の健康を観測する手段を提案するものであります。

これが SRE (Self Reliability Engineering) なんつってね。

私が観測したい情報

  • 自分の健康状態を反映しているであろう情報
    • 心拍数
      • 高熱や不眠など明らかに体調悪いときに変動があったため
  • 自身の健康状態に影響するであろう情報
    • 睡眠時間
      • 睡眠時間が少ないと気分が悪くなったりしますよね...?
    • 環境情報
      • 室温
        • 寒いと体調を崩すという俗説があるため
      • 室内湿度
        • 湿度が高いと不快に思うが体調への影響を測定したいため

健康の指標になりそうな情報や健康への影響がありそうな値を計測します。

必要なもの

  • Fitbit
    • 心拍や睡眠が取れます
      • 他にも色々取れる
    • 電池が切れて転がっていた Fitbit Charge 4 活用
  • Nature Remo

どちらもブラックフライデーでセールしていました。(全く同じ型番か覚えていないけど今回やりたいことは他のやつでもある程度実現できるので)
来年買うといいかもね:innocent:)

サンプル実装

New Relic への 送信はこの API を使いました。雑に metrics を送信するのに便利です。
https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/report-metrics-metric-api/

Nature Remo

雑コード
https://gist.github.com/m0cchi/2e2e70e7da2281fcdb2e433d411b8968

Nature Remo の API はこちらを見てください。
https://developer.nature.global/

Fitbit

Fitbit の API Key を取得

App を作成する。
https://dev.fitbit.com/apps

以下でわかりやすく解説されているのでこちらを参照することをおすすめします。
https://www.zenryoku-kun.com/post/fitbit-api

個人的に localhost:8080 があったほうが便利だったので QueryString を表示する簡易 Server を用意しました。
https://gist.github.com/m0cchi/28952f8bcd4d460626edd1ddb1c27fad

Scopes

私が選んだのはこちら。
image.png

Token 再作成

雑コード
https://gist.github.com/m0cchi/0340d411d93c664941b18f24563f802e

暫定で redis へ token を渡して rotate します。

Metric 収集

コード(略)
前日1日分のメトリクスを1日1回送信するのが良いかと思います。

心拍数取得
https://dev.fitbit.com/build/reference/web-api/heartrate-timeseries/get-heartrate-timeseries-by-date/

睡眠時間取得
https://dev.fitbit.com/build/reference/web-api/sleep/get-sleep-log-by-date/

反省

定点観測が大切であるがこの記事で示すことができなかった。
メトリクスを比べて考察までできればよかったが...
現在気になっているのは

  • 睡眠時間と室温、気温の関連性
    • 睡眠時間が体調へ影響を与えているので、その睡眠への影響について気になる
    • これを書いている現在は YouTube を見ていたら寝不足なので再生履歴とかも New Relic へ送るといいのではと思ってきた

感想

  • 世の中には色々なデータが転がっているので New Relic へ送ってみるとよいのではないでしょうか
    • 例えば Weather API とか気圧の情報が取れるっぽいので低気圧不調民は観測してみると面白そう
    • https://openweathermap.org/api
  • 作業していてあるあるなのが New Relic へ metric を送れたのはいいが、 New Relic 上で見ることができないとき
  • 情報を溜めるデータベースは運用し続けるのがまあまあだるいので New Relic へ任せることができるのは楽
    • とはいえ、情報を第三者へ渡していることは意識するべき
      • 「Nature Remo の人感センサーの値が時系列情報として何らかの理由で流出した場合にリスクになるのでは?」とか検討すべき
  • 数年単位で情報を溜めたいときは別途手段を考えたほうがいいと思う
    • FYI: データ保持期間
    • 使い分け例
      • 詳細で数週間単位の情報は New Relic
      • サンプリングし年単位の情報は自前で立てた何か
  • 当然ながら New Relic の API にも rate limit があるので確認しましょう
  • Nature Remo も Fitbit も API wrapper 調べた感じメンテされていないように感じたので自分で公開するのも楽しそう
  • 自分の健康を仮説検証していけ
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?