profile-photo

Wi-Fi対応・温湿度計

相変わらずの温湿度計。今度はWi-Fi対応なのでどこからでも読める!


センサをSi7021に変えて、比較的正確な温度や湿度を表示できた。
これに気をよくして、今度はESP-WROOM-02を使った表示器を作ってみた。
最初は同じ我が家でも場所によって温度や湿度が随分変わることも気になったので、沢山作ってアチコチに置こうかとも思った。
しかし、全部を見回るのも何なので、無線を考えた。それならWi-Fiで繋いで、ブラウザで見れば良いではないか。
それにはESPシリーズが打ってつけだ。ただLEDを使うとI/Oが沢山必要になる。センサをI2C接続にしているので、表示器もI2Cにして、ポートを減らすことを考えた。
できたら電池駆動も…と、言うことで表示器はOLED(有機LED)にすることにした。低消費電力で、表示も綺麗だがキャラジェネがいるのでメモリ大食らいが辛い。

 

100

基板の部品面。
ESP-WROOM-02はSMDなので、ハンダ面に付ければ良いのだが、基板の面積を小さくするため、部品面への実装を考えた。当初はDIPの変換基板を使おうと思ったが、今度は厚みが増える。
そんな時ネットを見ていたら、ESPにメッキ線をぐるぐる巻きにして、ハンダ付けをしてピンを出す方法を見つけた。早速マネをして、変換基板を省略できた。
基板は変換基板を想定していたので、ちょっとピンが遠くなってしまった。オマケに下手くそなハンダ付けが見え見え(^_^;
最終方針をちゃんと見据えずに突っ走るので、こんな基板になってしまった。

110

基板のハンダ面。
相変わらずグリーンマスクがきれいに掛からない。ランドのマスクパターンを印刷したOHPフィルムを載せる時に動かすのでどうしてもヒビが入るのだ。
今回も2本配線を間違えた。EAGLEで随分見たつもりだったが、やはりやってしまった。
黄色のジャンパーワイヤとディスクリートの抵抗はその修正のためだ。

120

基板の部品面には、最終的にOLEDが載る。
ESP-WROOM-02との位置が微妙だった(^_^;
2つのタクトスイッチは、リセットとIO0(プログラムの描き込み用)だ。右端のピンヘッダはUSBシリアルのアダプタを繋いで、プログラムの書き込みを行うためのものだ。
因みに、ESPはIO0をGNDに落としてリセットすると、プログラムのダウンロード待ちになる。プルアップしてリセットすると、ROMから動作する。

150

出来上がり!
見ての通りだが、上から
温度
湿度
IPアドレス
アドレスはDHCPで得ているので、表示しないと分からなくなってしまう。勿論接続できなかった時は、"Wi-Fi not found"と表示される。
OLEDはフルドットなので、フォントも自由に選べる。写真ではフリーフォントのサンセリフ/ボールドを使ってみました。
色々穴が空いているが、角穴は、ここへセンサを付ける積もりだったのだ。
その他にも取り付け穴の跡などが残るが、1号機の顔はとりあえずこれで凍結!

160

背面。
特に何もない。電源供給用のUSBコネクタがあるだけだ。
基板の電源コネクタはバッテリーと共通。
一時的に設置したりする時にはここにLi-Poバッテリーを接続して動作させる。

200

パソコンの画面表示。
何の工夫もない表示だ。
この辺りは今後台数を増やした時に考えるとして、当面は分かるだけの表示。
必要にして十分ではあります。

ESP-WROOM-02

少し前に「ESP-WROOM-32」がリリースされた。
今回使ったのは「ESP-WROOM-02」だ。こんな小さなチップに、CPUとWi-Fi(2.4MHzのみだが)の機能が一式入っている。
CPUは32bit/80MHz、メモリーは50KBのRAM、とSRAM、そして2MB〜16MBのFlashを内蔵。GPIOは勿論、I2CやSPIのインターフェイスも持っている。
「ESP-WROOM-32」の方はこれにBluetoothも内蔵。CPUはデュアルコアで、RTCも内蔵。DMA、SDIO、UART等を沢山!最近話題のI2Sもあるし、割り込みタイマーも別仕立て…豊富な機能はマトリクスで制御するので、山のようにレジスタがある。
pythonも走ればBASICも走る。ユーザーズマニュアルは600ページにも届きそうなボリューム
もう機能てんこ盛りで良く分からない。
これが500円から700円で手に入るのだから、大変な世の中になったものだ(^_^;
ただ、やはりちょっと消費電力は多めなので、簡単なモノなら「WROOM-02」で十分かとも…


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