「冷蔵庫物語」Raspberry Pi で冷蔵庫内をライブ監視

# 始めに
もう何十年も前の事なのですが、某隔週の漫画雑誌に「[冷蔵庫物語](https://www.amazon.co.jp/冷蔵庫物語-1-花とゆめCOMICS-ぷろとん/dp/4592127153)」という、愛嬌あふれる冷蔵庫と個性豊な食品達の不思議な物語が連載されており、毎号楽しみによんでおりました
その頃からずっと「ドア閉めた後の冷蔵庫ってどうなってるんだろう？」と好奇心を持っておりました

Raspberry Pi で取得したセンサデータや UVC のカメラ画像をSDカードに保存しつつサーバに投げる、というプロダクトを作っていて「これを冷蔵庫の中にいれれば長年の疑問が解けるのではないか？」とふと思いつきましたので試してみた次第なのですが、 ***やってみると意外な事だらけ*** でしたのでその旨、ご報告いたします次第です

本稿でつかいましたサーバ側のコードは[monitor と名前つけてこちらで公開しています](https://github.com/UedaTakeyuki/monitor)、また Raspberry Pi 側のコードも[slider と名前つけてこちらで公開してます](https://github.com/UedaTakeyuki/slider)

使ったセンサー類は以下です

- LED 付きで暗い冷蔵庫でも便利な[UVC カメラ](http://www.ebay.com/itm/271758770389?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)、しかも安い
- 湿度の精度はちょっと？ですが、温度は正確な温湿度センサ[dht22](http://www.ebay.com/itm/310672463608?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)
- 安くて助かる二酸化炭素センサ[mh-z19](http://qiita.com/UedaTakeyuki/items/c5226960a7328155635f?utm_content=buffer30688&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer)

※ 2019.06.16 追記
[monitor](https://monitor.uedasoft.com/)として可視化サービスをフリーで御提供させていただいておりますので、本稿を追試してみようという好奇心旺盛な諸兄諸姉のサーバー設定のお手間を省くことにご貢献できればと存じます
データの取得と[monitor](https://monitor.uedasoft.com/)への送信についても詳細をそれぞれ
[カメラ](https://monitorserviceatelierueda.blogspot.com/2018/09/how-to-make-security-camera-with-2-usb.html)、[温湿度センサー](https://monitorserviceatelierueda.blogspot.com/2018/10/how-to-get-time-series-chart-of-room.html)、[CO2センサー](https://monitorserviceatelierueda.blogspot.com/2018/11/how-to-measure-room-co2-concentration.html)にご用意させていただきましたので、お手軽に実験をお楽しみいただければ至福の至です

# 冷蔵庫内は Wi-Fi が届く

鉄の箱の冷蔵庫、静電遮蔽でWi-Fi の電波は届かないだろうから後で SD カードに残ったデータを見ようと思ってたのですが、なんと ***冷蔵庫内 に Wi-Fi は届く*** んですね。予想外にも ***Wi-Fi での冷蔵庫内のライブ監視は可能*** ということがわかってしまいました
冷蔵庫内をライブ中継しておけば ***買い物先から「卵まだあったっけ？」とかの確認*** も実は可能という、人々の生活を変えてしまう可能性を秘めた革命的にすごい事実がわかったのでした
でも、なんで電波届くんだろう？

# 冷蔵庫内の二酸化炭素濃度は高い？

![スクリーンショット 2016-07-08 18.07.38.png](https://qiita-image-store.s3.amazonaws.com/0/46544/fefcb164-af40-c78a-4ff5-042a0ee0e0d3.png "スクリーンショット 2016-07-08 18.07.38.png")


冷蔵庫のドアを閉めると二酸化炭素濃度が順調にあがっています。って、でもなんで？？？ ***誰が呼吸してるの？？？***

特定波長の遠赤外線は二酸化炭素によって顕著に吸収されてしまうそうです。この波長の赤外線だとセンサーの筐体の大きさ程度の短い距離でも空気中の二酸化炭素濃度の差によって到達する率に差がでることを利用して CO2 濃度を測るのだそうです。物理ってかっこいいです
で、遠赤外線源ってようするに ***赤外線ヒーター*** だし、赤外線センサーも理屈は赤外線が当たって暖まる効果を測る ***温度計[^1]*** だったりします（別の理屈のセンサーもあります）

[^1]: NDIRセンサの仕組みは[こちら](https://www.analog.com/en/analog-dialogue/articles/complete-gas-sensor-circuit-using-nondispersive-infrared.html#) が詳しいです。原理はランプと２個のサーミスタ（フィルタあり、なし）の温度差を図ってるみたいです。MH-Z19 の TT の値って、要するに[それのフィルタありの値だろうと推測してます](https://github.com/UedaTakeyuki/mh-z19/wiki/Is-the-undocumented-TT-value-on-the-responses-of-command-0x86-really-related-to-the-ambient-temperature%3F)

## 推測：冷蔵庫内の低温のせいで測定値が高くでてしまってる？
mh-z19 は安くてありがたいのですがどうも温度補正はしてくれていない気がします

逆に言うと二酸化炭素濃度一定の環境ではこのセンサは応答時間の速い気温計として使えますね
実はこういう事はよくあって、例えば超音波距離センサーって超音波のパルスが跳ね返ってくるまでの時間に音速をかけて距離を測るんですけど音速が温度の関数なので（物理ってかっこいいですね）どこかに固定している筈の距離センサと地面との距離の変化を測ることで気温の変化が原理的に測定できたりします。あまりそういうことしないかもしれませんけど

# 冷蔵庫のドアを開けても
冷蔵庫の温度ってなんとなく4℃くらいなのかと思ってたのですが 1.7℃ぐらいまで下がるんですね
十分に温度がさがったのでドアをあけるとどのくらい庫内の気温があがるのか見てみようとおもって ***10秒間ドアをあけてみた***結果がこちらです

![スクリーンショット 2016-07-08 18.11.23.png](https://qiita-image-store.s3.amazonaws.com/0/46544/857ea773-c424-fb29-2325-b2cb77aff608.png "スクリーンショット 2016-07-08 18.11.23.png")

***湿度はすぐに34.6%に跳ね上がる*** のですが、 ***温度が1.7℃のまま*** です。あれれ？ドアをあけても ***庫内の温度はかわらない?***

## 推測：気温ではなくセンサモジュール自体が冷えてしまっている
これ、おそらく ***センサーの基盤自体が冷えてしまい*** ドアを開けたときの庫内の気温ではなく ***センサモジュールの温度*** が測れてしまっているのではないか、という気がしています

# 冷凍室に入れてみると
冷凍室にいれてみました。冷凍食品のパッケージの文字もピンぼけせずにきれいに写ってます

![スクリーンショット 2016-07-08 18.40.23.png](https://qiita-image-store.s3.amazonaws.com/0/46544/d16ce9ee-3afc-9a10-51fa-0ad73eb4b519.png "スクリーンショット 2016-07-08 18.40.23.png")

冷凍室は -17℃ぐらいにさがるんですね
二酸化炭素濃度はあいかわらず全然正しくはかれていないとして、温度が-10℃ぐらいのところから ***湿度も、なんかおかしな上がり方をはじめてます*** 
確証はないのですが、湿度の測定のためのセンサー内のヒーターが機能しなくなっているのではないかと予想しております
湿度計よ、おまえも寒いのだめだったのか... 

# その後

冷凍庫から出した後も、二酸化炭素センサーが高い値のままもどらない... 

![スクリーンショット 2016-07-08 19.03.27.png](https://qiita-image-store.s3.amazonaws.com/0/46544/b1949c5d-f5a0-f2f1-3688-26cdac016dbc.png "スクリーンショット 2016-07-08 19.03.27.png")

外気なので400ppmぐらいの筈なのですが 690ppm とか言ってて、壊れてしまったかも... 安いセンサーとは言え高かったのに（どっちやねん）

※ 2019.06.16 追記
これも多分、センサモジュール自体が冷えてしまっていたからだと思います。CO2濃度の計測ってぶっちゃけていうと[ヒーターと温度計](https://github.com/UedaTakeyuki/mh-z19/wiki/Is-the-undocumented-TT-value-on-the-responses-of-command-0x86-really-related-to-the-ambient-temperature%3F)なんで、時間たったら治りました
# future works
野菜室がギュムギュムで隙間がなく、まだ実験ができていないです

# our contribution
このように、センサーは使い方によっては環境の影響をうけて ***正しい測定ができない*** ことがよくあります
温度センサーを ***熱源や冷熱源に接触*** させてしまったり、さんさんと ***日のあたる場所*** に設置したりした状態で測定される ***数値に物理的な意味はありません*** 
また、多くのセンサーがその ***計測の原理で温度などの環境の影響を受ける***ことに留意しておくことが必要です

ソフトウェアにバグがなかったとしても、 ***センサの使い方自体が間違っていると間違ったシステムになってしまうことがある***事をシステム屋として留意しておかなければいけないという実例を本稿で提示した事が本稿のコミュニティに対する寄与であると考えております

さらに、低温下でセンサーにはいろいろありましたけど ***UVC カメラは冷蔵室だろうと冷凍室だろうと順調に画像を送ってきて*** くれました。USBハブとかで何十台もつなげば（一個300円のカメラなので20台つけてもたったの6000円） ***リアルタイム冷蔵庫内表示サービス*** で ***スマフォで冷蔵庫の中をチェックして買い忘れ防止！*** とかの産業上の利用可能性を本稿で示すことができたのではないかと評価しております

# 感想
私達の生活環境を構成する素朴な物理現象でさえも本質的にとても複雑なのですが、センサーはいろいろな仮定の元で、たとえば温度の変化は無視できる程度とか、なんとか ***現象を簡単にしてたくましく測定を行っている***ので、その仮定が崩れるような環境では正しい測定ができません。 ***商品としてのセンサーのカタログに何が測れると書いてあるかではなく、どのような原理で測定しているのでどういう条件のときは何が測れるはずだと理解して計測しろ*** と今から何十年も前の若き日の学生時代の物理実験の実習で教官が言っていた言葉を懐かしく思い出しました

ただ単に RPi を冷蔵庫につっこんでみましたというだけの他愛のない話しなのに ***ロウソクの科学*** みたいなえらそうな事を語ってしまいました事、誠に申し訳なく恐縮しております次第です