カメラ,マイク,GPS受信機セット(緯度、経度、海抜高度),温湿度気圧センサー,照度センサー,赤外線焦度センサー,9軸センサーモジュール(加速度xyz、角速度xyz、磁気コンパスxyz),体温センサー,心拍,GSRセンサー(皮膚電気反射)のデータを取得する.ただし,カメラ画像とマイク音声はテキストでも取得する.
raspberrypi(3がおすすめ)
Arduino
ブレッドボード
抵抗(10kΩ)×3、GPS用丸電池、ケーブル、SDカード、ボードとArduinoを固定する板など、~
#ref(): File not found: "hikari.ino" at page "AD1"
#ref(): File not found: "BMX055_20180510.ino" at page "AD1"
#ref(): File not found: "14.PNG" at page "AD1"
#ref(): File not found: "4.jpg" at page "AD1"
#ref(): File not found: "5.jpg" at page "AD1"
#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"
ここからOSがWindowsの場合で紹介します。インストールするものも全部for Windows
Raspberry Piの始め方
再起動後 ターミナルでifconfigと入力して無線LANのIPアドレスを確認する
IPアドレスを確認することで、他のパソコンからSSH接続することができる
https://www.arduino.cc/en/Main/Software
よりArduinoIDEをダウンロードしておく。(情報実験で持たされる。)
#ref(): File not found: "app1.ino" at page "AD1"
上記で作ったArduinoとPCをつなげてこのプログラムを起動する。シリアルポートをCOM4にしておくとよい#ref(): File not found: "AllSerialHandling.ino" at page "AD1"
#ref(): File not found: "Interrupt.ino" at page "AD1"
#ref(): File not found: "12.PNG" at page "AD1"
・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 カメラで画像認識
カメラの使い方
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の値を無くす、
できたら完了