́艸`*)個人でも簡単にできるようになりました。水耕栽培もラズパイでIoT化できます。́罒`*)ニヒヒ今回は温度データを”見える化”したいと思います。植物の栽培にとって温度は大事ですもんね。ラズパイへの導入方法からサンプルプログラムまで細かくご紹介しますよー(ง°̀ロ°́)งどんなものを作ろう?こんな感じでつくります!これから作るもの。日中・日々の変化が見れるようにする。パソコン・スマホから表示できる。ラズパイだけで完結するものにする。外のサーバーへつなぐのは外部サービスに左右されちゃいます。温度データって今の温度じゃなくて変化が重要ですよね。そのとき調べたい日中の変化だったり、1週間の変化だったり、月の変化だったり。いうことで、Day(1日前からの変化)、Week(1週間の変化)、1ヶ月の変化(28日分の変化)のグラフを切り替えて表示できるようにしました。プルダウンメニューから変化させます。完成するとこんな感じで表示されますこれから色々インストールしたり、コーディングしたりして機能を実装していきます。その前にどんなものができるのか気になりますよね?サンプル画面はこんな感じになります(〃’ω’)1週間と1ヶ月の変化は、1日単位で表示させるのでmin/ave/maxを表示できるようにしました。※サンプル画像は古いデータがないので1週間分のデータは表示されていません。Chartsを使って表示させます。Chartsで表示させます。いろんなチャートが無料で利用できちゃいます。PHPでの表示も考えたのですが、今回は不採用にしちゃいました。なんでPHPのグラフ表示機能は使わないの?PHPはサーバーサイドなのでグラフの描画がサーバー側で完結してしまう。クライアント側での描画変更ができない。PHPのグラフ描画ライブラリはあんまりおしゃれじゃない。(個人の感想です)PHPのグラフ描画ライブラリに比べてJavaScriptでは無料でおしゃれなものが多い。(個人の感想です)データの保存にはMySQLを使います。過去のデータを表示させようとするとデータベースにデータを保存させて置く必要があります。データ処理には高速でデータ処理ができるリレーショナルデータベースが良いですよね。今回は無料で使えるMySQLを使います。温度センサーは秋月でDIP化しているHDC1000を使います。温度センサーはなんでも良いと思います。今回は手元にあったHDC1000を使いました。HDC1000はI2Cでアクセスできるし、DIP化されているのでラズパイで簡単に制御できます。水耕栽培だと水の温度も重要なはずなので今後は違うセンサーも足すかもしれません。いくつかのSpepに分けてみました。MySQLがどんなものか確認。温度センサーからMySQLにデータ登録。ラズパイをサーバーにします。実際にグラフを描画しましょう。MySQLのインストールまずはMySQLをラズパイにインストールをしましょう。動作確認もデモしています。温度センサーのデータをMySQLに登録しよう。温度センサーHDC1000で取得した温度データをMYSQLに登録できるようにします。ラズパイからHDC1000のデータを取得できるようにして、そのあとMySQLに登録する方法をご紹介します。I2Cで制御できるようにラズパイを設定ラズパイはデフォルトではI2Cを制御できないんです。I2Cでアクセスできるようにしましょう。Piで温度と湿度を取得する!HDC1000用のプログラムつき!温度センサーのデータをMySQLに登録できるようにする次に温度センサーのデータをMySQLに登録します。C++で温度センサーのプログラムを実装し、コマンド実行のスケジュール管理ができるcrontabで定期的にプログラムを実行しましょう。温度データを取得してMySQLに保存しよう。サーバーの設定をしよう。Apache/PHPの準備ラズパイをサーバーとして動かすためにはApacheをインストールする必要があります。今回はラズパイのMySQLに登録されたデータのやりとりにPHPを使うのでPHPもインストールしましょう。PHPのインストール方法をご紹介します。ラズパイにApacheサーバーを入れてPHPのプログラムを動かそう。PHPからMySQLにアクセスするためのライブラリのインストールPHPをインストールしただけではMySQLにアクセスするためのクラス”PDO”がインストールされていません。インストール方法をご紹介します。PHPからMySQLにPDOクラスでアクセスするための準備。Chartsを呼び出してグラフを描画します。グラフの元となるデータはPHP経由でMySQLから取得するのでその方法についてご紹介します。JavaScriptからPHPを呼んでみましょう。JavaScriptからPHPを呼んで、そこからさらにMySQLのデータを取得して。なると理解が追いつきにくいです。いうことでまずは実験的にJavaScriptからPHPを呼んで簡単なグラフを描画して見ましょう。MySQLは使いません。JavaScriptからPHP経由でMySQLのデータを表示。formatを使います。JavaScriptからPHPに設定情報を渡すには?先ほどの設定でJavaScriptからPHPを呼び出し、リスポンスを受け取ることができました。PHPを呼び出すだけじゃなく設定値を渡したいですよね。グラフに表示させるのを日・週間・月にするのか、温度を表示するのか湿度を表示するのか。いうことでJavaScriptからPHPにどうやって設定を引き渡すかをご紹介します。JavaScriptからPHPにクエリ情報を渡す方法は?ラズパイで試しました。完成!JavaScriptからPHP経由でMySQLのデータを表示!全部の準備ができたのでこのステップで完成です。MySQLの温度データを表示しようおわりにラズパイを使えば簡単に自宅でIoTを導入できることがデモできました。記事を読んでいただいてありがとうございます。この記事がいいなと思ったら下記のSNSボタンのクリックをお願いします。【自作IoT】自作のECメーターをIoT化で見える化します。【完全自作】ECメーターを自作しよう。回路とプログラムを詳しく解説。ADコンバーターMCP3004をラズパイで動かそう。WiringPiを使います。ADCを2chで動かして自作のEC計を作ってみよう。電気分解対策!自作のEC計の回路変更。PV数ランキング【お手軽自作】ちょっと自作したい人におすすめ。LED照明の自作方法。(23,794pv)マイナス電源の簡単な作り方は?自作回路を作って検証してみました。Piで制御できるACコンセント。(16,924pv)簡単にできる自動給水の方法はある?3つの水耕栽培器への給水方法。(13,619pv)JavaScriptからPHP経由でMySQLのデータを表示。formatを使います。(28)ブログ村に参加しています。ブログランキングに参加しています。自宅で野菜を水耕栽培。