戻る
- 必要な物
Arduino
各種センサ
raspberrypi3.0
実験環境構築
- ハード構築
・Arduinoとe-healthを接続する
・Arduinoに脈波センサと体温センサを接続しPCと接続
接続方法が分からない場合は以下のURLを参照
e-healthのチュートリアル
https://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-sensor-platform-arduino-raspberry-pi-medical
- PC内の環境構築
・ArduinoIDEのインストール
以下のURLからArduinoIDEのver1.0.5をそれぞれのPCに合わせた環境でインストールする
※既に別verでのIDEをインストールしている場合は追加でインストールする(アンインストールする必要はない)
https://www.arduino.cc/en/Main/OldSoftwareReleases#1.0.x
- xamppのインストール
xamppとはApacheでサーバーを立てたりMySQLを使用できたりする便利なソフト
https://www.apachefriends.org/jp/index.html
上記のURLからそれぞれの環境に合わせてxamppをインストール
インストールで不明な点があったら以下のURLを参考にしてください
https://www.adminweb.jp/xampp/install/index1.html
- xamppの設定変更
C:\xamppの位置にxampp-control.exeというものがあるのでそちらを起動,下記の画像のような画面が表示される
#ref(): File not found: "xammp.png" at page "無線データ取得"
configからApache(http.conf)を選択すればApacheの設定ファイルの中身が表示される
・ローカルIP設定
Apacheの設定ファイルの59行目に
Listen 80
とあるので
Listen 8080
と書き換えておく
Apacheの設定ファイルの227行目に
ServerName localhost:80
とあるので
ServerName localhost:8080
と書き換えておく
・ディレクトリパス設定
251・252行あたりの DocumentRoot と Directory のパスを下記のように書き換える
DocumentRoot "C:/xampp/htdocs/changeroot"
Directory "C:/xampp/htdocs/changeroot"
その後にhtdocsの中にchangerootというフォルダを作っておく
Arduino
まずデータ取得部であるArduinoの設定
基本的には使いたいセンサなんでも大丈夫です
今回はサンプル程度に気温と体温を取得します
体温のセンサはe-healthのセンサを用いるためArduino.exeのバージョンが1.01の物が必要です.細かいことは組み込みセンサの使い方から.
気温はBME280というものを使います.(温湿度気圧を測ることが本当はできます)
以下にArduino0(気温),Arduino1(体温)のファイルを置いておきます.
e-helthのセンサと普通のセンサは同時に使えないのでArduinoを2台用意してそれぞれにコンパイルしておきます.
raspberrypi
次にデータ送信部であるraspberrypiの説明.
今回はWifiモジュールではなく代わりとしてraspberrypiを使います.
Arduino→Raspberrypi→PC といったようにデータが流れていくイメージ
raspberrypiの設定に関しては横井君の「rasberrypiによる温湿度取得?」のページやネットで調べる
- teraterm
ラズパイをPC上でリモート操作するためのソフト.
特にバージョンにこだわったりインストールする際の注意事項はないので,
Teraterm インストールで検索してインストールしてください.
raspberrypiに接続する際はラズパイ側のIPアドレスが必要なので控えておいてください.
- データ送信プログラム
pythonでプログラムを作成します.
raspberrypiにはデフォルトでpythonの環境が整っているはずなので設定とかはいりません.(もしかしたら勘違いしてるかもしれないんでpythonが入ってないと感じたときは指摘してください)
プログラムを作成するときは好きなエディタを使ってください.
例
sudo nano 〇〇.py
のようにしてpythonファイルを作成します.
以下にそのソースコードを示します.
※python側のソースコード
Arduinoの型番号ACM〇〇はそのとき用いるものに,IPアドレスは自分のPCのものに書き換えてください
Arduinoの型番を調べるのは以下のリンクを参考にしてください
https://uepon.hatenadiary.com/entry/2017/01/01/141220
PC側の設定
データ受信部,並びにグラフ出力を行うPC側の設定
今回はsocket通信を用いるのでその前段階としてまずnode.jsというものを入れます
- プログラム各種
以下のZIPファイルとphpファイルダウンロードしてください.
ZIPファイルは適当なところに展開してください
展開したファイルのディレクトリ内でのパスは後で使うので控えておいてください.
send.phpはxamppの中のhtdocs→changerootフォルダ内に入れておいてください.
ここにソースコードを貼ると量がすごいので書き換えるところを以下に示しておきます.(分からないところがあれば聞いてください)
- send.php
49行目
exec ("node C:\Users\Seiya\Documents\リアルタイムWEB\socket\accept.js"."\t".$data1."\t".$data2."\r\n" );
のフォルダ内のパスを自分のPC内のパスに合わせて書き換える.
- accept.js
5行目
var socket = io.connect('http://192.168.0.110:3000');
のIPアドレスを自分のPCのIPアドレスに書き換える
※サーバーが競合するかもしれない場合は3000を好きな数字に書き換える
その場合はserver.jsの3000も書き換える
- index.html
201行目
var socket = io.connect('http://192.168.0.110:3000');
のIPアドレスも同様に書き換える
サーバーが競合している場合はこちらも同様に3000を好きな数字に書き換えてください.
グラフのプロットにはEpoch.jsというものを用いています(html内).興味のある人は以下のリンクに細かい解説が載っています.
https://qiita.com/okoppe8/items/d8d8bc4e68b1da4a0a36