IoT
※この方法はGoogle Driveを使った方法です.
カメラ,マイク,GPS受信機セット(緯度、経度、海抜高度),温湿度気圧センサー,照度センサー,赤外線焦度センサー,9軸センサーモジュール(加速度xyz、角速度xyz、磁気コンパスxyz),体温センサー,心拍,GSRセンサー(皮膚電気反射)のデータを取得する.ただし,カメラ画像とマイク音声はテキストでも取得する.
取得したデータに対してリアルタイムでクラスター分析をすることで,行動識別を行えるようにする.
ラズパイにGPSセンサとマイクをぶっさす。
ここからOSがWindowsの場合で紹介します。インストールするものも全部for Windows
Raspberry Piの始め方
再起動後 ターミナルでifconfigと入力して無線LANのIPアドレスを確認する
IPアドレスを確認することで、他のパソコンからSSH接続することができる
https://www.arduino.cc/en/Main/Software
よりArduinoIDEをダウンロードしておく。(情報実験で持たされる。)
Auduinoとラズパイを連結して情報を得る
ラズパイ、PCで使うコード
#ref(): File not found: "newsensa_all_name.py" at page "センサとマイコン(Arduino, Raspberry Pi)による行動分類"
.ラズパイに入れるモジュール(他多数)
opencv matplotlib scikit-learn graph-marker
・PCに入れるnltkリソース
python
>>>import nltk
>>>download('averaged_perceptron_tagger')
>>>download('wordnet')
>>>download('universal_tagset')
.他
gspread oauth2client
・プログラム修正点
server2.pyの133行目、sensaK.pyの42行目の下線のIPアドレスを自身のパソコンのIPに変更する。
PC側でserver2.pyがうまく軌道できたら
[available to connect: 192.168.0.205](ここは自分のIPアドレス)の文字が表示されるのですぐラズパイの方でsensaK.pyを起動する。
上手くいけばラズパイもPCにもAuduinoで取得したデータ(数値)が表示され、ラズパイ側にはカメラ画像、PC側にセンサのグラフがリアルタイムで更新される。
リアルタイムでの情報取得できたらカメラ画像を収得する。画像ではなく画像に映っている情報を文字に起こして羅列しどこにいるのか、何をしているか判断することができる
6.で説明したカメラの使い方は取得データをPCのコマンドプロンプトに表示するもので今回はスプレッドシートに表示する。
今回使うのはpyhtonから得たデータをだれでもアクセスできるスプレッドシートに格納する。
そのためには長きにわたる設定を行う必要がある。
●使うコード
要領がでかすぎたので研究室googleDriveの[学生>江崎>>]にコード集.zipがあるよ。
そのコード集をダウンロードして解凍したら、さっきの設定で保存した秘密鍵をこのフォルダに入れておく。
そしたら下準備としてprocessing_data.pyをエディタを使って開き、40行目のSPREADSHEET_KEYを変更する。
ここでのキーとはさっきの設定でつくったスプレッドシートのURLの一部である。
URLの/d/この部分/edit~
ここまでできたらラズパイとPCをつなげ、カメラから取得したデータを書き起こす。
アルディーノと連結したラズパイを電源につないでPCとリモート接続する。
●カメラ画像の書き起こしに使うコード
#ref(): File not found: "newsensa_all_name.py" at page "センサとマイコン(Arduino, Raspberry Pi)による行動分類"
まずこのコードを書き換える必要がある。
PC側でスプリクトエディタを開き、[公開>ウェブアプリケーションとして導入]し、
Project version > new
Execute the app as > Me
who has access to the app > Anyone
にする
更新するとURLが製造されるのでそのアドレスをコピーし、コードの103行目のURLを書き換える。
そしてコードをラズパイで実行する。
これはアルディーノのセンサデータとカメラ画像を5秒ごとに表示している。これを30回繰り返すとスプレッドシートに表示される。
詳しく見てみるとたしかにペットボトルの情報が書き起こされている。
スプレッドシートにシート2を用意し、PCで[processing_data.py]を実行するとデンドログラム(初期)が表示される。
本来は音声で項目を入れる予定でしたがマイクの性能がいまいちで手入力しました。
あと本日はGPSセンサが上手く働きませんでした
今後…
デンドログラムの項目を増やす。
項目足りない、わかりづらいとこあったらいってください。
質問あんまりないと思うので感想お願いします
今回の技術資料とは無関係~
⇒補足
センサとArduino間の動作確認
ゼミやで
できたら完了このあとにスプレッドシート云々新規つくってツールのスプリクトエディタであれ書いてAPIの有効とかアドレスとかあのサイトのあれこれ書く。
サービスアカウントのキーをJSONにしておく。ダウンロードしたキーの名前を同じファイルに入れてclient_secretにして
スプレッドシートのURLのd/ここ/editの部分をprocessing_data.pyの40行目のスプレッドシートキーに入れる。
7/2 画像持ってくるとこの説明、ファイルじゃなくてフォルダ