どちらのネコがご飯を食べているか調べてみた~2023. 2. 22. 猫の日開催! ねこIoTLT vol.8~2023.2.22 LT Cat And ColorSensor@NearMugi
View Slide
ニアムギ(NearMugi)ねこ2匹飼っていますニア : 上の茶色のネコムギ : 下の黒色のネコ自己紹介2023.2.22 LT Cat And ColorSensor@NearMugi
以前、重量センサー(ロードセル)を使ってごはんの減った量を観察したことがありますごはんが減るor増えるとLINEに通知が来るシステムでしたイントロ - ご飯の観察について2023.2.22 LT Cat And ColorSensor@NearMugi
どちらのネコが食べたか分かりません↓カメラを使えばニアorムギの判定は出来そうです↓残念ながらある理由のためカメラの使用は不可です…イントロ - これでは物足りない点2023.2.22 LT Cat And ColorSensor@NearMugi
ねこたちは夜にご飯食べることもあり、カメラでは暗闇でうまく撮影できません↓赤外線カメラを使う、ごはんの近くだけ電気をつけておくなども考えられますが、もう一つの理由のため選択肢から外れますイントロ - 理由1 暗闇ではカメラで撮影できない2023.2.22 LT Cat And ColorSensor@NearMugi
ねこの観察のためとはいえ、そもそもカメラを置くのはNGです(ラズパイのような大きめな基盤でLEDがチカチカしているものもダメです)↓そこでカメラを使わずに2匹の特徴から判別できないか検討しましたイントロ - 理由2 家族の了解が得られない2023.2.22 LT Cat And ColorSensor@NearMugi
2匹を区別できる特徴は・・・毛の色!毛の色をセンシングしたらどちらのネコか判定できるのでは???ということで、カラーセンサーを使って観察してみましたイントロ - カメラ以外の方法を模索2023.2.22 LT Cat And ColorSensor@NearMugi
観察してみたところネコたちを上手く区別できませんでした・・・そのため「判別」に至っていなく、モニタリングまでのシステムとなっています。ご了承ください・・・システム - 詳細に入る前に2023.2.22 LT Cat And ColorSensor@NearMugi
1. 距離センサー(超音波距離センサー HC-SR04)→ よくある距離センサー。ネコがご飯を食べているか判定2. カラーセンサー(TCS34725 (白色LED搭載))→ ネコの毛の色を取得→ LEDを搭載しているので暗闇でも取得できる!3. Node-RED→ MQTTのSubscribeが簡単に作れるシステム - 使用したツール・アプリケーション(1)2023.2.22 LT Cat And ColorSensor@NearMugi
4. GCE : GoogleCloudEngine(コンテナ)→ Node-RED を動かす(だけの)コンテナ ※リソースの無駄遣い…5. GCS : GoogleCloudStorage→ ストレージ。6. GCF : GoogleCloudFunctions→ サーバーレスで動く関数。ストレージの更新をトリガーに実行できる。システム - 使用したツール・アプリケーション(2)2023.2.22 LT Cat And ColorSensor@NearMugi
1. 距離センサーでご飯のそばにいるか判定2. カラーセンサーで読み取り3. MQTTでセンサー値をPublish4. GCEのコンテナで動くNode-REDでSubscribe5. センサー値をGCSにあるログファイルに書き込み6. ログファイルのセンサー値を画像に変換、保存7. 画像をLINEに送る →詳細は次ページシステム - 処理の流れ2023.2.22 LT Cat And ColorSensor@NearMugi
2023.2.22 LT Cat And ColorSensor@NearMugi
検証 - ご飯の容器を上に載せるタイプの装置2023.2.22 LT Cat And ColorSensor@NearMugi
検証 - 違いが分からない・・・2023.2.22 LT Cat And ColorSensor@NearMugi
ネコたちの食事の邪魔にはならなくなった。ただ取得したデータに改善は見られず・・・検証 - 装置を変えてみる2023.2.22 LT Cat And ColorSensor@NearMugi
見た目通りのRGB値が欲しいわけではなく、猫の違いが出ればよいので値を加工してみました。誰もいない状態の値を中心(RGB 128, 128, 128)として値をずらしてみるある値を超える(下回る)とき256(0)とする※RGB値の変化が線形である前提で、無理やり加工しています検証 - 検知しやすくするためセンサー値を加工してみる2023.2.22 LT Cat And ColorSensor@NearMugi
検証それでも違いが見えず、にっちもさっちもいかなくなりました・・・2023.2.22 LT Cat And ColorSensor@NearMugi
「LEDで暗闇でも大丈夫!」「LEDの効果で外部の環境を受けない!」と思っていたのですが、誤解でした。完全に密着して外部の影響をゼロにしないと毎回同じ値にならないのかもしれません。検証そもそも部屋の明るさで値が違う・・・2023.2.22 LT Cat And ColorSensor@NearMugi
適切なセンサー選びが大切だと改めて実感しました。(ネコの違い→毛の色→カラーセンサー! という発想がよろしくなかった)値を読み取ってからLINE通知までの流れはいい感じなので今後のシステム作りに活用したいと思います。以上です。ご清聴ありがとうございましたまとめ2023.2.22 LT Cat And ColorSensor@NearMugi