#author("2018-11-14T21:46:09+09:00","","") #author("2019-01-23T06:42:08+00:00","","") [[山本]] GPS~ https://www.petitmonte.com/robot/howto_gysfdmaxb.html https://deviceplus.jp/hobby/entry060/ 9軸~ http://tomi-tomi-pon.hatenablog.com/entry/2018/11/07/012854 心拍~ http://myct.jp/arduino/index.php?%E5%BF%83%E6%8B%8D%E3%82%BB%E3%83%B3%E3%82%B5%20SEN-11574 体温~ http://naritaku.hatenablog.com/entry/2016/04/05/230649 他のセンサはちょっと待って #contents -必要な物~ Arduino ~ 各種センサ~ raspberrypi3.0~ ~ +実験環境構築~ 今回はArduinoを用いてデータを取得,並びにXamppのApacheでサーバーを立てるので,そちらの説明は[[組み込みセンサの使い方]]から参考にしてください.基本的な設定はほぼ変わりません. ** Arduino [#x7364125] まずデータ取得部であるArduinoの設定~ 基本的には使いたいセンサなんでも大丈夫です~ 今回はサンプル程度に気温と体温を取得します~ 体温のセンサはe-healthのセンサを用いるためArduino.exeのバージョンが1.01の物が必要です.細かいことは[[組み込みセンサの使い方]]から.~ 気温はBME280というものを使います.(温湿度気圧を測ることが本当はできます)~ 以下にArduino0(気温),Arduino1(体温)のファイルを置いておきます.~ #ref(BME2.ino)~ #ref(Bio2.ino)~ e-helthのセンサと普通のセンサは同時に使えないのでArduinoを2台用意してそれぞれにコンパイルしておきます. ** raspberrypi [#b615c956] 次にデータ送信部であるraspberrypiの説明.~ 今回はWifiモジュールではなく代わりとしてraspberrypiを使います.~ Arduino→Raspberrypi→PC といったようにデータが流れていくイメージ~ raspberrypiの設定に関しては横井君のページやネットで調べるなりして頑張ってください~ -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側の設定 [#e68c20be] データ受信部,並びにグラフ出力を行うPC側の設定~ 今回はsocket通信を用いるのでその前段階としてまずnode.jsというものを入れます -node.js~ https://qiita.com/taiponrock/items/9001ae194571feb63a5e~ 上記のサイトの手順に従ってインストールを行ってください.~ インストールが終わったら以下のコマンド~ node -v をコマンドプロンプトで打ち込んでください.~ バージョンが表示されればインストールはできています.~ 次にsocket.ioというものを入れます.~ npm install socket.io 上記のコマンドを打ち込むとインストールが始まります. -プログラム各種 以下のZIPファイルとphpファイルダウンロードしてください.~ ZIPファイルは適当なところに展開してください~ 展開したファイルのディレクトリ内でのパスは後で使うので控えておいてください.~ send.phpはxamppの中のhtdocs→changerootフォルダ内に入れておいてください.~ #ref(リアルタイムWEB.ZIP)~ #ref(send.php)~ ここにソースコードを貼ると量がすごいので書き換えるところを以下に示しておきます.(分からないところがあれば聞いてください)~ --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 **実行結果 [#s45055b9] まだ満足のいく実行結果を得られていません! グラフはプロットできるけれど処理が重なって値が同期できずに表示されます・・・~ delayをどこかに挟めば治るような気はするけれどそれではリアルタイムではない気がする・・・~ とりあえず今は修正中です!~ B3の人はグラフのプロットが中身が正しいかは置いておいてとりあえず出力できればいいと思います.~ 修正終わり次第更新します.