YU2TA7KA's BLOG

派生開発、組み込み開発周りのこと。

ドアチェッカー運用日誌3(施錠検知をThreadPoolExecutor クラスでスレッド化)

ドアチェッカーを運用して一ヶ月(2019/1/7〜)が経過しました。ボタン電池はまだ生きています。


課題

製作当初からの課題で、ユーザが問い合わせたら検知機能を実行するため、「最大30秒待たないと応答が返ってこない仕様」がありました。これをすぐに応答するようにしました。

解決策

ThreadPoolExecutor クラス を利用して、状態検知処理を動かし続けます。状態通知要求(「閉まってる?」)を受信したら、直近の施錠状態を通知します。そのため、施錠状態検知間隔の30秒以内に状態変化したら、それを知ることはできません。ドアを閉めたかどうか不安になるのは、30秒以上経過してからと思われるので問題は無いです。

ソースコード

githubにコミットしました。
github.com

スクリーンショット

f:id:yuji-tanaak:20190208102104p:plain
ドアチェッカーの動作

おわりに

今回の対応で運用課題は一通りクリアできました。あとはもうちょい見た目をましにできればベターです。

5/6追記(電池について)

ドアチェッカーの電池が4/29に切れていることを確認しました。4/21は動作していることを確認しているので、約4ヶ月弱は保ちました。新品であればもっと保つでしょう。


f:id:yuji-tanaak:20190120074141p:plain