mattintosh note

田舎エンジニア物語 〜In Search of the Lost My Private Key〜

ESP-WROOM-02 で IoT 夏休み自由研究

「イベント出るから IoT っぽいこと何かやってよ」と言われたので「何か」をやることにした。

LoRa でやろうかとも思ったけど制限多いし市内にゲートウェイあんま無いから使い物にならんなってことで Wi-Fi にした。

Wi-Fi 温度計(Wi-Fi Temperature Measurement)

ESP-WROOM-02 と汎用温度センサー LM61CIZ を使った Wi-Fi 温度計。ESP-WROOM-02 の TOUT は 1 V までしか扱えないので分圧等の対応が必要だが LM61CIZ は 0 ℃が 600 mV で 1 ℃ ごとに 10 mV 増えるので 1 V になるのは 40 ℃。つまり「会場が 40 ℃ を超えなければ問題ない!」ということで手抜きで Vo をそのまま TOUT に突っ込んである。データは MQTT で飛ばして Node-RED で表示。外付けの ADC を使えばいいのだけどこの程度の装置に付けるのはちょっとね。

f:id:mattintosh4:20190729183913p:plain
ESP-WROOM-02 Wi-Fi 温度計

アンテナ部分に貼ってあるテプラはチップ ID。複数の ESP-WROOM-02 があるとどれがどのデバイスかわからなくなるので ESP.getChipId() でチップ ID を取得して MQTT のトピックとして使っている。

Wi-Fi 土壌湿度計(Wi-Fi Moisture Measurement)

市販の土壌湿度計もあるけど割高なので自作。回路は土壌の抵抗値をトランジスタで変換するだけなので単純。これも TOUT の上限 1 V までになるように分圧で調整。土壌の抵抗値は土質によるが数百オームから数メガオームくらいまで変化するので抵抗の分圧だけで測定しようと思うと難しい(湿っているか乾いているかくらいざっくりしたものならトランジスタも使わなくていいと思う)。

f:id:mattintosh4:20190729184103p:plain
ESP-WROOM-02 土壌湿度計

試作品なので縦付け抵抗とワニ口クリップを使う。0 Ω 抵抗は見た目を合わせるだけに使ってる。

f:id:mattintosh4:20190729184222p:plain
ESP-WROOM-02 土壌湿度計

金メッキプラグで試してみたことがあるが腐食してしまうので今回は 2 mm の鉛筆芯を使うことにした。手持ちには 2H もあるのだけど B の方が抵抗値が少なかったので B を採用。芯自体の抵抗値は 7 Ω くらいだった気がする。

f:id:mattintosh4:20190729184300p:plain
ESP-WROOM-02 土壌湿度計

土がなかったのでメラミンスポンジで実験。

この投稿をInstagramで見る

水分量チェッカー(スポンジ試験

mattintosh4さん(@mattintosh4)がシェアした投稿 -

金メッキプラグを使用していたときはヘデラを育てていたのだけどプラグが腐食し始めてからプラグに近い部分の茎から徐々に枯れていったので植物に悪影響を及ぼしていそう。錫は錆にくいみたいだけど錫メッキされたものなら植物に影響を与えずに電極棒として使えるのかなぁ…。

IoT コンセント

手元にソリッドステートリレーが転がっていたので作ってみた。これと水槽用エアポンプ、ペットボトル、ソフトチューブを組み合わせて自動水やりができるようにした。自動水やりと言うとよく汲み上げ式のポンプを使っているのを見るのだけど、エアポンプでタンク内の圧力を高めて押し出す方が多分楽だと思う(霧吹きの原理)。

f:id:mattintosh4:20190729185725p:plain
ESP-WROOM-02 IoT コンセント

中継には PVK ボックスを使った。が、屋外用の大きめのボックスを使った方が 3.3 V の AC アダプターも中に入れておけたのでは…と後悔。コンセントを二系統にしたので SSR が二つになってかなり窮屈になった。

f:id:mattintosh4:20190729184558p:plain
ESP-WROOM-02 IoT コンセント

Node-RED のダッシュボードを FireTV のウェブブラウザから弄って水を出してみる。

この投稿をInstagramで見る

遠隔水やり装置作りました

mattintosh4さん(@mattintosh4)がシェアした投稿 -


という感じでぼくのなつやすみのじゆうけんきゅうはこれで終わり(にしたい)。

ESP-WROOM-02 のプルアップ抵抗ってだいたい 10 kΩ を使っている例が多いと思うけど 10 kΩ だとたまに起動しないことがある。今回は一番面倒な PVK ボックス内の ESP-WROOM-02 が突然起動しなくなったので EN のプルアップ抵抗を 1 kΩに変えたら動くようになった。今後は 4.7 kΩ くらいを使おうかな。

ネットで ESP8266 や ESP-WROOM-02 の使い方を見ているとよく IO0IO2 をプルアップしている例が見つかるが、ESP-WROOM-02 のデータシートを見てみると IO0IO2 もフローティングでいいっぽい(UART Download モードの場合は IO0 をプルダウンする必要はある)。

f:id:mattintosh4:20190730233140p:plain
ESP-WROOM-02 Datasheet

https://www.espressif.com/sites/default/files/documentation/0c-esp-wroom-02_datasheet_en.pdf

考えてみればスイッチサイエンスのピッチ変換基板シンプル版だと IO0IO2 をプルアップもしくはプルダウンしてしまうと何も接続できない。

www.switch-science.com

余計な配線も減らせるしもっと早くデータシート見ておけばよかった。