1.MySQLを使う
※ 注意 MySQLの導入を先にしておいてください。(1)MySQLを使用する理由
|
RaspberryPiで遠隔監視装置を作成するにあたり、RaspberryPiの情報処理をpythonで行うが
現状を示す情報と、蓄積情報の2種類をホームページからWebブラウザで見れるようにしたいと考えている。 ホームページを作成するには条件を付けた表示をさせたいので、HTMLにJAVAスクリプトまたはPHPを使用する予定。 そこでpythonからJAVAスクリプトまたはPHPにデータを渡す必要がある。 直接渡す方法としてはFlaskと言うpythonモジュールを使用する方法がある。 しかし蓄積データの記録先としてMySQLを使用することは決めており、現状を示す情報もMySQLを使用しデータの受渡をすれば、 プログラムを簡単にすることが出来るだろうと言うことで全てをMySQL経由で行うことで進める。 ただし現状のデータで 約10秒間隔のデータ記録が必要となる。このデータの受渡に支障が無いか確認していく。 なお以下紹介ページは MySQL のページ https://dev.mysql.com/ 以下へリンクしています。 MySQLについて や MySQLの歴史 MySQL8.0のリファレンス も参照ください。 |
(2)データベース用語
|
データベースの構造には『テーブル』『カラム』『レコード』『フィールド』が有る。 マイクロソフトのエクセルと比較すると簡単に説明が出来る。 テーブル エクセルなどで言う シート に該当するのが テーブル です。 カラム エクセルなどで言う 列 に該当するのが カラム です。 レコード エクセルなどで言う 行 に該当するのが レコード です。 フィールド エクセルなどで言う セル に該当するのが フィールドです。 |
(3)扱うデータ構造
|
遠隔監視装置に使用するデータとして『現状を示すデータ』『蓄積データ』の2種類のデータが有る。 現状を示すデータ
|
(4)データベースの操作アプリ
データベースの作成方法は『 PHP My Admin 』を使用する。使用するにはWebブラウザに http://192.168.10.114/phpmyadmin/ と入力して実行すると右図の様な PHP My Admin ページが表示される。 ログインすると下の様な図になる。
|
2.データベースの作成
設定は1項で説明したデータベースの操作アプリ『 PHP My Admin 』を使用する。また各登録は1例だけを記載する
(1)ユーザ登録
|
ユーザ登録には下記情報を登録します。
登録するユーザ名は仮に『RasPyt』と『PasJav』にします。 またこの2件のユーザはデータベース権限として全てのデータ追加・変更等の権限を持つことにする。 下図のように『ユーザアカウント』のタブを選択し『ユーザアカウントを追加する』 ![]() 下図のように『ログイン情報』を入力する。 入力が終われば下の項目『ユーザアカウント専用データベース』の画面を通過し下の項目『グローバル特権』へ移動させる。 ![]() 下の項目『グローバル特権』で『□データ』の項目全部にチェックを入れ一番右下に表示されている『実行』を左クリックする。 ![]() 実行するとコンソールから入力した場合の文が表示される。 内容は下記のとおり。 CREATE USER 'Raspyt'@'%' IDENTIFIED VIA mysql_native_password USING '***';GRANT SELECT, INSERT, UPDATE, DELETE, FILE ON *.* TO 'Raspyt'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; ![]() 全てのユーザを入力し『ユーザアカウント』のタブを選択すると下記の様に2件のユーザが追加された事が判る。 ![]() |
(2)データベース作成
|
仮のデータベース名を『SolarPwdb』とする。 下図の赤枠の部分にデータベース名を入力し、『作成』を実行する。 ![]() 初めてデータベースを作成したので、このデータベースにはテーブルが無いとメッセージが出る。 ![]() 次にテーブルを作成していく。 |
(3)テーブル作成
テーブル名 soltbtp カラム数は37
![]() テーブル名を登録『実行』すると下図の画面になり各カラムの設定が始まります。 ※カラム数を 52 とした場合は下記のメッセージが出てるので、52以降をカラムの追加で処理するかコマンドラインでテーブルの作成やカラムの設定を行う必要がある。 ![]() |
(4)自動処理カラムの設定
|
このテーブルの レコード には INSERT 時に自動的に処理したい カラム が2つあります。 それは『No』と『時刻』です。 No ![]() カラム名 tpno を入力しデータ型については ①からメニューが表示されます。 ②の SMALLINT を選択、長さは 4 を入力します。 自動的に数値を1つ加算したいので、マウスを③のA_I下□をチェックするとインデックス欄が『PRIMARY』になります。 時刻 カラム名 tpda を入力しデータ型については DATETIME とします。 ![]() |
(5)その他のカラム設定
|
その他のカラムは数値データと有り無しのフラグを示すものです。 数値データのデータ型は DECIMAL フラグのデータ型は BIT を使用します。 ![]() 登録が終われば『保存する』で次の画面で作成したテーブルの全レコードが表示される。 違っていれば 変更 で対象のレコードを変更できる。 ![]() |
3.データ型
データ型には
数値型だけ下記に概要を記載します。 |
(1)整数型
UNSIGNED 符号有り(tpno SMALLINT)・無し(tpno SMALLINT UNSIGNED) ZEROFILL 値が無い左側に0を表示 (tpno SMALLINT ZEROFILL) 0表示させた場合は自動的に符号無しになります。 |
(2)少数点型
符号有りになっている。
|
(3)ビット値型
|

データベースの作成方法は『 PHP My Admin 』を使用する。












