« 2024年6月 | トップページ | 2024年10月 »

2024年7月

2024/07/07

室内外の温湿度を表示し、暑さ指数をカラーLEDで表示する端末を作りました

梅雨入りが遅かった今年の梅雨明けは平年並みになる見通しだという予報が出ていますが、既に真夏並みの暑さと日射があって、水不足にならないか心配です。水不足と言えば、生き物の身体も急速な温暖化に付いていける訳が無く、環境保全とともに熱中症対策が必要で、気象庁と環境省の発する熱中症警戒アラート等をチェックしつつ、自室環境に応じて適切な水分補給とエアコンの使用を心がけたいところです。

さて、4年ほど前に室内の暑さ指数WBGTを求められるようになり、「危険」レベルに達したらIFTTTで通知を飛ばすようにしていたところ、前に書いていた通りIFTTTのWebhooksが有料オプションに移行してしまったためIFTTTからメールに変更したのですが、メールは見落としが多いのでパッとみて分かる端末を作ってみました。
斜め前から見たところ。場所・測定時間・温度・湿度・WBGTが表示されている。
通常は室内の値が表示されていて、右上のスイッチを押すと室外の値が出ます。右下のスイッチは液晶バックライト用です。
後ろから見たところ。LEDが明るく光っている。
光っているLEDは環境省熱中症予防情報サイトの 運動に関する指針に準拠した色で点滅しています。基板は2枚重ねで、下の写真の手前左にESP32-WROOM-32Eが見えています。
回路図は次の通りです:
ESP32-WROOM-32Eを中心にしたマイコン部とAQM1602Y-FLW-FBWを中心にしたLCD部に分かれている。当初LCDのVoutに0.1uFを付け忘れていた(文字がノイズだらけになった)。
カラーLEDは制御ICにWS2811を使った PL9823-F5を、仕様外れですが、Vdd=Vio=3.3Vで使っています(中間色の色味は調整しました)。
内部処理は宅内ネットワークへの接続および宅内サーバーとの連携が主で、プライベートな情報をマスクすると訳が分からなくなると思うのでソースは公開せず、ざっくりとした流れだけを説明します。
1. 室内と室外の温湿度を10分ごとにTinkerBoardとRaspberry Piで測定したデータを、サーバーに集約する(従来からの処理)。取得データのフォーマットは次のように年・月・日・時・分・秒・温度・湿度・気圧がCSVで並んでいます。
数字の羅列、2024/07/07の午前7時前後のデータ
ここでは右側に色付きの文字でWBGT値を入れておきました。7:00に「危険」とされる31℃を示しています。
2. 最新の取得データから、場所・測定時間・危険度・温度・湿度・WBGT値を表示するwebアプリを用意する。ここで危険度とは、上記 運動に関する指針の5段階に、日本生気象学会熱中症予防研究委員会のWBGT変換表(リンク先PDFのP.3)で計算範囲外になる気温21℃以下を加えた6段階にしました。PCのChromeでページのソースを見ると次のような内容です。端末のLCDは16文字x2行で、「WBGT」までで16文字、その後の危険度は表示欄外になります:
室内と室外の、場所・測定時間・「WBGT」文字列・危険度の数値(改行)、温度・湿度・WBGT値
3. 作成した端末はMicroPythonでコーディングしました。宅内WLAN接続し、上記ページをurequests.get()したレスポンスの.text属性が上記ソースの内容なので、これを用いてLCD表示とカラーLEDのNeoPixel制御をします(危険度はLCD表示せず、カラーLEDの色と明るさを決めるのに使う)。通常は1,2行目を表示し、端末右上のスイッチを押すとアドレスを2足して3,4行目を表示します。
4. 今回の筐体はDAISOで4個110円のタッパーです(リンク先は40個売り)。フリスク用として売っている基板(ユニバーサルESP32-WROOM用)のカドや突起を落とすとちょうど入るサイズで、見た目はプアですがカッターナイフとドリルなどでサクサク工作できて便利です。また、できてから気が付いたのですがLEDの光が適当に拡散されて、いい感じになりました。

BOMは次の通りで、合計2969.5円でした。なお、電線・ハンダ・ピン・ラベル等の副材はカウントしていません:
itemdetailpricepcssubtotal
CPU moduleESP32-WROOM-32E5301530
LCDAQM1602Y-FLW-FBW7801780
RegNJM2845DL1-3350150
Color LEDPL9823-F5 (WS2811)40140
Green LEDOSG8HA3Z74A616
USB-SerialFT234X7801780
Power conn.電源用microB40140
Slide SWSS-12D00-G5520120
Push SWTCF-06210110
Push SWTVBP06-B043CW-B20240
C0.1uF25375
C1.0uF20240
C10uF50150
R1k111
R2.2k111
R10k133
VRノブ付き10k50150
case内寸約60x40x30mm27.5127.5
CPU基板ABBC-003 ※3461346
LCD基板AE-FRSK-120-UV-TH80180
なお、※のCPU基板はスイッチサイエンスさん、他は秋月電子さんで購入しました。いま思えば組み込みなのでトランシーバーのFT234Xは積まなくても良かったか。


今朝は日曜日で遅くまでゴロゴロしていたのですが(昨日ラグビーのJAPAN XVがマオリオールブラックスに初勝利し、いい気分でYouTubeを寝床で観ていました)、暑さを感じてふと見ると端末が皓々と真っ赤に光っていて、慌ててエアコンをつけました。これが午前7時で、さっそく役に立ってしまいました。
ところで最近は、熱中症警戒アラートなどの普及とともに様々な商品も出ています:
温湿度計で熱中症対策!色で警戒レベル表示 離れた部屋、不在時も確認 | 共同通信
温度・湿度アラーム | 特長 デジタルコードレス電話機 VE-GD78DL/DW | Panasonic
流石にプロは見せ方が上手いなぁと思います。精進せねば。

以上、何かの参考になれば幸いです。

パドラッパ from MacBook Air (2017)

ps. 七夕の朝七時のデータってスロットみたいだ

| | | コメント (0)

« 2024年6月 | トップページ | 2024年10月 »