こんにちはあきらです。
今回は兼ねてよりやってみたかったフィットネススコア集計の自動化をやってみました。
そしてそしてもう一つやってみたかった…
「ワンパンマンダイエット!」
こちらをPower Platformでやってみようと思います。
これをやるためにですね。
なんと15㎏太りました!
「阿呆じゃないのか…」と思った人、間違ってないですよ。
優秀な脳みそを作ってくれた両親に感謝するために帰省しては?
以前下の動画を見て、やってみたいなーとぼんやり思っていたんですが、
されど私はPower Platformer…
どうせなら掛け合わせたいなぁと思い立つこと、半年くらい。
やっと準備ができ、そうです。
あとPower BI作ったら多分自動集計できるはず。
- 準備するもの
- 取得した値
- 全体flow
- AI Builderのビルド
- リングフィットアドベンチャーのリザルトをTwitterから取得
- Fitbit APIを利用したfitness scoreの取得
- Withings とFitbitの連携
- Dataverseへの保存
- Next Step
準備するもの
まずはどこの誤家庭にもある以下を準備ください。
- AI Builder
- Power Automate
- Power BI
- Dataverse
- MS365のExcel on-line
- 任天堂switchとリングフィットアドベンチャー
- FitbitのアカウントとFitbit スマートウオッチ
- WithingsのアカウントとWithingsの体組成計
取得した値
今回ノリノリで取得した値は以下となります。
- Withings:体重/体脂肪率/BMI
- Fitbit:走行距離/平均速度/走破時間/消費カロリー
- ringfitadventure:スクワット系回数/腕立て系回数/腹筋系回数
- msn天気:運動時の天気
(誰か有識者がうっかりこんなところに迷い込んだら、摂取カロリー取得方法を教えてください。)
全体flow
ワンパンマンって記録していくの面倒臭いので、
全部運動したら勝手にデータ取得して勝手に公開しやがれってんだ!
っていうflowをつくるわけですね。
最終的に全世界に公開、そうです山里さんがビックリするくらいのMです。
ワイが買ったものは以下(商品リンクとか貼って、アフィ収入ゲットしちゃうぞー)
Fitbit
Fitbit Versa 2 Alexa搭載 スマートウォッチ Stone/Mist Grey L/S サイズ [日本正規品] FB507GYSR-FRCJK
switch/リングフィット
Withings/体重計
Withings Body + フランス生まれのスマート体重計 ホワイト Wi-Fi/Bluetooth対応 体組成計 【日本正規代理店品】 WBS05-WHITE-ALL-JP
AI Builderのビルド
Power Apps開きまして、「AI Builder」→「ビルド」→「フォーム処理」
テキトーに名前を付けます。
「追加」から、あとでリングフィットのリザルトから取得したい内容を変数化(?)します→「追加」
「新しいCollection」→「collection選択」→ring fit adventureのリザルト画像テキトーに5枚用意してアップ→「分析」
分析がはじまる・・・
該当している項目を先ほど作成したfieldにマッピング→「次へ」
(コレクション内の全ての画像に対して行ってください)
ワイは毎回同じメニューなので楽勝
次の画面なったら「トレーニングする」
なんか勝手にトレーニング(?)してくれます。
AIの最適化みたいなもんでしょう、しらんけど。
終わったら公開を忘れずに!
リングフィットアドベンチャーのリザルトをTwitterから取得
リザルトは運動した後にリングフィットで出るんで、キャプチャしてTwitterにでも流しといてください。
↓こんなやつ(calorieとか欲しければストーリーモードの方の終了時のキャプチャ)
アルバムからSNS連携すればSNSに流せます。
流したらPower AutomateのTwitterの検索アクションで
ハッシュタグと自分のユーザー名と取得日時でもsearchテキストに置いてあげれば、取得数1で取ってこれます。
詳しくはこちら↓
Twitter(ツイッター)の検索コマンド全22選 日付やアカウントを指定して探す -Appliv TOPICS
そしてそして
「メディアURL」っていう項目を「HTTP」actionでGET
→AI Builderアクションでファイル種類選択してHTTPの本文とってこれれば完成
テストしてみるとvalueをとってこれたのがわかります。
Fitbit APIを利用したfitness scoreの取得
こちらはほとんど友人のよーよんさんが書いてくれました。
優しいナイスガイですホントに。
サイト行って広告収入落としてあげてください。
Fitbit API使ってアクティビティを取得しちゃおう! - 業務ハックLab (hatenablog.com)
一番最後にGETするとき、
https://api.fitbit.com/1/user/-/activities/date/「日付」.json
だと、activityの履歴を取れます。
https://api.fitbit.com/1/user/-/body/log/weight/date/「日付」.json
だと、体重やBMIなどの身体Dataが取れます。
両方取得したい人は二回GETする必要があると思いますので、上記のよーよんさんのリンクの最後にもう一度GET→JSONの取り出しってやれば取得可能です。
リフレッシュトークンだけきちんと更新してあげてください。
Withings とFitbitの連携
一応WithingsもAPI公開してるんですが、
accessトークンをURLから取得→加工→PowerShellでcurlするまでの導線がクッソ長い上に、なんか知らんけど保持時間が30秒しかないという鬼畜仕様なので、直接とってくるのはめんどくさくなった
なのでFitbitと連携してないか調べてみた。
以下リンクからFitbitからWithingsの値の取得が可能です。
Dataverseへの保存
あとはHTTPアクションでGETしまくればいいですね。
ついでにMSNアクションとかで天気取ってきて、「雨の日だからやっぱり遅いなぁ」とかって言い訳を用意してあげましょう。
最後にDataverseのアクションでDataverseの「行の追加」アクションで取得してあげたらいいです。
注意点まとめとこう、うん。
- Fitbitから取得した値
「JSONの解析」から値を取得すると、恐らくdistance、calorieあたりは滅茶苦茶項目がでてきます。
distanceは一番上の値
消費カロリーはactivitycalories
走った時間はveryActiveMinutesで取得できますん
- AI Builderから取得した値
なんか色んな「value」がありますが、
(作ったfield名)valueって名前の値をとってくればOKっす。
Next Step
次はPower BIを弄ってreportを全世界に公開するんだ!
ぞくぞくするね!
みんな!応援とか叱咤とか激励とか罵倒とか暴言とか猥談とかまってるぜ!
AIBuilderおもしれええええええ(高いけど)