🍔

NeosVRにMiBandの心拍数を送信する

2022/06/23に公開

急いでる方向け本題リンク⇒ 本題

はじめに

みなさま初めまして らっしー大好きマンことしえるです。
早速ですが、みなさんNeosVRって知ってますか。
NeosVRはメタバースで何でもできる空間(GETもPOSTもWebsocketもできるしその値をいろんなパラメータに代入できちゃったりもする)なんですが、ここで最近MiBandブームが起きてて、心拍数をNeosVRに持っていくのが流行りなわけです
これはぼく
↑これはぼく

本題ではない

MiBandはBLE(Bluetooth Low Energy)で通信していて、MiBandへの接続トークンがあるといろいろできるようです。(最近調べてたけどなんかトークンなくても通信できそう)
https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=ja&gl=US
などのアプリでBLEのサービスとかを見ることができます。
これらのサービスから、心拍数を返してくれるサービスを使うと、心拍数が帰ってきます。
そこら辺をやってくれるプロジェクトが
https://github.com/gzalo/miband-6-heart-rate-monitor
https://github.com/Jaapp-/miband-5-heart-rate-monitor
らへんにあります。これらをElectronアプリにまとめたものが本題になります。

本題

必要なモノ

  • MiBand 4 ~ 6のいずれか
  • Bluetooth(パソコンにUSBで刺すやつとかでOK)

リポジトリはここの old ブランチです(masterはUI更新しようとして力尽きた)
https://github.com/rassi0429/miband-hr-electron

設定方法

  1. リリースのv1.1.0をダウンロードして好きな場所に解凍してください。https://github.com/rassi0429/miband-hr-electron/releases/tag/v1.1.0
  2. フォルダ内にあるMiBandHRElectron.exeを実行します。(アクセス許可が出るかもしれません。許可してください)
  3. 出たしょぼい画面の一番上のボタン、GetTokenを押してください。ログインすると画面が戻ってきてよくわからん文字列が出てくると思います。
  4. MiBand6の人はuse Miband6のチェックボックスにチェックしてConnectボタンを押します。
  5. 画面が変わって30秒ぐらい待って心拍数が出てこればOKです。
  6. NeosVR側で neosrec:///G-BinaryComputing/R-e63c5bb9-531f-4931-85ee-7d1accaac6b3をクリップボードから貼り付け、パブリックフォルダを保存して、その中にあるアイテムを出します。
  7. アイテムの中身を開いて、EmptyObjectスロット内のUserに、ユーザーインスペクター(dev tool tipで新規作成⇒エディタ⇒ユーザーインスペクター)から、自分のユーザをもってドロップします。
  8. 心拍数が同期されればOK!!

注意書き

  • 二回目以降はGetTokenは押さなくてOKです!!

トラブルシューティング

  • GetTokenがうまくいってなさそう

MiBandがMiアカウントに正常に結びついてないかもしれません。スマホアプリのほうでMiアカウントと結びついているか確認してみてください。

  • Connectを押しても無限万年接続できない

iPhoneをお使いの方はiPhoneのBlueToothをオフにしてみてください

  • わからん

周りの人に聞いてみてください。

非常に雑な解説で、わかりにくいと思うので、今度詳しく説明した動画をつけて記事を更新します。

Discussion