相変わらずESPにはまってます。
前回、Wi-Fi対応の温湿度計を作ったが、アクセスポイントの設定はハードコーディングしていたので、別の所で使うにはコードを直してリコンパイルしなくてはならなかった。
これを欲しいという人が現れたので、その人の無線環境に合わせて設定できるようにプログラムを改訂した。
アクセスポイントの情報をスマホやパソコンから設定できるようにしたのだ。
ついでに折角ネットワークに繋ぐので、タイムサーバーからカレンダーを取得して表示する機能も追加した。
ハンダ面
グリーンマスク塗料塗布後にランドパターンのマスクを印刷したフィルムを載せて、UV照射するのだが、このフィルムを被せる時にどうしても気泡が入ってしまう。写真にある水玉模様がそれだ。これを無くすのが今後の課題。
表示、その2
表示はIO0のボタンを押して切り替える。
センサーからは小数点以下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日間悩まされた。
この店は絶対に出荷検査はしていないと、思った。さすが恐るべし中華品質だ。