PICK UP

ZUGYUUUN!を使って電気ケトルをスマートにしてみた:後編

LAB

小柴篤史

こんにちは!小柴です。本日の記事は、以前の記事で紹介しました、スマートケトル作成の後編となります。

1. 前編のおさらい

最初に前編のおさらいですが、弊社では電気ケトルを置いている台所と作業スペースが離れているため、ケトルでお湯を沸かしても沸騰に気づかないことがあり、不便でした。その解決策として、離れた位置にいるユーザにケトルの沸騰を通知するスマートケトルを提案しました。 そして、スマートケトルに必要な機能と構成を検討し、検討した二つの機能のうち温度監視機能の実装を行いました。

前編の記事はこちらです!

後編では、もう一つの機能であるユーザ通知を実装し、スマートケトルを完成させたいと思います!

kyouno_yotei

2. 2台のRaspberry Piでユーザ通知をしよう!

早速、作業スペースに設置するユーザ通知システムを作っていきましょう! スマートケトルを実現するためには、2台のRaspberry Piを同時に制御する必要があるため、少し難しく感じるかもしれません。 しかし!弊社サービスのZUGYUUUN!は、一つのアプリケーションにおいて複数のterminal(Raspberry Pi)を制御できるインタフェースを提供しています。 すなわち、一つのプログラムで2台、3台のRaspberry Piを同時に、簡単に制御することができるのです!

すでに前編で温度監視システムが完成しているので、今回は温度監視システムをベースとして、ユーザ通知機能を追加実装していきます。 これにより、ユーザ通知機能の実装と、二つの機能(温度監視、ユーザ通知)の統合を一気にやってしまいましょう!

ユーザ通知システムに必要な道具は、Raspberry Pi、そして通知を行うランプと電子ブザーですね!ランプと電子ブザーについて簡単に説明したいと思います。

ランプはVL04Sを使いました。LEDとは比較にならない明るさなので、優秀な通知方法として期待できます。 ランプは供給電圧12〜24Vの電源アダプタを別途用意して接続し、ON/OFF制御用の2本の信号線を、それぞれRaspberry PiのGPIOとGroundに接続します。GPIOのHIGH/LOWをRaspberry Pi側から切り替えることで、ランプのON/OFFを制御できます。

IMG_7649

電子ブザーはPB03SD12を使いました。こちらもGPIOで簡単にON/OFFを制御でき、かつ大きな音が出るすぐれものです。こちらは別途電源を供給する必要はなく、GPIOだけで動作するので、Raspberry PiのGPIOとGroundに接続するだけでOKです。

IMG_7678_mod

これに加え、ユーザが通知を止めるためのプッシュスイッチと、これらを接続するためのブレッドボードを別途用意し、以上の道具を用いてユーザ通知システムを実装していきます。 ユーザ通知処理を行うRaspberry PiのPinOut図を以下に示します。 ランプ、電子ブザー、プッシュスイッチは、それぞれGPIOポートとGroundに直接接続します。 ランプのみ、GPIOに加えて、別途電源アダプタに接続し、外部から電源を供給します。

warn

次に、プログラムのソースコードを示します。 プログラムは、温度監視用のRaspberry Piの処理と、ユーザ通知用のRaspberry Piの処理に分けて記述しました。 温度監視側の処理は前編で作成したプログラムと同様、一定間隔(今回は500msとしました)ごとにセンサから温度を取得し、閾値より温度が高ければユーザ通知側にお湯の沸騰を知らせます。 ユーザ通知側の処理は、温度監視用Raspberry Piからの沸騰通知を受け取った時にランプとブザーをONにし、その後プッシュスイッチが押されたらOFFにします。 本プログラムの全コード数は、コメント行を除くと100行未満となります。このように、ZUGYUUUN!APIを使えば、Raspberry Pi2台構成のプログラムでも、非常にシンプルに記述することができます。

以上のシステムの動作確認として、閾値を30℃に設定し、手で温度センサを温めることで、正しく通知を行えるかテストしてみます。結果は以下の動画のようになり、温度センサから得られた温度が30℃のときに、正しく通知できていることが分かります。

以上により、2台のRaspberry Piによる通知システムが完成しました!

3. スマートケトル完成!

それでは最後の工程として、通知システムを電気ケトルに適用したいと思います!前編からのおさらいとして、スマートケトルの全体構成図を再び示します。

overview_smartkettle

本システムを用いて電気ケトルの沸騰通知を実現するためには、温度センサをケトルの適切な位置に取り付け、適切な温度で通知する必要があります。 そこで、電気ケトルへの取り付け方法の検討と、沸騰通知を行う閾値となる温度のプロファイリングを行います。

まず、電気ケトルへ取り付ける方法を検討します。 温度センサはむき出しになっているため、ケトルの表面に取り付けるためには少し不安定です。 そこで、ケトルへできるだけ密着して取り付けるために、以下の道具を使います。

IMG_7667

使う道具は、瞬間接着剤、耐熱絶縁テープ、アルミホイル、ゴムバンドの4つです。 温度センサの熱が伝わりやすいようにするため、アルミホイルを使ってケトルの表面の形に合うように、温度センサの表面を整えます。 温度センサの誤動作や故障を防ぐため、最初にセンサの表面に絶縁テープを巻いて、その上にアルミホイルを巻き、接着剤で固定します。 金属であるアルミホイルを使う理由は、温度センサに対する伝熱性を維持するためです。 結果、温度センサの外見は以下の図のようになりました。

IMG_7657_mod

アルミを巻いた温度センサと電気ケトルは、ゴムバンドを用いて以下の図のように固定します。

IMG_7669

この状態でケトルを使用し、温度センサを用いて沸騰時の電気ケトルの表面温度を計測したところ、44℃程度の値が取得できました。そこで、通知の閾値を44.0℃に設定します。 以上を踏まえて、スマートケトルの動作テストを行いました!結果は、、、以下の動画をご覧ください!

できましたー!

4. おわりに

最後まで閲覧いただきありがとうございました。前編、後編に渡ったスマートケトル製作ですが、いかがでしたでしょうか。

本記事では、既存の電気ケトルの課題である、沸騰通知の気づきにくさを解決するスマートケトルを提案しました。 弊社サービスの

ZUGYUUUN!を用いて、監視用と通知用の二台のRaspberry Piによる沸騰通知システムを実装し、離れた場所にいるユーザへの分かりやすい通知を実現しました。

現状のシステムの課題としては、以下が挙げられます。

  • 水量や室内温度によって沸騰時のケトルの表面温度が変化するため、正確な沸騰検知が難しい
  • 現システムはお湯が沸騰した時に通知を行うだけのシンプルなもので、機能が少し物足りない

今後は、これらの課題を解決するため、以下の機能の実装に取り組んでいきたいと思います。

  • 室内温度や水量に応じて通知温度を適切に設定し、正確な通知を実現するフィードバック制御
  • ユーザが設定した温度で通知できるような、柔軟で便利な制御インタフェース

最後に所見ですが、近年はRaspberry Piのような小さく高機能なデバイスが安価で簡単に手に入る時代になり、電子工作やプログラミングは本当に身近なものとなりました。これらのデバイスとIT技術を駆使すれば、今回作成したスマートケトルのような便利なものも、

スマホで制御するラジコンのような面白いものも、個人で簡単に開発できます。なんだかワクワクしますね!

これからもIT技術を活用した様々な開発に挑戦していきたいと思います。弊社のblogを通じて、少しでもIT(IoT)の素晴らしさを感じて頂ければ幸いです。 それでは、また次回の投稿でお会いしましよう!