プロジェクト型演習 webサーバ側 (環境構築)

# 準備
### Pythonのバージョン変更
RaspberryPiのPythonのデフォルトは2系なので、シンボリックを3系に変更

```
pi@raspberrypi:~ $ python --version
Python 2.7.16
pi@raspberrypi:~ $ cd /usr/bin
pi@raspberrypi:/usr/bin $ sudo unlink python
pi@raspberrypi:/usr/bin $ sudo ln -s python3 python
pi@raspberrypi:/usr/bin $ cd ~
pi@raspberrypi:~ $ python --version
Python 3.7.3
```
### Gmailの設定変更
>1. 自分のGoogleアカウント管理画面を開く
> ![スクリーンショット 2021-06-09 21.34.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/fabc178f-7203-39b1-54c1-adb00905642f.png)
>1. セキュリティを選択する
> ![スクリーンショット 2021-06-09 21.35.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/59a2c9e6-560c-d395-8e73-0c645503eec8.png)
>1. 安全性の低いアプリのアクセスを有効にする
> ![スクリーンショット 2021-06-09 21.35.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/7ebeee74-bb89-104a-442b-335cb357fc01.png)



# インストール
## php
```
pi@raspberry:~ $ sudo apt install php php php-cli php-curl
pi@raspberry:~ $ sudo a2enmod userdir
pi@raspberry:~ $ sudo systemctl restart apache2
```

## MariaDB
```
pi@raspberry:~ $ sudo apt-get install mariadb-server-10.0
```

## python
```
pi@raspberry:~ $ pip install mysql-connector-python
pi@raspberry:~ $ pip install mysqlclient
```

## ソースコード
全ソースはGitHubのリポジトリにアップしているのでcloneする

```
pi@raspberry:~ $ cd /var/www/html
pi@raspberry:/var/www/html $ git clone https://github.com/kawanishi291/proen
pi@raspberry:/var/www/html $ cd ~
pi@raspberry:~ $ git clone https://github.com/kawanishi291/proen2021
```

# 初回準備
DBのユーザ登録やテーブル作成、初期データインサートなどを行うシェルスクリプトを実行

```
pi@raspberry:~ $ cd ./proen2021
pi@raspberry:~/proen2021 $ chmod 777 setup.sh
pi@raspberry:~/proen2021 $ ./setup.sh
Enter password: raspberry
初期セットアップ実行開始
DBユーザ作成完了
DBテーブル作成完了
テキストファイル作成完了
ファイル権限変更完了
Cコンパイル完了
mail送信設定完了
送信元アドレス： 自分のgmailアドレス
送信先アドレス： 送信したい相手のgmailアドレス
パスワード： 自分のGoogleアカウントのパスワード
```
この画面表示ならおけ。
> [TOPページの確認](http://raspberrypi/proen/index.php)

# 実行

### RaspberryPi側

```
pi@raspberry:~/proen2021 $ ./RS232C_raspberry_pi
fb = 3

```

### em board側
rs232c.mtpjをCS+で実行

# 結果

```
pi@raspberry:~/proen2021 $ ./RS232C_raspberry_pi
fb = 3

s
0
0 
2 
, 
0  
1 
3
, 
0 
3
3 
, 
0  
0
8
, 
0 
1
0
True
DBインサート処理完了
mail送信処理完了

```
現在の日付時刻のデータが増え、送信先のアドレスにメールが届いていれば成功
> + [TOPページの確認](http://raspberrypi/proen/index.php)
![スクリーンショット 2021-06-06 1.16.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/f5c12ff1-51d6-3e49-19d8-d0d9c9e84cc0.png)
> + [カレンダーページの確認](http://raspberrypi/proen/calendar.php)
![スクリーンショット 2021-06-06 1.16.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/3a64ebda-a331-940e-fd81-41b14042f0b2.png)
> + [グラフページの確認](http://raspberrypi/proen/graph.php)
![スクリーンショット 2021-06-06 1.16.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/441bc967-ea73-15ea-9f4c-2a766d0bf5e0.png)
> + 送信先の受信メールを確認
![スクリーンショット 2021-06-09 21.38.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1115711/c14cd6d3-51dd-de29-38d1-0b6332bbb930.png)

## 参考
+ [Raspberry Pi Python3系に変更する方法](https://www.ingenious.jp/articles/howto/raspberry-pi-howto/python-3-change/)
+ [RaspberryPiで自動同報メール発送機をつくるよ！](https://note.com/rasen/n/n1c83449593a9)