【農業データロガー】ハウスの温湿度をwifiで管理する

スポンサーリンク

ハウスの温度や湿度、気圧などのデータをパソコンやスマホで管理するまでの手順をセンサーの選び方やシステムとして仕上げるまでを記録してみようと思います。

arduinoとSDcardを使って温度や湿度、気圧などを記録してそのデータをエクセルに取り込む過去記事はこちらです。

今度はそのデータをwifiで飛ばしてパソコンで管理してみようということですが…うまくいくかな?

スポンサーリンク

ESP32

今度のシステムのコアとなるのがESP-WROOM-32です。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..ESP32今度のシステムのコアとなるのがESP-WROOM-32です。..

この製品は、Espressif Systems社のESP32というチップを搭載したWi-Fi通信やBluetooth(BLE)通信が可能なWi-Fiモジュールで、小さいサイズながらもArduinoのプログラムを書き込める(Arduinoとしても利用出来る)、Wi-Fi通信が可能、そして安価というメリットを持っています。

カズはarduinoを利用して、ミニ ハウス菜園の管理をしていますが、ESP-WROOM-32の開発版が出たので,このチップをarduinoとして使いながら、wifiで飛ばしパソコンやスマホで管理してみたいと思います。

ESP32を搭載したボードはいろいろあるようですが、2019年の最新バージョンV4を搭載したESP32 DevKitC V4 ESP-WROOM-32 を使いました。

この製品は、waves社が提供しているもので、日本国内の技適を取得していますので電波法に抵触することもなく安心して使えます。

また、この製品はデユアルコアを搭載しています。デユアルコアは2つの(デュアル)コアを持ち、それぞれのコアで同じ計算を行い、計算結果が同じならば実行される優れもので、安全性が要求される車の自動運転技術で用いられる核とされています。

arduino IDEでESP-32を動かすには

esp32に書き込んだりプログラム(スケッチ)するにはarduinoIDE(Integrated Development Environment:統合開発環境)というソフトを使いますが、このままでは動作させることが出来ません。

arduinoIDEでesp32(ESP-WROOM-32)を動作させるにはArduino IDEにESP32のボードを追加する必要があります。

ボードの追加にはZIPファイルをダウンロードして追加する方法もありますが、比較的簡単で確実なarduinoIDEを使って追加してみました。

arduino IDEをインストールする

パソコンにarduino IDEをインストールしていなければarduino.ccからダウンロードします。

Windowsでインストーラーを使う場合を例にしています。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..arduino.ccからダウンロードします。Windowsでインストーラーを使う場合を例にしています。..

次にJUST DOWNLOADをクリックしてファイルをダウンロード、インストールします。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..次にJUST DOWNLOADをクリックしてファイルをダウンロード、インストールします。..

Arduino IDEにESP32のボードを追加する

先ず、arduino IDEを起動します。

次にファイル→環境設定と進みます。

環境設定が開いたところでここをクリックし、arduino-esp32を開きます。

ページの中程にあるInstructions for Boards Managerをクリックします。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..ここをクリックし、arduino-esp32を開きます。ページの中程にあるInstructions for Boards Managerをクリックします。..

ページ下部にあるhttps://dl.espressif.com/dl/package_esp32_index.jsonをコピーします。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..ページ下部にあるhttps://dl.espressif.com/dl/package_esp32_index.jsonをコピーします。..

次に、arduino IDE 環境設定に戻り、先程コピーしたアドレスを追加のボードマネージャのURL欄に貼り付けます。

この場合、コピペでは張り付け出来ない場合にはctrl+Vで貼り付けします。

また、既に追加のボードがあればカンマで区切って貼り付けします。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..また、既に追加のボードがあればカンマで区切って貼り付けします。..

張り付けしたらOKで環境設定を閉じます。

次に、ツール  →  ボード:***** → ボードマネージャを開きます。

ボードマネージャが開いたら右のバーを一番下まで下げます。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..ボードマネージャが開いたら右のバーを一番下まで下げます。..

esp32 by espressif Systems を選択し、インストールします。

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..esp32 by espressif Systems を選択し、インストールします。..

インストールが終わったら、もう一度ツール → ボードに進み、今度はボード一覧の中からESP32 Dev Moduleを選択します。

これで、arduinoIDEからesp32デバイスへの書き込みが出来るようになりました。

① esp32でSDカードに書き込む

早速esp32からSDcardに書き込みをしてみることにします。

SDカードに書き込む内容は裏庭ハウスの温度、湿度、水耕栽培の養液温度、気圧、日照など栽培管理の基礎データですが、先ずは書き込みテストです。

esp32はarduinoと同じように使えるということですが、少し違うところもありましたので、こちらにそれをまとめてみました。

① esp32でSDカードに書き込む

② SDカード 書き込みと読み込み

① esp32でSDカードに書き込む実験はうまくいきました。そこで、次に、SDカードのdata1.txtに書き込んだ内容を読み込んで同じSDカードのdata2.txtに読み込んだ内容を書き込んでみることにします。

確実に読み込んで確実に書き込みしたことを確かめるために、data1.txtには通し番号と”test kakikomi ok !”と1秒おきに書き込みします。

1 : test kakikomi ok !

このような感じです。

これを読み込んでdata2.txtに同じ内容を書き込みます。

書き込みが終わったらdata1.txtを削除して新たに作成されたdata1.txtファイルに、今度は

2 :test kakikomi ok !

と書き込みます。

これを読み込んでdata2.txtに同じ内容を書き込みます。

これを繰り返してみました。

② esp32 SDカード 書き込みと読み込み

③ esp32でRTCを使う

SDcardへの書き込みと読み込みが出来るようになったのでRTC(リアルタイムクロック)をesp32で動かしてみます。

RTCモジュールはこれを使いました。

DS3231のチップを使っている商品ならカズのサンプルスケッチが動くと思います。

年間誤差1分ということですが、1年程使った感じでもその程度です。

何か支障があればNTPサーバー NTP(Network Time Protocol)を使って時刻自動補正ってことも出来るようですが、気にする程の誤差ではありませんね。

また、充電式リチウムイオン電池をセットしておけば本体の電源を切っても時計機能は稼動を続けます。

リチウムイオン電池はLIR2032を使っています。

何でも、充電せずにRTCモジュールを動かしても20年持つらしい…です。

確かに腕時計用の小さいリチウムイオン電池でも3年程は持つので容量からすればそのような計算になるのでしょうね。

直径は10円玉ぐらいありますから….

RTCスケッチ

『 【農業データロガー】ハウスの温湿度をwifiで管理する 』 ..RTCスケッチ..

スケッチはライブラリをインクルードしてサンプルスケッチを書き込むだけですのでとても簡単ですよ。

esp32(esp-wroom-32)でRTCを使ってみた…….こちらの記事です。