Rene_アルゴリズムとデータ構造

今回の講義の目次 

1. 今回の目標 

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

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

センサ 

raspberrypi(3がおすすめ)
Arduino
ブレッドボード 抵抗(10kΩ)×3、GPS用丸電池、ケーブル、SDカード、ボードとArduinoを固定する板など、~

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

  1. 基盤の組み立て
    9軸・GPS・温湿度気圧のセンサーははんだ付けが必要.

    #ref(): File not found: "4.jpg" at page "AD1"

    #ref(): File not found: "5.jpg" at page "AD1"

  1. 配線
    各参考サイトに配線の仕方が書いてある.すべて組み合わせた配線が下の画像である.

    #ref(): File not found: "9-2.PNG" at page "AD1"

    #ref(): File not found: "10.jpg" at page "AD1"


装置組み立て 

ラズパイにGPSセンサとマイクをぶっさす。

#ref(): File not found: "11.jpg" at page "AD1"

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をダウンロードしておく。(情報実験で持たされる。)

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

GPS 

・GPSデータをラズパイで取得
まずGPSセンサに丸電池をつけ、ラズパイと接続する。
今回使ったセンサは時刻、緯度、経度、海抜高度を取得する。

gpsp.pyを起動すると、衛星からデータを受け取れる。このGPSモジュールは、受信したGPSデーターをシリアルで送出するのでシリアル通信できるようにする必要がある
ターミナルを開き、シリアル通信を有効にする。

  sudo raspi-config

で「5 Interfacing Options」を選択、「6 Serial」を選択、「yes」、「finish」を選択、再起動(sudo reboot と入力)

  ls /dev/se*

と入力すると、/dev/serial0 /dev/serial1と表示される。
コンソールを修正するが、テキスト修正するときはターミナルからファイルを開かないと修正できない。よってターミナルで、

  sudo nano /boot/cmdline.txt

と入力して修正する。
「console=serial0,115200」の部分を削除する。

  pip install pyserial

でPythonのシリアルモジュールをインポートし、python3 と入力すると次のような表示が出る。

#ref(): File not found: "16.PNG" at page "AD1"

この青文字がデータに当たる

#ref(): File not found: "gpsp.py" at page "AD1"

#ref(): File not found: "micropyGPS.py" at page "AD1"

micropyGPS.pyは衛星信号をプログラムで扱いやすいデーターに変換するPythonライブラリーに変換するためのもので、gpsp.pyと同じファイルに入れておく。

  python3 gpsp.py

で実行する。使っているセンサは電源入れて窓付近において10分~1日放置しないと受信しない。赤いランプが点滅したら受信できている

#ref(): File not found: "17.PNG" at page "AD1"


・MAP
実行上の表記が乱れるが地図で表示可能。モジュールをまずインストールしてから行う。

  pip install folium

#ref(): File not found: "gps_getter.py" at page "AD1"

を実行すると地図が表示される。

#ref(): File not found: "18.PNG" at page "AD1"


音声 

・USBマイクで音声認識
マイクに話しかけ(英語限定)音声入力でテキスト化する。以下は単純なテキスト化

#ref(): File not found: "recmic.py" at page "AD1"

ラズパイにUSBマイクをぶっさし、音声をテキスト変換するAPIをインスト―ルする

  pip install Speechrecognition

続いてプログラムをターミナル上で実行する

   python recmic.py

実行すると「samething say」と表示されるので何か答える。

#ref(): File not found: "13.PNG" at page "AD1"


カメラ 

・rasberry pi カメラで画像認識
カメラの使い方

6.Raspberry Pi と Auduino の連結 

Auduinoとラズパイを連結して情報を得る
ラズパイ、PCで使うコード

#ref(): File not found: "sensa.py" at page "AD1"

#ref(): File not found: "server2.py" at page "AD1"

.ラズパイに入れるモジュール(他多数)

  opencv
  matplotlib
  scikit-learn
  graph-marker


・PCに入れるnltkリソース

  python 
  >>>import nltk
  >>>download('averaged_perceptron_tagger')
  >>>download('wordnet')
  >>>download('universal_tagset')

・プログラム修正点

#ref(): File not found: "19.PNG" at page "AD1"

#ref(): File not found: "20.PNG" at page "AD1"

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

補足 

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

  

0の値を無くす、
できたら完了


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