土曜日の朝6時、あなたはベッドに横たわり、まだぐっすり眠っている。突然、飼い猫がドアを引っ掻く音が聞こえ、その大きな鳴き声に耐えられなくなり、飼い猫が何を求めているのかをあなたに知らせるために、世界中のあらゆる時間を使っている。何が本当に必要なのか、あなたは知っているだろうか?私は知っている!今すぐ!なぜそんなことがわかるのか?というのも、ある時期から私は愛猫にその時間に餌を与えるようになったからだ......そしてもちろん、それは餌をもらうための新しいスタンダードな時間になった。

このシナリオに触発され、私は猫の自動給餌器を作ることにした。

初代

猫用フィーダーの第一世代は、シンプルなものだった。 最優秀選手 段ボールと簡単なサーボとESP WeMosでできている。サーボを使って上の容器を180度回転させ、食品を取り出した。

マイクロコントローラーは私のローカルWi-Fiに接続され、HomeAssistantを実行しているスマートホームサーバーとMQTTプロトコルで通信した。そのおかげで、HomeAssistantオートメーション・システムを使って、グーグルホーム・コマンドで給餌と配膳のスケジュールを立てることができた。各給餌はGoogleカレンダーで特別なイベントとして定義された。そのおかげで、猫の餌の時間を簡単にコントロールし、必要に応じて変更することができた。

もちろん、この世代にはいくつかの問題があった:

ほとんどのMVPがそうであるように、壊れるまで2年しか使わなかった。

第二世代

次の猫用給餌器はそうすべきだと思った:

私は、食品を仕切るための基本的な要素をデザインすることからすべてのプロセスを始めました。そして、デザインの準備ができたら、すべての要素をCreality Ender-3とPLAを使って印刷しました。

部品

すべてが機能することを確認した後、私は残りのパーツの設計と印刷に取りかかった:

RaspberryPi用ベース(レベル0)

Raspberry Piの取り付けに便利なネジ穴があります。さらに前面には、Raspberry PiのSDカードに簡単にアクセスできる小さな穴があります。

ボウルホルダー

このプラスチックのパーツは、金属製のフードボウル(もちろん、愛猫の名声と栄光のために、金色のフィラメントでプリントされている)を置くために使われる。ネオジム磁石2個でベースとつながっている。

サーボホルダー(レベル1)

このレベルは、サーボが次のレベルにある部品を回転させる間、サーボを保持するために使用される。また、料理の盛り付けを良くするために小さな傾斜がついている。

レーション・メカニズム・コンテナ(レベル2)

上に置かれた容器から食品を取り分けるシンプルな汎用水準器。サーボで回転する。

食品容器ホルダー(レベル3)

この部品は食品容器を保持するために使用される。3Dプリントされなかった唯一のプラスチック部品です。私は、3Dプリントした部品で食品に接触するのを最小限に抑えたかった。理論的には、透明なPLAプラスチックには有毒な汚染物質は含まれていませんが、私は一番安いシリアルディスペンサーを購入し、念のため食品容器のパーツを取りました。また、見た目もとてもクールだ。

ハウジングと蓋

最後の2つの部品はハウジングと蓋だった。見栄えを良くし、猫の賞賛を得るためにゴールドを増やした以外は、特別なことは何もない。

各部

最終組み立て

ソフトウェア

Raspberry Piは、以下の方法でプロビジョニングされたRaspbianを実行しています。 ansibleプレイブック これらのサービスを実行する:

モーション・アイ

MotionEyeはオープンソースのソフトウェアです。Raspberry Piに接続されたあらゆるカメラを検出する。さらに、動体検知、ストリームを共有するためのエンドポイント、Webhookのサポートも提供されています。

サーボサービス

サーボの回転を制御します。単純に Python このスクリプトは、私のスマートハウス・ソフトウェアを実行しているMQTTサーバーに接続し、ローテーションのトリガーとなるメッセージを待つ。

サービス

サーボサービスと同様に、MQTTで制御される光源用のプロトコルを実装している。 ホームアシスタント.

ホーム・アシスタント・オートメーション

そして最後に、給餌のトリガーとなるHomeAssistantオートメーション。

これは、2つの状況で食品を分配するトリガーとなる:

この自動化 コード こんな感じだ:

- エイリアス猫に餌をやる
引き金を引く:
- プラットフォーム:州
entity_id: 'binary_sensor.iss'
from: 'off'
に:オン
- プラットフォーム:州
entity_id: calendar.cat_feed_schedule
from: 'off'
に:オン
アクションだ:
- サービス:script.feed_the_cat

概要

明らかに、このバージョンは最後のものではありません。でも、目的は果たせた。猫には栄養が行き届き、私には怠惰な朝が待っている。

続きを読む

E-commerce:2020年の新しいゲームのあり方(レポート)

危機の中でどのようにビジネスを運営するか?

Rubyプログラミング。初心者用ターミナル - パート2

jaJapanese