IoT
※この方法はGoogle Driveを使った方法です.

0. 目次 

1. 目標 

カメラ,マイク,GPS受信機セット(緯度、経度、海抜高度),温湿度気圧センサー,照度センサー,赤外線焦度センサー,9軸センサーモジュール(加速度xyz、角速度xyz、磁気コンパスxyz),体温センサー,心拍,GSRセンサー(皮膚電気反射)のデータを取得する.ただし,カメラ画像とマイク音声はテキストでも取得する.
取得したデータに対してリアルタイムでクラスター分析をすることで,行動識別を行えるようにする.

2. センサ,ブレッドボード,Arduino間の接続 

センサ 

センサとブレッドボード間の接続 

  1. 基盤の組み立て
    9軸・GPS・温湿度気圧のセンサーははんだ付けが必要.
    handa.jpg
    handa2.jpg
  1. 配線
    各参考サイトに配線の仕方が書いてある.すべて組み合わせた配線が下の画像である.
    kairo.PNG
    kairo2.jpg

装置組み立て 

ラズパイにGPSセンサとマイクを取り付ける。

kairo3.jpg

3. Raspberry Piの設定 

ラズパイの初期設定 

ここからOSがWindowsの場合で紹介します。インストールするものも全部for Windows
Raspberry Piの始め方

 PC操作のための設定 

再起動後 ターミナルでifconfigと入力して無線LANのIPアドレスを確認する
IPアドレスを確認することで、他のパソコンからSSH接続することができる

4. Arduinoの設定 

Arduinoをダウンロード 

https://www.arduino.cc/en/Main/Software
よりArduinoIDEをダウンロードしておく。(情報実験で持たされる。)

書き込み後、シリアルモニタで表示するとセンサのデータが,で区切られて表示される。
左から
気温、湿度、気圧、光、
人感(1か0)、x加速度、y加速度、z加速度、x軸ジャイロ、y軸ジャイロ、z軸ジャイロ、x軸地磁気、y軸地磁気、z軸地磁気、体温、心拍、GSRセンサ

12.PNG

5. ラズパイでデータ取得 

GPS単体の場合 ラズパイでGPSデータを取得 

カメラと音声単体の場合 カメラと音声 

6.Raspberry Pi と Auduino の連結 

Auduinoとラズパイを連結して情報を得る

40.PNG

ラズパイ、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

・プログラム修正点

19.PNG
20.PNG

server2.pyの133行目、sensaK.pyの42行目の下線のIPアドレスを自身のパソコンのIPに変更する。
PC側でserver2.pyがうまく軌道できたら
[available to connect: 192.168.0.205](ここは自分のIPアドレス)の文字が表示されるのですぐラズパイの方でsensaK.pyを起動する。
上手くいけばラズパイもPCにもAuduinoで取得したデータ(数値)が表示され、ラズパイ側にはカメラ画像、PC側にセンサのグラフがリアルタイムで更新される。

41.png

7.スプレッドシート書き起こし 

リアルタイムでの情報取得できたらカメラ画像を収得する。画像ではなく画像に映っている情報を文字に起こして羅列しどこにいるのか、何をしているか判断することができる
6.で説明したカメラの使い方は取得データをPCのコマンドプロンプトに表示するもので今回はスプレッドシートに表示する。

22.PNG

下準備 

今回使うのはpyhtonから得たデータをだれでもアクセスできるスプレッドシートに格納する。

そのためには長きにわたる設定を行う必要がある。

●使うコード
要領がでかすぎたので研究室googleDriveの[学生>江崎>>]にコード集.zipがあるよ。
そのコード集をダウンロードして解凍したら、さっきの設定で保存した秘密鍵をこのフォルダに入れておく。

そしたら下準備としてprocessing_data.pyをエディタを使って開き、40行目のSPREADSHEET_KEYを変更する。
ここでのキーとはさっきの設定でつくったスプレッドシートのURLの一部である。

31.PNG

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
にする

36.PNG

更新するとURLが製造されるのでそのアドレスをコピーし、コードの103行目のURLを書き換える。
そしてコードをラズパイで実行する。

34.PNG

これはアルディーノのセンサデータとカメラ画像を5秒ごとに表示している。これを30回繰り返すとスプレッドシートに表示される。

22.PNG

詳しく見てみるとたしかにペットボトルの情報が書き起こされている。

33.PNG
35.PNG

デンドログラム表示 

スプレッドシートにシート2を用意し、PCで[processing_data.py]を実行するとデンドログラム(初期)が表示される。

39.PNG

本来は音声で項目を入れる予定でしたがマイクの性能がいまいちで手入力しました。
あと本日はGPSセンサが上手く働きませんでした
今後…
デンドログラムの項目を増やす。
項目足りない、わかりづらいとこあったらいってください。
質問あんまりないと思うので感想お願いします

補足 

今回の技術資料とは無関係
補足
センサとArduino間の動作確認
ゼミやで

できたら完了このあとにスプレッドシート云々新規つくってツールのスプリクトエディタであれ書いてAPIの有効とかアドレスとかあのサイトのあれこれ書く。
サービスアカウントのキーをJSONにしておく。ダウンロードしたキーの名前を同じファイルに入れてclient_secretにして
スプレッドシートのURLのd/ここ/editの部分をprocessing_data.pyの40行目のスプレッドシートキーに入れる。
7/2 画像持ってくるとこの説明、ファイルじゃなくてフォルダ


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