「自動でキャンディーが出てくるような機械が見つからなかったため、ネコ向けの自動エサやり機を人間が食べられるお菓子が出てくるように改造した」という猛者が現れました。
Reverse Engineering a Cat Feeder to Boost Productivity
https://www.sensibledefaults.io/blog/reverse-engineering-cat-feeder/index
ネコ用の自動エサやり機を人間のお菓子用に改造したのはジョン・パーティーさん。パーティーさんが改造したのはPETKIT製の以下の自動エサやり機。
これを選んだ理由として、パーティーさんは「給餌量を制限するためのシリコンパーツを備えていて、賢く、食品の扱いが優しく安全性も十分。まさにスナック菓子を分配するのに最適だから」「そして、ただただ見た目が可愛かった」と記しています。
このPETKIT製自動エサやり機で取り扱い可能なネコのエサのサイズは12mm未満のみ。また、フタ部分に乾燥剤が入っているため自動エサやり機の中にエサを入れてから時間が経っても新鮮さを保つことが可能です。
そして以下が、PETKIT製自動エサやり機用アプリの画面。パーティーさんはAndroid版アプリを利用しており、自動エサやり機を使用するペットの種類を選ぶ必要があったものの、人間は設定できなかったため自分を「柴犬」として設定を進めています。
そして、Androidアプリをデバッグするための「Packet Capture」というツールを利用して、手動でエサを与えるためのコマンドを実行している際のAPIリクエストを検出。複数のリクエスト分析した結果、「URLENCODED」セクションの、「amount」(量)「time」(時間)「deviceId」(デバイスID)がURLに含まれていることが判明。
続けて、PETKITアプリのフォークをベースに手動で自動エサやり機を動作させるためのコードを作成。パーティーさんが作成したコードはPythonで書かれており、GitHub上で公開されています。なお、実際に使用するにはユーザー名とパスワードを設定する必要があります。
GitHub – morganpartee/pyPetKit: PetKit python integration library
https://github.com/morganpartee/pyPetKit
あとは、コードの実行をElgato Stream Deck Miniのボタンに割り当て。これでElgato Stream Deck Miniのボタンを押すとHimalayan Salted Dark Chocolate Almondsが数粒出てくる自動お菓子出し機の完成。
実際に動作している様子は以下の動画からも確認可能です。
[embedded content]
この記事のタイトルとURLをコピーする