#author("2025-02-05T03:58:06+01:00","","")
#author("2025-02-05T04:02:27+01:00","","")
[[IoTによる足元・ネック型の不安検知システム]]

*目次 [#g91a7b4c]

#CONTENTS
**【このページでできること】 [#kb9205b3]

ネックバンド型機器の使用

**【使用するプログラム】 [#be3a8ef9]
***<Arduino Nanoに書き込むプログラム> [#odb18d1a]

#ref(Arduino_upper.zip)

***<Raspberry Pi Zero Wに置くプログラム> [#s8905b47]

#ref(Raspberry_upper.zip)

***<サーバーに置くプログラム> [#q4451c19]

#ref(Server_server.zip)
#ref(Server_coping.zip)
#ref(Server_coping_ローパスフィルタあり.zip)

**【手順】 [#b08c2649]
***<ステップ1 Arduino Nanoにプログラムを書き込む> [#e4172678]

添付したArduinoのプログラムを開き,ツールのところを以下の画面のようにする.
#ref(Arduino3.png,,50%)
これで左上の→をクリックすれば書き込まれる.~
書き込まれた後心配ならツール→シリアルモニタorシリアルプロッタを見て動作していれば成功である.

***<ステップ2 サーバーにログインし,動かせる状態にする> [#zffa0ab4]

今回は八十住のアカウントでの説明をするが個人でやる場合は個人のユーザー名(ギリシャ文字)で行う.~
最初は権限が無いと思うので先生にやってもらう.~
まずサーバーに添付したプログラムを置く.~
winSCPを開いたらホスト名は
 133.55.115.240
ユーザー名は
 xi
パスワードは
 Uxi42
でログインできる.~
左側は自分のPCのフォルダ,右側はサーバーのフォルダ.~
左側をサーバーに置くプログラムの階層に行き,右側を
 ../../var/www/html/server
に移動する.~
あとはプログラムをドラッグで動かせば移動できる.~
copingのプログラムは
 ../../var/www/html/coping
に移動してプログラムを入れる.~
次にPCのコマンドプロンプトを開く.~
開いたら
 ssh xi@133.55.115.240
を入力してenter.~
パスワードを要求されるので
 Uxi42
と入力してenter.~
次にサーバーをroot権限で扱うので
 sudo su -
を入力してenter.~
パスワードは上と同じ.~
ここまで来たら
 cd ../var/www/html/server
を入力してenter.~
フォルダの中身を見たい場合は
 ls
を入力してenter.~
これを2つのコマンドプロンプトを立ち上げて作る.~
ただし1つのコマンドプロンプトの移動するディレクトリは
 cd ../var/www/html/coping
に移動する.~
成功すると以下のようになる.
#ref(server4.png,,50%)
~

***<ステップ3 VNC ViewerでRaspberry Pi Zero Wにアクセスをし,動かせる状態にする> [#g7618a4e]

まずRaspberry Pi Zero Wの電源を入れる.~
電源ボダンを1回押すか,2回押す(2回目長押し)で電源を入れれる.~
緑のランプが光ったら成功.~
次にPCのWiFiとRaspberry Pi Zero WのWiFiを同じにしておく.
Raspberry Pi Zero WのIPアドレスをVNCに打ち込む.
#ref(vnc.png,,50%)
アカウントを作成すると名前を変更できたりできるので便利である.~
Raspberry Pi Zero WのIPアドレスを打ち込み開いたら,ユーザー名とパスワードを聞かれる.~
初期設定と一緒なのでユーザー名は
 pi
パスワードは
 raspberry
である.~
立ち上げたらRaspberry Pi Zero Wでコマンドプロンプトを開きデスクトップの階層に移動をする.
 cd Desktop
Raspberry Pi Zero Wに添付したプログラムを転送する.~
Raspberry Pi Zero Wのデスクトップの上の方にカーソルをやると以下のようになる.
#ref(vnc2.png,,50%)
これのTransfer filesから自分のPCにあるプログラムをRaspberry Pi Zero Wに転送できる.~
転送先はDesktopにする.~
以下のようになれば成功.
#ref(vnc5.png,,50%)
~

***<ステップ4 心拍データの確認> [#m53767c2]

実験をやる度に心拍データの確認を行う必要がある.~
きれいな波形でないとストレス値が上手く算出されない.~
まずプログラムの
 Serial.print(myTime);
 Serial.print(",");
の二行をコメントアウトにする.~
コメントアウトは//でできる.~
以下のようになれば成功.
#ref(Arduino4.png,,50%)
この状態で書き込みをし,機器を装着し,シリアルプロッタを開く.~
きれいな波形になるまで心拍センサの位置を変える.~
きれいな波形の例は以下である.
#ref(Arduino5.png,,50%)
確認出来たら先ほどの二行のコメントアウトを戻し,再度書き込む.~
これをした後は実験を終わるまでは心拍センサを外さない.

***<ステップ5 プログラムを動かす> [#ya66dcaf]
順番は~
1.Server_all.py(サーバー)~
2.Stress_welch_hrv.py(サーバー)~
3.rene_upper.py(Raspberry Pi Zero W)~
(ここからはコーピングの音声,行動入力を行う場合)~
4.Coping.py(Raspberry Pi Zero W)~
5.Julius(Raspberry Pi Zero W)~
6.Voice.py(Raspberry Pi Zero W)~
の順番で動かす.~
解説を行う.~
まず,サーバーのコマンドプロンプトに行き,
 python3 Server_all.py
と入力してenter.~
次にcopingのコマンドプロンプトに行き,
 python3 Stress_welch_hrv.py
と入力してenter.~
以下のようになれば成功.
#ref(server5.png,,50%)
次にRaspberry Pi Zero Wに行き
 python rene_upper.py
を入力してenter.~
以下のようになれば成功.
#ref(vnc6.png,,50%)
#ref(server6.png,,50%)
1分間のデータ収集を行うので1分間は安静にする.~
1分後ストレス値が出てくる.~
データを取得するだけならここまでで良い.~
ここからはコーピングの音声,音声入力を行う場合の解説である.~
この状態でRaspberry Pi Zero Wのコマンドプロンプトをあと3つ立ち上げる.~
最初は
 cd Desktop
 python Coping.py
次に
 cd julius/dict
 julius -C ../julius-kit/dictation-kit-4.5/am-gmm.jconf -nostrip -gram ./test -input mic -module
最後に
 cd Desktop
 Voice.py
を動かす.~
以下のようになれば成功.
#ref(vnc7.png,,50%)
~

***<ステップ6 データの確認> [#nd212107]

プログラムを止めた後はデータの確認を行う.~
winSCPのサーバー側のフォルダで
 ../../var/www/html/company/事業所名(日本海倶楽部)/ユーザー名(rene)
の中にcoping.dat,stress.dat,upper.dat,voice.datファイルが存在し,中身を確認してデータが入っていれば成功である.~
以下のようになれば成功.
#ref(winSCP4.png,,50%)
~

**【補足(外で現地実験を行う場合)】 [#cb7ba4c6]

外で現地実験を行う場合は外部から研究室のサーバーを動かさないといけない.~
また,サーバーを動かすにはWiFiを研究室内のWiFiにする必要がある.~
そのため,Googleリモートデスクトップを用いて外でのPCから研究室内のPCをリモートで動かす.~
これにより外からでも研究室のサーバーにアクセスすることができる.


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS