构建一款适用于老年犬的活动监测器
扫描二维码
随时随地手机看文章
老年犬的一个问题在于它们通常会睡很多觉。所以当我的狗每天睡 18 个小时时,这到底是它的新常态呢,还是有什么不对劲的地方呢?等到它出现跛行或哀鸣的症状时,通常已经错过了数周的预警信号了。
我的兽医大致是这么说的:“要留意他的活动规律。”好极了。怎么了?
商业化的狗狗活动追踪器起价在 200 美元以上,并且需要每月订阅服务。对于一只活动范围仅限于“院子和沙发”的 13 岁狗狗来说,我并不需要 GPS 或移动网络功能。我只需要了解它的活动模式即可。于是我就自己制作了一个。
其工作原理
他衣领上的一个小盒子里装着:
•WeMos D1 Mini Pro(ESP8266)——微控制器 + WiFi
•MPU-6050 - 三轴加速度计 + 陀螺仪
•TP4056 - 聚锂电池充电电路
•锂聚合物电池 - 3.7 伏,约 500 毫安时
每隔约 100 毫秒,D1 Mini 就会读取加速度计数据,计算出大小 = √(x² + y² + z²),然后减去重力(约 9.81),并据此对状态进行分类:
•幅度 < 1.0 → 安静状态
•1.0 ≤ 强度 < 1.5 → 步行
•规模≥1.5 → 激活/运行
当状态发生变化时,D1 Mini 会通过 Wi-Fi(HTTP POST)将该信息推送到一个小型仪表板端点。我的手机会收到推送通知(“派派现在已启动/运行”),同时还会收到当天的模式日志,这样我就可以将今天的情况与上周进行比较。
这并非医疗设备。对于普通人而言,这几乎是他们能想到的最接近“我的狗今天过得怎么样了?”这一问题的解决方案,而且无需订阅服务即可使用。
电路概述
MPU-6050 → D1 Mini(I²C):
•VCC → 3V3
•GND → GND
•SCL → D1
•SDA → D2
功率(TP4056 充电器):
•BAT+ / BAT− → 蓄电池正负极导线
•OUT+ / OUT− → D1 小型 5V / GND
分步组装
•首先更新固件——在板子放入外壳之前操作会更简单些。在 Arduino IDE 中安装 ESP8266 核心,将板子设置为 LOLIN(WEMOS)D1 mini Pro,设置 WiFi 登录信息和手机端口 URL 于代码顶部,并进行上传。
•将 MPU-6050 通过 I²C 接口连接到 D1 Mini(VCC/ GND/SCL/ SDA 如上所示)。打开串行监视器——您应该能看到加速度计的数值在不断更新。
•将 TP4056 与锂电池和 D1 Mini 连接起来。在连接电池之前要仔细检查极性;锂电池对极性有严格要求,一旦接反就会损坏。
•在测试台上进行测试。摇动组件——串行监视器和您的手机端点都应显示状态转换:静止 → 步行 → 活动。
•将设备安装在箱体内。我使用了一个小型塑料食品容器。电池放在底部,D1 Mini 位于顶部,MPU-6050 用胶带固定在特定位置,以确保加速度计的坐标轴保持一致。
•将盖子密封好,并用魔术贴将外壳固定在项圈上。在盒子上穿入两条扎带,并将其绕过项圈作为机械备用装置(请参阅“提示与经验总结”——仅使用魔术贴在移动的狗狗身上是不行的)。
系在衣领上
从这一周的狗狗测试中得到的深刻教训是:不要仅仅依赖魔术贴。皮皮在第一次测试中就成功在 24 小时内将围栏从身上卸了下来。真正有效的办法是:
•使用魔术贴将外壳固定在衣领上,使其平整贴合。
•再用两根扎带穿过盒子并绕过衣领,以增强固定效果。
•位于项圈底部的防护罩(这样在它滚动时受到的冲击较小,视觉上的影响也较小)
经验和教训分享
移动中的狗狗身上连接线会松动而产生振动。一周后,首批产品就有半部分连接线断开了。解决办法(按耐用性排序):用胶带固定接头(最差),将所有部件焊接起来(较好),在每个连接处使用热缩管(最好)。
阈值因犬种而异。1.5G 对体型庞大且性格温顺的犬只来说过于灵敏。对于皮皮(一只大型拉布拉多犬)来说,1.8 - 2.0G 的数值效果更好。体型较小或精力旺盛的犬只则需要不同的数值。观察数值几个小时,然后根据你的狗的静止/行走/奔跑状态设定阈值,使其清晰区分开来。
仅推送状态变化信息。对每个样本进行推送会占用大量手机资源、耗尽电池电量,并且也无法为您提供任何新信息。只有在分类状态发生变化时才发送通知,并设置一个小的滞后时间,以免一帧画面的波动就触发通知。
如果你居住在潮湿的地方,请密封电缆入口。如果是这样,就使用硅胶,而不是热胶——热胶无法与大多数项目箱塑料长期牢固粘合。
结果
大约一周后,我便对皮皮每天的活动有了一个清晰的了解:
•晨间散步——活动量显著上升
•上午晚些时候——安静休息,通常是在舒适的沙发上进行。
•下午中段时段——长时间的休息(这是他一天中时间占比最大的一段)
•晚餐时间——节奏略有加快(确实令人惊讶;直到数据呈现出来我才意识到会有这种现象)
晚间散步——第二次急剧上升
夜晚 - 睡眠中
一旦那种模式发生变化,我就能在第一天就察觉出来,而不是在第十四天才知晓。这就是关键所在。
本文编译自hackster.io





