トップ 最新 次の日記(2017-04-08)» 編集

定年退職後の人生を楽しく過ごすために・・・

enJoy セカンドライフ!
2013|02|03|04|05|06|07|10|11|12|
2014|01|03|04|05|06|07|08|09|11|12|
2015|03|05|06|09|
2016|01|03|
2017|01|03|04|09|
2018|07|08|09|

2017-04-04 水道漏水検知システム稼動

[マイコン] STM32とラズベリーパイ3で漏水検知システムを構築!

水道料金が水道管からの漏水で40万円もなったことがあった。水道局に掛け合って4万円程度に下げてもらったが、その時対策を聞くと、「水道メーターを毎日チェックするしかありません」とのこと。

電気とか、ガスとか、他のユーティリティなら検出器、遮断器などがあるのに、水は漏れても大した事故に繋がらないと言うのか?ユーザーはその代金を支払うことになるのに・・・。

漏水検知システムの概要

ということで、次のようなシステムを考えてみた。

1.構成は、水道メーターのローターに赤外線反射型センサーを取り付け、ローターが回転する度に反射するパルスをSTM32(マイコン)の割込みピンにて取り込む。

2.STM32では、割込み処理により、その回転数をカウントする。

3.また1秒毎のタイマー割込み処理で、カウント値が増えているかチェックし、増えている時->通水状態、同じ値の時->停止状態の判断をする。同時に、その状態の継続時間が設定時間を越えた場合アラームとしてイベントを発生する。

4.「通水」から「停止」または、その逆「停止」から「通水」への状態変化時、またはアラーム発生時、RS-232cにて接続したノートパソコン(Windows7)に送信する。

5.上記の状態変化時以外にも1秒単位の定時通信で、その時のステータス(状態)を送信する。

6.ノートパソコンは毎分(00秒の時)と、状態変化時点にサーバー(ラズベリーパイ3)へデータを送信する。

7.サーバーでは受信したデータをデータベース(SQLite3)に保存すると共に、WEBサーバーとしてクライアントからの要求に対しリアルタイム情報を提供する。

8.クライアント側としては、ブラウザを用い、サーバーへアクセスし、給水状況などの情報を確認する。

システムは自宅内LAN上に

現状システムは、自宅内LANに全て接続されている。(将来的にはインターネットで自宅サーバーへのアクセスを可能とする予定)

接続は、センサーからSTM32までは5mの有線。STM32からノートパソコンまでは、USBケーブル。ノートパソコンからLANケーブルにてLANに接続。
サーバーは同一エリアのハブからLANケーブルで接続されている。

ブラウザは、他のパソコンやiPADなどで起動し、サーバーに接続する。

画面例

画面は3画面用意した。画面上半分は共通で、現状の通水状態、その継続時間、アラーム発生復帰状態を表している。
ひとつは1日の通水状態を1時間単位の棒グラフにて表示。
二つ目は各時間帯での通水状況を秒単位で、かつその通水強度(ローターの回転数に比例した値)を色分けして表示。
そして最後に、通水状態が10分を越えた時、また停止時間が30分を越えた時とその復帰時に警報として表示する画面。
この時同時にE-メールで予め設定しておいたアドレスに通知する。

上半分は現状を表す。画面は現在通水状態で、1.665kp/s(秒当りのパルスカウント値)を示し、継続時間が3分18秒と表している。下部の棒グラフは、過去1日分の各時間帯での通水時間を示している。

グリーンは停止時を、黄色から赤のカラーコードは、ローターの回転を強度として色分けし通水状況を示している。
画面は朝9時の時間帯を示しており、食事とか洗い物など頻繁に水を使っている状況が分かる。

通水時間が設定値を越えた場合、赤で表示、停止時間が設定値を越えた場合黄色で表示、
また復帰時はともに緑色で表示している。 過去最大8件を表示。