みずぴー日記

人間の再起動ボタンはハワイのビーチにある

💓心拍数

BDでライブ映像を再生しながら自分の心拍数を見たかったので、作った。

f:id:mzp:20171229094555p:plain

📦ソースコード

https://github.com/mzp/HeartVoice

🚀目標: 心拍数とBDの同時再生

💎アイマスハッカソンに書いた心拍の再現と動機は同じ。

再生時刻との同期には技術的困難がいくつかあるので、まずは現在の心拍数を表示するようにした。

🛠仕組み

f:id:mzp:20171229100413p:plain

  1. AppleWatchを使って心拍数を取得する。 ここはcoolioxlr/watchOS-3-heartrateが参考になった。
  2. 測定した心拍数をiPhoneに送信する。 ここはアイマスハッカソンのときと同様にWatch Connectivityを使った。
  3. iPhoneからmacOSに心拍数を転送する。 ここはP2P通信を実現するMultipeer Connectivityを使った。

🚧開発中の様子

妄想で書いたデザイン。 ペンライトを振る数も出したいなーとか考えてた。

f:id:mzp:20171229101012p:plain

AppleWatchで心拍数が取れるようになった。絵文字を使うと、画面が華やかになってよい。

f:id:mzp:20171229100850p:plain

表示の仕方を気にせずにmacOS上に心拍数を表示するようにした。

f:id:mzp:20171229101325p:plain

心拍数を扱うのが初なので、いろいろ悩んだ。

ウインドウを透過したり、文字色を変更した。

f:id:mzp:20171229101406p:plain

💖所感

いくつかの要因でデバッグが大変だった。

  • watchKitアプリの転送は時間がかかる
  • 心拍数の計測にはある程度の時間がかかる
  • 心臓の速度は自分の意思では変化させれない
  • 3つのアプリが連動しているので、原因特定が難しい。

アプリとしての課題もいくつかあった。

  • BD再生をフルスクリーンで行なった上で、さらにその上に心拍数を表示するのは難しそう。
  • 接続がうまくいかなかったときのハンドリングが大変そう。