作者:yangjie | 更新时间:2020-03-01 | 浏览量:1356
感谢贝壳网提供的平台,让我可以利用天猫精灵进行语音控制猫饮水机、猫砂盆风扇开关、喂食器设置等功能,并可以通过贝壳APP或公众号查看各类状态。
下面的文章比较长,我把DIY的思路以及使用到的文章都列出来了,感兴趣的朋友参照下面文章的内容基本都可以实现,如果有朋友对文章中某个外围电路或功能实现需要详细了解的可以回帖,我有空见到会回复的。(我对外围的这些电路以及arduino的开发是边学边实现的,菜鸟一个,有不足的还请各位大佬指导)
DIY前提介绍:
家里有4只猫,平时照顾需费些精力,由于比较喜欢折腾,就一直琢磨怎么能减轻一点工作量并改善猫猫们的生活环境,因此有了前期的一个版本,这个DIY版本当时只考虑要低功耗,因此arduino pro mini平时是休眠状态(功耗仅几mA,当时量的好像是,不太记得了)主要是外围电路自动工作,仅在喂食器工作时唤醒pro mini上传数据至某些云平台,我通过手机远程查状态,仅此而已,当时并没考虑使用远程控制。
考虑到是DIY,硬件都是很低成本的东西(我也知道有很多感应喂水器和喂食器,如果直接买成品就缺少乐趣了,就打算自己DIY)主要的硬件有:
arduino pro mini 当时基本没什么用,主要用来统计每次感应喂水器工作时唤醒进行一次饮水次数统计后继续休眠,最后在喂食器喂食时通过电机引出的线产生管脚电平变化中断休眠上传数据至onenet。
(参考文章https://www.arduino.cn/thread-31850-1-1.html)
人体红外感应模块(可设置延时时间的那种)主要用于饮水机及猫砂盆旁加装的一个抽风机,猫猫走近,自动喂水延时XX后自动关闭。以及猫猫们上厕所时自动打开抽风机祛除臭味(同时我还加装了一个负离子发生器同步抽风机工作时开启,并延时30分钟左右关闭。现在还是由于猫太多实在没办法买了一台自动猫砂盆,不然清理都清理不过来了),工作原理就是利用人体红外感应模块触发后高电平控制三极管做开关进行控制。
ESP8266 经过测试ESP8266上电时候瞬间电流挺大的,又不想用继电器就找了好多资料后使用的达林顿管方式(两个三极管接一起做开关),用pro mini进行控制,唤醒时才给ESP8266供电完成后面的数据上传。
喂食器 某宝上买的,几十块钱,这个喂食器的稳定性是没得说的,唯一的缺点就是设置喂食模式和喂食量什么的全需要手工按键设置,而且没有任何显示屏显示是否有进行过喂食,这样我在外面回来就不知道有没有喂食了,后来进行了改造,把按钮通过焊接杜邦线引出来,利用arduino+蓝牙进行远程设置。基本上设置好一次后除非断电,就能一直稳定的运行。并把喂食器的电机引线出来用来对休眠的arduino pro mini进行唤醒,唤醒后自动上传数据到某些平台,我在外面就可以了解家里的猫猫们是否已经吃饭了。
PCF8574 用来扩充arduino的IO口。
hx711 称重模块,利用亚克力板DIY,上面放着喂食碗,用来记录每餐喂食的量,最后做一个统计并上传。
DHT11 放在喂食器粮仓内收集粮仓的温湿度。
天猫精灵版本控制的介绍:
最近在家呆着闲来无事,把封尘几年的天猫精灵翻了出来,突发奇想进行的改造,硬件上,我没有做太多修改,改造前期就是把贝壳网的下面两个栏目看了N遍以及多次试验后实现的。
https://www.bigiot.net/help.html
https://www.bigiot.net/talk.html
最终的成型是参照下面几篇文章实现的,非常实用。
https://www.bigiot.net/talk/927.html
https://www.bigiot.net/talk/193.html
https://www.bigiot.net/help/2.html
https://www.bigiot.net/talk/1.html
https://www.bigiot.net/talk/960.html
细心的朋友可能会发现在上面截图的子设备列表里面有小米网关的字眼,这个改造思路我也是突发奇想的。使用过小米安全网关的朋友应该知道,其是可以通过手机APP或小米按键进行布防、撤防、打开、关闭夜灯等功能的,我想更方便一些,就把小米网关按钮拆了,测量得出按键是触发的低电平,(在此顺便和大家解释一下因为通过第三方接入天猫精灵所以接入设备的名称都是固定的,因此前面的截图我只能选择一些比较搞笑的名字来定义了),就利用贝壳网通过天猫精灵进行控制小米网关的布防、撤防以及打开、关闭夜灯功能。
分享这篇文章的目的只是想给有这方面兴趣的朋友一个思路,引用前期比较火的一个词:“万物皆可盘”
感谢大家的阅读,也希望大家也能分享一些DIY的想法。