温湿度露点ロガー(S0100-0) 3
タイトル画像は自作ケースに収めた写真です。センサーのケースは百均(セリア)で購入した歯ブラシカバーです。3個入りで税込み110円でした。
3Dプリンターで作ろうかとも考えましたが、価格に見合うメリットを創り出すアイディアが無く、当分はこのまま使います。
概要
B01-1とRaspberry Pi に「SHT31使用 高精度温湿度センサモジュールキット」を繋いで温度湿度の他に換算露点を記録するロガーを作る試みです。
B01-1は8桁x2行のキャラクタLCDと青、緑、赤のLED、ブザーとタクトスイッチを備えているので、次のようなことが可能そうです。
1.測定値や時刻をリアルタイムに表示する
2.露点が閾値を超えたら結露警報を出す
3.温度が閾値を超えたら注意喚起する
4.湿度が閾値を超えたら表示する
LCDは8桁x2行しかないので、全ての測定値を一度に表示することが出来ず、タクトスイッチでページ?を切り替える必要がありそうです。
警報、注意喚起、表示はLCDに限らず、LEDやブザー、E-mailに出力することが可能そうです。ブザーはタクトスイッチで鳴動を止める機能も必要そうです。
仕様をまとめてみる
どんな機能を作るのか、少しまとめてみようと思います。
作りながら考えが変わるかも知れませんが、事前に考えをまとめます。
LCD 表示
表示は後述のボタン操作で切り替えます。
THD Log. プログラム名とデバイスID
S0100 00
06 15:51 日時と露点
+25.0 ℃
27.3 ℃ 気温と湿度
56.7 %
ボタン操作
ー ボタン (左) デクリメント・表示切替
+ ボタン (中) インクリメント・表示切替(-ボタンとは逆順)
SET ボタン (右) 設定・エンターの機能・鳴動中のブザーを止める
アラーム
露点、気温、湿度の内いずれか1つについて、MAX. または MIN.の閾値を設定して、LED表示(緑/赤)ブザー鳴動でアラームする。
(ブザーを鳴らすかどうかは選択可能にする。)
設定はID.txtファイルを書き換えて行う。(ボタン操作では変更出来ない。)
SQLite 記録
15分、30分、1時間いずれかの間隔でSQLite 簡易サーバーに露点、気温、湿度と日時を記録する。(原則として)日時はデバイスID=00のみが記録(INSERT)し同じ時刻のデータが1レコードを構成する。
デバイスIDによって記録するカラムが異なる。
記録するタイミングは所定の時刻よりデバイスID x 2 [秒]だけ遅れて記録する。(同時刻にSQLite 簡易サーバーにアクセスすることを抑制する。)
ID.txt (案)
1行目は読み飛ばす。
# serverIP, port, ID, pich(0,1,2), alarm項目(D,T,H), alarm(min/max), 閾値, buz(on/off)
192.168.11.203
50007
00
0
D
max
20
off
反省
書きながら、「これじゃあ伝わらないだろうな~」と思います。
まずは、私個人の備忘録とし、必要に応じて取説などの形で書き直します。
ともあれ、ザックリ以上のような物を作る予定です。