profile-photo

Wi-Fi対応・温湿度計V3

スマホやパソコンからWi-Fiの設定を可能にした新バージョン


相変わらずESPにはまってます。
前回、Wi-Fi対応の温湿度計を作ったが、アクセスポイントの設定はハードコーディングしていたので、別の所で使うにはコードを直してリコンパイルしなくてはならなかった。
これを欲しいという人が現れたので、その人の無線環境に合わせて設定できるようにプログラムを改訂した。
アクセスポイントの情報をスマホやパソコンから設定できるようにしたのだ。
ついでに折角ネットワークに繋ぐので、タイムサーバーからカレンダーを取得して表示する機能も追加した。

 

1

本体の外観。
OLEDの表示色に合わせて、ブルースモークのアクリルで作ってみた。

10

本体基板の部品面
表示器とセンサはコネクタで接続。
一応、IO2に繋がるボタンを追加できるよう今後の拡張に備えてはあるが、今回は未使用。
機能の切り替えは、IO0のボタンを使用。

20

ハンダ面
グリーンマスク塗料塗布後にランドパターンのマスクを印刷したフィルムを載せて、UV照射するのだが、このフィルムを被せる時にどうしても気泡が入ってしまう。写真にある水玉模様がそれだ。これを無くすのが今後の課題。

25

今回はWi-Fi環境を外部から設定しているので、確認のため起動後、動作状況を表示している。
最初は接続しようとするアクセスポイントの表示。

28

無事に接続できたら、 ・アクセスポイントの名前 ・パスワード ・そして、IPアドレス を表示する。

30

実際の表示は5パターンある。
これがその1
温度・湿度・日付と時刻、全ての表示。
ちょっと表示が小さいので、老眼にはマッチしない(^_^;

32

表示、その2
表示はIO0のボタンを押して切り替える。
センサーからは小数点以下2桁まで送られてくるが、そんな細かいところは日常ではあまり意味が無い。
「むしろ表示がゴチャゴチャして見にくい。」と、指摘を受けたので、整数表示のモードも作ってみた。

34

表示、その3
これは温度と時刻だけを大胆に表示している(^_^;

50

再び外観。今度は正面から。

90

SI7021(GY-21)のセンサー基板。
電源端子がどこにも繋がっていない。
まさかそんなことが!これを発見するのに2日かかった。

91

正しい基板。
ネット上にあった同じ(仕様の)基板の写真。
当然、左端の端子はレギュレーターのVin(入力)に繋がっている。

起動は2種類

(1)普通に起動すると、設定された値でWi-Fiに接続し表示を行う。
設定値などは内部のSPIFFにファイルを作成し、保存するので、一度設定すればOK。
(2)起動後直ちに(2秒以内)にIO0に繋がったボタンを押すと、サーバモードで起動する。 この時外部のブラウザで「192.168.4.1」にアクセスすると、
・アクセスポイント
・WEPキー(パスワード)
・IPアドレス
の設定画面が表示される。 IPアドレスは、温湿度サーバとなった時にセンサの値を表示するためのアドレスだ。
前パージョンではDHCPから得ていたが、サーバなので、固定アドレスの方が分かり易いと思って、変更した。

ハメられた温湿度センサ

写真にもあるが、今回使ったSI7021のセンサ。
仕様は前回と同じだが、Aliexpressで安いものを見つけたので注文した。
"Fancys Module Mall"で、@237円と、格安だった。が、しかしこのセンサ基板、電源のパターンが繋がっていなかった。
まさか、そんなこととは知らずに、設置して動作しないので悩んだ。
デバッグ時は5Vの電源でやっていたが、最終的には本体からの3.3Vの電源を使う。そのため、SI7021(GY-21)センサの3.3Vレギュレータを取り去って、電源を直結することにしていた。
いくら本体やプログラムをいじっても動作しなかったが、最終仕様に合わせるため、途中でレギュレータの撤去を試みた。この時に気がついた。
何と!VccのコネクタとレギュレータのVinとが繋がっていないのだった。製造上のトラブルなどではなく、そもそも基板にパターンが存在しない。
ここをハンダでブリッジしたらあっさりと動いた。
ここまで、2日間悩まされた。
この店は絶対に出荷検査はしていないと、思った。さすが恐るべし中華品質だ。


参考までにハードウェア・ソフトウェアの情報を。ただしこれらは僕の覚えであり、正確に改版を反映していない可能性があります。この通り作って動かないからと、怒らないで欲しい。