温度ロガー2

温度の取得には、ストロベリーリナックスのUSB温度・湿度測定モジュールを使用しています。
http://www2.strawberry-linux.com/products/usbrh/
データの取得は1分間隔で、DBへ保存時にアラート情報の判定もしています。

アラート項目は以下の5つで、系統毎にレベルを設定しています。

  • 高温(30℃〜35℃〜40℃〜)
  • 低温(〜0℃〜5℃〜10℃〜15℃)
  • 乾燥(〜20%〜30%)
  • 多湿(60%〜70%〜80%〜)
  • 不快指数(75〜80〜85〜95〜)

単純に閾値だけで判定するとアラートが連続してしまうので、同系統でレベルの低いアラートについては、前のアラートから3時間以内はアラートと見なさないようにしています。

アラート情報の配信には、RSS.NETを利用しています。
http://www.rssdotnet.com/

ただ、出力内容について若干問題があったので、一部ソースを改造して使っています。
変更点は以下です。

  • pubDateがGMT

仕様的にどう対処するが良いかわからなかったんですが、PubDateにはアラート時刻をToUniversalTime()した値を入れるようにしました。

  • CDATAが使えない

descriptionをHTMLで出力したかったのですが、RSS.NETはXmlWriter.WriteElementString()で出力するので、そのままだとEncodeされてしまいます。
description他一部の項目については、CDATAで出力するように変更しました。