江崎? ライフログをまとめたcsvからhtmlを編集する

大まかな流れ 

1.センサからラズパイで生体・環境データを取得
2.生体・環境データをライフログとしてクラウドに保存
3.PCでライフログをcsvファイルに書き込み、保存
4.実行コードでcsvファイルからデータを搾取
5.とってきたデータをもとに処理
6.コーピング表示htmlの作成
7.htmlの公開設定
8.別端末から閲覧

1からやるとIoTから始めなければいけないので今回はライフログcsvファイルをあらかじめ用意し,4から始める。
最終的に図のhtmlが別端末からみれればOK(実際の数値や文章は違うかも)

12.JPG

初期準備 

コードでやってること 

1.ライフログcsvファイルから行のラベルを作って読み込む
2.csvファイルのうちGSR、心拍、マイクラベル、時刻のリストを作成
3.デンドログラム制作。マイクラベルがある要素にはそのマイクラベルも表示
4.コマンドプロンプトに各データのクラスター番号配列を出力(数字はデンドログラムの表示順)
ユーグリッド距離2000で仕分けている。2000以内は同じグループとみなす。
このクラスター番号は行動ごとに与えられた番号と認識しておいてください
5.変数にテキトーな文字列を入れてhtmlファイルを作成
6.デンドログラムを表示。htmlをedgeで開く

クラスター番号配列解説 

 

コード書き込み 

最終的に以下を処理
3人組(A,b,c)で分かれて8つの変数を出力させる。

今回用意したライフログで表示できたら確認用の研究用ライフログでも試す?

担当ABBACCAC
コード変数now_timelocationsituationtotal_timestress_datastatecopefigure
htmlToday場所状況経過時間ストレス予測値状態指令画像


A.最新の時間と経過時間とコーピング指令 

datatimeは時間を扱うライブラリ。
group(クラスター番号)配列は時系列なのでどの行動がどれだけ続いているかが分かる。
ライフログからはだいたい2分くらいと思われる。
行動経過時間(total_time)はgroup配列をもとに行動が開始された時刻(start_time)と最新の時刻(now_time)を単純に引き算すれば求められる

コーピングに関しては本来はストレス予測値も参考にするが経過時間をもとにコーピング内容を変える
今回は基準を「1分」とし経過時間(total_time)が1分以上だった場合指令(cope)を発動する(未満だったら「なし」と表示)

指令は「経過時間が○○で、行動は○○なので、○○しなさい」の形式で、○○の部分はif文で細かく仕分け。
今回のライフログの直近の行動は「パソコン作業」なのでそれに応じたストレス対策法をググってひょうじさせる
◎余裕があったら現在の行動よりひとつ前の行動に対しても同じ処理をしてみる

B.現在地の出力 

クラスター番号から最新の行動が何か調べる

1.group配列をさかのぼり,最新のクラスター番号と一致する、かつ、マイクラベルが存在する時
2.そのマイクラベルを出力し、locationとsituationに分割する。(マイクラベルは必ず2単語になるようにしてある)

この際,マイクラベルにはほとんどがnanというfloat型の値が入っている(というか値がない)

C.ストレス値予測と図 

いろいろあってLF/HF値が出せたのでそのまんましゅつりょくします
はっはははhっははっははははっはっはっはっははは
最新のLF/HF値をstress_dataとし,その値によってstateをきめる
LF/HF値が2.0以下だったら「良好」みたいな


(例)

7.JPG

html表示方法 

3人とも実行できたらCのPCで3人分のコードをコピペして一つにまとめる。合体させたらコーピング発動条件やcopeを行動経過時間とストレス値と行動識別で変化させる。完成したコードを実行し,最初の図のような全表示のhtmlを表示させる。

それができたら以下の通りISSで設定し別端末でもみれるようにする。

1.PC(Windowsの場合)htmlがある📁のパスを通す.
  Internet Information service (IIS)のDefault WebSiteの「機能ビュー」の「詳細設定」で📁物理パスを設定.
  さらに「既定のドキュメント」に追加.
2.こうするとPCと同一Wi-Fi内でのみ「http://(PCの物理アドレス)」でグラスにhtmlが表示される.


・IISの設定

11102.JPG

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS