北田?

技術資料

準備するもの 

マイコン類 

Raspberry Pi Zero WH

1.PNG

Arduino nano

2.PNG

センサ類 

温湿気圧センサ

#ref(): File not found: "3.PNG" at page "専門ゼミ 北田"

照度センサ

4.PNG

9軸センサ

5.PNG

体温センサ

#ref(): File not found: "6.PNG" at page "専門ゼミ 北田"

GSRセンサ

7.PNG

心拍センサ

8.PNG

その他:Respeaker 2-mics pi hat, microHDMIケーブル, モバイルバッテリーとmicro USB-typeb, ArduinoとRaspberry Piをつなぐケーブル(microUSB-typeb to miniUSB-typeb), ブレッドボード, イヤホン

Raspberry Pi Zeroの初期設定 

Raspberry Pi Zero WHでも下記の通りに初期設定をすることができます.

  1. SDカードとアダプターを用意し,PCに挿入する.
  2. balenaEtcherのインストール
    参考サイト:Etcher公式
    https://www.balena.io/etcher/
    参考サイトからEtcherをインストールする.
    インストールしたらZIPファイルを展開しておく.
  3. Raspbianのインストール
    参考サイト:Download Raspbian for Raspberrypi
    参考サイトからRaspbianをダウンロードする.
    サイト内の「Raspberry Pi OS with desktop and recommended software」のZIPファイルをダウンロードする.
  4. Etcherを使ってラズパイ用のOSをSDカードに書き込む
    Etcherを起動すると、ウィンドウが表示され、まずSelect image をクリック、ダウンロードしたRaspbianのimgファイルを選択する。
    書き込むSDカードが自動的に選択される。
    Flashをクリックすると書き込みが始まる。
  5. ラズパイでの初期設定

もし特定のwifiにしか接続できない場合は以下を確認する。

1, LANや無線LAN等のインタフェースの設定ファイル

/etc/network/interfaces

2, 無線LANのSSIDやパスフレーズを設定するファイル

/etc/wpa_supplicant/wpa_supplicant.conf

3, IPアドレスの設定ファイル

/etc/dhcpcd.conf

以上のファイルの中身を書き換えることで、直すことができる。

以下でパソコンでの遠隔操作ができるようにする。

Raspberry Piのpython 

まずはコンパイルに必要になるライブラリをインストールします。(python3.7.2の場合)

   $ sudo apt update
   $ sudo apt upgrade
   $ sudo apt install libffi-dev libssl-dev openssl

次にソースコードのダウンロード

   $ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

コンパイルしていきます。

   $ tar zxvf Python-3.7.2.tgz
   $ cd Python-3.7.2
   $ ./configure
   $ make
   $ sudo make install

エラー無くインストールできたらバージョンを確認します。

   $ python3 -V
   Python 3.7.2

続いてpipのアップデートを行います。

   $ sudo pip3 install --upgrade pip
   $ pip3 --version
   pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

python2からpython3への変更 

Raspberry Piのpythonは最初メインがpython2なので下記に従ってpython3へと変更する。
以下のコマンドを実行し、デフォルトで使用されるPythonのバージョンを確認します。

   pi@raspberrypi:~ $ python --version
   Python 2.7.16
   pi@raspberrypi:~ $

インストール直後は、以下のように、python 2.7とpython 3.7の両方のバージョンがインストールされています。

   pi@raspberrypi:/usr/bin $ ls -l | grep python
   -rwxr-xr-x 1 root root       1056 Mar  4  2019 dh_python2
   lrwxrwxrwx 1 root root         23 Oct 10  2019 pdb2.7 -> 
   ../lib/python2.7/pdb.py
   lrwxrwxrwx 1 root root         23 Jul 25 14:03 pdb3.7 -> 
   ../lib/python3.7/pdb.py
   lrwxrwxrwx 1 root root         31 Mar 26  2019 py3versions -> 
   ../share/python3/py3versions.py
   lrwxrwxrwx 1 root root          7 Mar  4  2019 python -> python2
   lrwxrwxrwx 1 root root          9 Mar  4  2019 python2 -> python2.7
   -rwxr-xr-x 1 root root    2984816 Oct 10  2019 python2.7
   lrwxrwxrwx 1 root root          9 Mar 26  2019 python3 -> python3.7
   -rwxr-xr-x 2 root root    4275580 Jul 25 14:03 python3.7
   -rwxr-xr-x 2 root root    4275580 Jul 25 14:03 python3.7m
   lrwxrwxrwx 1 root root         10 Mar 26  2019 python3m -> python3.7m
   lrwxrwxrwx 1 root root         29 Mar  4  2019 pyversions -> 
   ../share/python/pyversions.py

上記の実行結果からデフォルトで使用されるPythonは、Python 2.7へのシンボリックになっています。デフォルトで使用するPythonをPython 3.7に切り替えるには、このシンボリックリンクをPython 3.7へのシンボリックリンクに変更します。
以下のコマンドを実行し、現在のPythonのシンボリックを削除します。

   pi@raspberrypi:~ $ cd /usr/bin
   pi@raspberrypi:/usr/bin $ sudo unlink python

以下のコマンドを実行し、Python3.7へのシンボリックリンクを作成します。

   pi@raspberrypi:~ $ cd /usr/bin
   pi@raspberrypi:/usr/bin $ sudo ln -s python3 python

Python 3.7へのシンボリックリンクが作成されていることを確認します。

   pi@raspberrypi:/usr/bin $ ls -l | grep python
   -rwxr-xr-x 1 root root       1056 Mar  4  2019 dh_python2
   lrwxrwxrwx 1 root root         23 Oct 10  2019 pdb2.7 -> 
   ../lib/python2.7/pdb.py
   lrwxrwxrwx 1 root root         23 Jul 25 14:03 pdb3.7 -> 
   ../lib/python3.7/pdb.py
   lrwxrwxrwx 1 root root         31 Mar 26  2019 py3versions -> 
   ../share/python3/py3versions.py
   lrwxrwxrwx 1 root root          7 Oct 30 03:10 python -> python3     <-- ※ 
   作成したシンボリックリンク
   lrwxrwxrwx 1 root root          9 Mar  4  2019 python2 -> python2.7
   -rwxr-xr-x 1 root root    2984816 Oct 10  2019 python2.7
   lrwxrwxrwx 1 root root          9 Mar 26  2019 python3 -> python3.7
   -rwxr-xr-x 2 root root    4275580 Jul 25 14:03 python3.7
   -rwxr-xr-x 2 root root    4275580 Jul 25 14:03 python3.7m
   lrwxrwxrwx 1 root root         10 Mar 26  2019 python3m -> python3.7m
   lrwxrwxrwx 1 root root         29 Mar  4  2019 pyversions -> 
   ../share/python/pyversions.py

デフォルトで使用されるPythonのバージョンがPython 3.7に変更されていることを確認します。

   pi@raspberrypi:~ $ python --version
   Python 3.7.3

以上で終了です。

必要なプログラム 

下記のプログラムを全てダウンロードする。

サーバ上に置くプログラム 

#ref(): File not found: "processing_data_server2.py" at page "専門ゼミ 北田"

#ref(): File not found: "stress_decision_tree.py" at page "専門ゼミ 北田"

Raspberry Pi用プログラム 

#ref(): File not found: "sendata.py" at page "専門ゼミ 北田"

csv,xlsx関連ファイル(これもサーバに置いとく) 

Arduino初期設定 

Arduino配線 

Arduinoの配線図を描けるフリーソフトがなかったので表にしました。
見にくくてすいませんorz
温湿度気圧センサ(左側がArduino nanoのピン名称、右側がそれぞれのピン名称,はんだづけあり)

SDA-A4SCL-A5GND-GNDVIN-5V

9軸センサ(はんだづけあり)

上の一番左-5V下の左-GND下の真ん中-A4下の右-A5

照度センサ
http://jkoba.net/prototyping/arduino/cds_practice.html
体温センサ
http://naritaku.hatenablog.com/entry/2016/04/05/230649
(*アナログピンだけA0→A3、理由はほかのセンサのアナログピンがかぶるとおそらくセンサ値がバグるから)
心拍センサ

黒い線-GND赤い線-3.3V紫色の線-A0

GSRセンサ
https://wiki.seeedstudio.com/Grove-GSR_Sensor/ (*これもアナログピン被るからこれだけA0→A2に変更)

完成図(見えにくいけど)

#ref(): File not found: "thumbnail_IMG_3487.jpg" at page "専門ゼミ 北田"

Arduino IDEダウンロード 

Arduino公式サイトから最新のArduino IDEをダウンロードする。(Linux arm 32bitを選択する)
USBメモリか何かを使ってPCにダウンロードしたものをなんとかRaspberry Pi上のダウンロードフォルダ内に置く。
置いたらRaspberry Piのターミナルで

   pi@raspberrypi:~ $ cd Downloads
   pi@raspberrypi:~ $ tar xf ./arduino-1.8.16-linuxarm.tar.xz
   pi@raspberrypi:~ $ cd arduino-1.8.16/
   pi@raspberrypi:~ $ ./arduino

この4つを実行
これが終わったらRaspberry Piの左上のラズベリーのマークをクリックするとプログラミング→Arduino IDEが出来上がっていると思うのでクリックすればArduino IDEが開けるようになる(もし出てこなかった場合は、arduino-1.8.16のディレクトリ内で下記のコマンドを入力)

   sudo sh install.sh

実行するとそのようなディレクトリは存在しないみたいなことを言われるが、左上のラズパイのマークを押してプログラミングを開けばできているはず

Arduinoシリアルポート設定 

Arduino IDEを開いて、ツール>ボードからArduino nano
プロセッサでATmega328P(Old Bootloader)を選択
この2つが正しく設定されるとシリアルポートが表示される。

Arduino用プログラム 

#ref(): File not found: "app2.ino" at page "専門ゼミ 北田"

#ref(): File not found: "app4.ino" at page "専門ゼミ 北田"

#ref(): File not found: "Interrupt.ino" at page "専門ゼミ 北田"

Interruptはapp2のフォルダの中に入れて置き開かない。
app2の内容をコンパイルしてArduino IDEの左上のマークからArduino nanoに書き込む。ここでうまく書き込めればOK

Arduino書き込み時エラー 

大体上記の書き込みの時にエラーが出ることが多い。
まず、ツール→ブートローダに書き込むをチェックする。
エラーが出た場合ここを参照し,こっちでArduino nanoのつなぎ方を確認する。

次にincludeのファイルがないみたいなエラーが出た場合
下記のzipファイルをダウンロード

スケッチ→ライブラリをインクルードからAdafruit_BME280と検索してインストールする。
上記の2つのライブラリを追加するとエラーは解消されると思うので、再び書き込めるか確認し、書き込めたらArduino IDEの右上のシリアルモニタからbpsを合わせてセンサの値が取得されているのかを確認する。

respeaker 2-mics pi hat初期設定 

下記のURLを参考に初期設定を行う。
https://urashita.com/archives/28039

サーバ関連 

winSCPダウンロード 

winSCPはサーバ上にプログラムを置いたり,プログラムの文章を変更したい時などに見やすくて便利なものだから入れとく。
winSCPダウンロードサイト

winSCPログイン 

ホスト名:133.55.115.240
ポート番号:22
ユーザ名:raspi
パスワード:raspi
を入力すると入れる。

サーバへのログイン方法 

①コマンドプロンプトを開く
②開いたら

   ssh iie.lab.tpu@133.55.115.240

と入力してenter
③パスワードを要求されるので

   8*NJ9!$a%cKm

と入力(打った文字は見えないが入力はされている)
④これでサーバにはログインできた。次にサーバをroot権限で扱いたいので

   sudo su -

と入力してenter(もしまたパスワード入力を求められたら③のパスワードと同じものを入力する)
⑤root権限まで入れたら

   cd /var/www/html/senmonzemi〇

と入力してenter(htmlディレクトリに新しくsenmonzemi1から6のフォルダを作ったのでサーバに置くプログラムはsenmonzemi〇の直下のおいてください)
senmonzemi1→北田君
senmonzemi2→島部君
senmonzemi3→堀田君
senmonzemi4→大森君
senmonzemi5→高田君
senmonzemi6→水上君
で使ってください。

システムの一連の流れ 

①サーバにログインしてprocessing_data_server2.pyを動かす
②Raspberry Pi上のsendata.pyを動かす
③Raspberry Pi上のnewsensa_all_tkd.pyを動かす(ここでセンサデータが1024個貯まるまで待つ)
④Raspberry Pi上のgasmic_tkd_1.pyを動かしてマイク入力を行う
⑤サーバ上のprocessing_data_server.pyを動かす
⑥決定木分析を行いたい場合にはサーバ上でstress_decision_tree.pyを動かす


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