こんにちは,@PKです.
初めに
みなさん筋トレ好きですか?
最近は在宅勤務だったので、体がなまらないように家でできる筋トレをするのを日課にしていました.
GWまでは30日チャレンジをやっていて楽しかったのですが、それが終わったあと何をしようか…と考えた結果、プリズナートレーニングを再開することにしました.
筋トレってなかなか続かないのですが、自分の場合は記録をきちんとつけると比較的長続きすることが経験的にわかっています. あと、筋トレした結果をTwitterに呟くと、さらにモチベーションが高まることも経験的によくわかっています.
と、いうわけで筋トレの記録をつけて、Twitterに投稿し、ちょこっと可視化するKNIME workflowを作ったので紹介します.
プリズナートレーニングとは
いわゆる自重トレーニングです.
詳細はこちら.
www.t-kahi.com
Big6と呼ばれる6つのトレーニングについて、細かくレベルが分かれています.
少しずつステップアップしながら筋肉を鍛えるプログラムになっています(STEP10は超人レベルです).
workoutを記録するKNIME workflow
workflow概要
Workflowは以下のように、3つのパートに分かれています.
- workout registration workflow
- twitter post workflow
- workout visualization
それぞれを簡単に紹介します.
workout registration workflow
workoutの登録workflowですが、勉強がてらSQLiteというデータベースに登録することにしました.
今までデータベース=大変、難しいものと思っていたのですが、SQLiteというのは比較的扱いそうだった(Macには初めから導入されていた!)ので、試しに使ってみました.
本当に素人なので、まずはGUIのDB Browser for SQLiteをインストールして新しいデータベースを作りました.
KNIMEには、DB連携のノードもたくさんあるので、以下のexample workflowを参考にしながらSQlite connecterでデータベースへのアクセスをしました.
実際にどのように登録をするかというと、上図の左上の「component」ノードのinteractive viewを使います. 実行すると、以下のように、いつ、どのトレーニングを何セット実行したかを入力することができます.
実際には以下のように、workoutを入力すると記録が表として出力されます.
あとは「DB insert」ノードを使ってデータベースに登録をするだけです!簡単!
ちなみにcomponentの中身はぐちゃぐちゃです…
twitter post workflow
筋トレしたら結果をTwitterで呟きたいですよね!
KNIMEはTwitter APIを使って投稿したり、データを収集できるノードが多く用意されています
KNIMEでどんなことができるかは、下記を参考にしてください.
@KNIME Twitter Nodes | KNIME
TwitterとMicrosoft Azureを使ったAPIによる感情分析 | KNIME(インフォコム)
まずは、TwitterのAPI登録をする必要があります.
Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報 - Qiita
登録が終わったら、以下の「Twitter API connector」ノードに「Consumer API Keys」と「アクセストークン情報」を入力して準備完了です.
実際に呟くと、以下のように投稿されるようにしました.
これで毎回手打ちする必要がなくなりましたね!
workout visualization
せっかくDBに登録したので、たまに進捗とかを確認したくなります.
やっつけの可視化をKNIMEのvisualizationとR viewノードで作成しました.
カレンダー形式の図で日々の記録を確認するのと、パイチャート(偏りなく筋トレできているか確認)、表を用意しました.
componentの中身はもう少しブラッシュアップさせます…
終わりに
GWの自由研究として取り組みました. 筋トレとKNIMEの勉強は忙しくなっても続けたいですね…!