用树莓派追踪我家猫咪的排便情况
PIR触发器
用法
传感器与电路板的连接
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
作为一名曾经养过狗、如今第一次养猫的人,我惊讶地发现猫咪几乎从出生起就会“上厕所”。我早就做好了清理猫砂盆时忍受异味的心理准备。然而,我万万没想到它们的排泄物(💩)味道竟然如此浓烈,几乎熏遍了我半个公寓。
这可能不适用于所有人,但对我来说确实如此,我养了一只室内猫,住在两居室的公寓里,没有自然通风的地方放置猫砂盆。
故事中的英雄/反派
她的名字叫 杜阿 ,是一只可爱又爱玩的 玳瑁色流浪猫 。杜阿喜欢玩她的老鼠玩具,也 超爱吃 湿粮,而后者大概就是我写这篇帖子的原因吧😵💫
我把她的猫砂盆放在我第二个卫生间的淋浴间里。卫生间里有个排气扇,开灯的时候就会运转,但是她
拒绝 她还没弄明白每次上大号的时候怎么开关马桶……是不是很烦人?
排气扇自动化
为了减轻气味,我希望当杜阿上猫砂盆时,灯能自动亮起。为此,我准备了以下几样东西:
调用 webhook(进而触发 Alexa 例程)的软件可以在这里找到:
PIR触发器
将 PIR 传感器连接到 webhook 的脚本。
用法
将仓库克隆到文件夹中,安装依赖项,然后在后台运行。
# Install requirements
pip install -r requirements.txt
# Run in background
# TODO: Find/Document a better way to do this
TRIGGER_URL=" <webhook_url>" python main.py &
Enter fullscreen mode
Exit fullscreen mode
否则,请将其添加 TRIGGER_URL = "<webhook_url>"到 .env文件中,脚本会自动读取。
该脚本会将自身的进程 ID (PID) 写入目标地址, pid.txt以便后续使用。例如:
# Follow output of background process
tail -f /proc/$( cat pid.txt) /fd/1
# Kill process
kill -9 $( cat pid.txt)
Enter fullscreen mode
Exit fullscreen mode
传感器与电路板的连接
电缆图在此
该脚本的灵感来源于 树莓派基金会的这篇文章 ,并采用了他们建议的示例布局。传感器需要 5V (Vcc) 和地线 (GND),因此引脚 2 和引脚 6 都可以正常工作。将传感器的输出 (Out) 连接到……
有用!
以下是硬件运行时的样子
树莓派和运动传感器
我们这位英雄/反派的GIF画质太差了
💩 统计数据
一切准备就绪后,我更进一步,添加了 Opentelemetry 来跟踪 Honeycomb 上例程触发的频率统计信息。
我想知道我是否因为运动传感器的误报而打开了浴室的灯,但经过一些测试后,它仅仅起到了显示她多久使用一次猫砂盆的作用。
过去7天的💩活动
过去24小时的排便活动
有趣的是,我可以根据猫砂盆的触发次数(运动传感器触发次数)判断她平均每天使用猫砂盆约 8.5 次。我想很少有猫主人能像我一样了解自家猫咪的排便规律。 不过,我的确记得很久以前 Aaron Patterson做过类似的事情,并从中获得了灵感。
总之,就这些了。纯粹生活!
文章来源:https://dev.to/fdocr/keeping-up-with-my-cats-using-a-raspberrypi-oia