基于微信小程序的宠物自动喂食系统

2019-07-20 标签:宠物自动喂食系统,小程序 浏览数:42

摘要: 以微信小程序为远程控制端的智能家居系统,由此实现对家中宠物按计划定时定量自动投喂、取食反馈等功能。基于μC/OS-II和STemWin搭建本地控制界面,以便同时实现网络远程管理和本地设置计划、覆盖、缓存等功能。

资讯主图

0 引 言

现代家庭常有饲养宠物的习惯,但宠物的喂养却成了一大难题,一方面是饲养者通常需要在工作日外出上班导致无法及时喂食;另一方面,人工喂食的量不易控制,饲养者因为其他事情忘记投喂也时常发生。这些问题都极大地影响了人与动物的和谐相处,更增添了饲养者的烦恼。为解决以上问题,笔者基于STM32嵌入式核心设计并制作了一套联网自动喂食系统,不同于以往的脱机自动喂食器,本系统通过接入互联网,可有效将设置计划-进行投喂-宠物取食-推送通知反馈形成闭环消息链路,实现对宠物喂食的自动化控制,将热爱宠物却忙于工作的“上班族”解救出来。


1 微信小程序自动喂食系统的设计

1.1 整体框架

自动喂食系统结构如图1所示。

1.2 控制部分

自动喂食系统的控制部分以STM32F103VET6大容量增强型芯片为核心。该型号的嵌入式核心为ARM Cortex-M3架构,具备512 kb FLASH,64 kb RAM,足以支撑STemWin图形界面的运转,十分适合移植μC/OS-II嵌入式实时系统。此外,该核心还含有4个用于控制TFT-LCD屏幕的FSMC接口以及80多个I/O口,能够十分方便地操作市面上常见的TFT-LCD触摸屏且不会造成I/O口紧张。系统会在上电后初始化网络模块和本地GUI模块,从服务器获取本设备的计划任务,最后保存至本地,即使网络断开,喂食器也能从本地缓存中读取计划进行投喂。

经过近60年的发展,临床营养支持已从纠正营养不足的辅助治疗方式转变为一种主要或次要的治疗方法。营养支持不再停留在基本的营养物质补充,而是维持和修复组织器官的结构、功能,增强免疫,调控内分泌,从而改善患者病情,提高临床疗效。肠内营养制剂 (enteral nutrition preparations)作为营养支持的重要途径,其优势不断展现,使用率显著增加,在 “肠道有功能且能安全使用”的情况下,被视为首选。

1.3 通信部分

无线网络通信芯片采用国产的ESP-WROOM-02模组,该模组由乐鑫公司生产。基于ESP8266EX芯片设计开发的物联网模组集成有TCP/IP协议栈,32位低功耗单片机,10 bits ADC及UART,HSPI,I2C,I2S,PWM接口。此外,该模组的长和宽仅为18 mm及20 mm,易于集成到空间受限的产品当中。ESP-WROOM-02的低功耗模式性能优异,保持WiFi连接仅需1.2 mW,同时,该模组还配置了16 Mbits的SPI闪存,可用于存储用户程序和固件。

1.4 机械部分

对于定量出料的喂食器,其出料料斗必须具备精准控制出料量的能力,因此参考医院的气闸室,设计双门结构料斗从一个大容器中取料,在保证两个方向的门不会同时开启后,即可实现缓冲及定量取料。


2 自动喂食系统的具体实现

2.1 自动喂食系统控制部分的软件实现

系统上电后首先将操作系统及图形化界面(GUI)初始化,若存在已经连接过的无线网络则尝试自动连接,否则等待用户通过本地设置界面连接。联网后将生成两个进程,其中一个使用HTTP协议访问指定的PHP页面,通过GET方式获取当前的网络时间和计划任务,在此之后将进入5 s一次的轮询状态以随时感知计划变更。另一任务则是判断当前时间是否为投喂时间,如果是则按照设定的次数进行投喂。自动喂食系统控制部分流程如图2所示。

学者王雨萌、王冰丽等在《浅析解放战争时期党对农民的思想政治教育及现实意义》中对解放战争时期农民思想政治教育概况进行了一定的研究,主要关注对农民进行思想政治教育的背景、必要性、主要内容、方法和原则、现实启示等内容。[5]学者从解放战争时期党对农民的思想政治教育的背景和必要性入手,了解当时社会矛盾的变化以及农民的阶级状况,从土地改革、宣传土地政策中阐述党对农民进行思想政治教育的主要内容和方法原则,进而探究其在新时期农民教育中的现实启示。[7]

图2 自动喂食系统控制部分流程

STM32主控芯片与ESP8266EX模组(即ESPWROOM-02)通过串口上的字符串指令——“AT”进行控制,当系统初始化完毕后,STM32将发送指令使无线网络模块进入透传模式,此时等效于主控芯片直接与服务器通信,可快速传递数据,包括饲料余量、取食状态等。自动喂食系统状态流程如图3所示。

图3 自动喂食系统状态流程

2.2 自动喂食系统的电路实现

2.2.1 ESP-WROOM-02电路设计

自动喂食系统通信模块电路如图4所示。本电路将ESPWROOM-02的多个I/O口引出,并将TXD/RXD串口与CH340G连接,实现在电脑等上位机中进行程序烧录及协议分析。ASM1117为正向低压降LDO稳压电源,量产时间早,价格低廉,性能稳定,常用于输出电流小于1 A的场景,本系统将其作为ESP-WROOM-02无线网络模块的电源。

2.2.2 喂食驱动电路设计

喂食驱动电路采用四IR2104芯片及IR7843场效应管搭建双H桥进行驱动。IR2104是由美国International Rectifier公司生产的半桥驱动器,可通过控制输入PWM信号的占空比来控制驱动输出的电流大小,通过IN1,IN2的反转控制电机的转动方向。自动喂食系统驱动模块电路如图5所示,具体组合方式见表1所列。

图4 自动喂食系统通信模块电路

图5 自动喂食系统驱动模块电路

表1 电机运转方向组合表

IN1状态 IN2状态 电机状态有输入 无输入 正转有输入 有输入 停转无输入 无输入 停转无输入 有输入 反转

2.3 自动喂食系统的机械实现

初始状态时,由于储粮容器中猫粮的重力作用,料斗处于水平状态,并与瓶口紧贴,使得饲料不会外漏。预备存储时的投喂料斗如图6所示。

图6 投喂料斗示意图(预备存储状态)

投料时,料斗后退,由于斜板的阻挡作用,料斗将顺势上移并开口向下,又因为料斗下方的开口并没有阻挡,因此料斗内的饲料可顺利下落。此时料斗结构的挡板同时后退,封闭储粮瓶口,使得储粮容器饲料不外漏。出料时投喂料斗示意图如图7所示。通过反复设计和调整,将每次满载的料斗所能承载的重量设定为M克,这样就可以得到投喂量Efeed、容器内饲料余量Eremain与电机运行次数C的关系:

图7 投喂料斗示意图(出料时)

使用以上两式可以计算出本次投喂电机需要运行的次数及容器内的余量,在饲料余量不足时通知饲养者,同时用于程序计算以显示余量。

2.4 自动喂食系统的远程控制端

本系统的远程控制端使用微信小程序实现。每套喂食器拥有唯一的PIN码和对应SN码,用户注册账号后,输入设备的SN和PIN码,通过HASH计算无误后成功绑定该设备,此后该设备的所有操作及状态都会与绑定的微信号关联,包括投喂、取食、余量不足等信息都会推送至绑定的用户微信,让饲养者随时掌握自动喂食系统的状态。每个用户可以绑定多套设备,分别设置不同的计划,方便使用不同食盆的宠物按照自己的习惯进食。喂食系统的远程控制端界面如图8所示。

图8 喂食系统的远程控制端界面

2.5 自动喂食系统的实物测试

根据上述设计方法,我们制作了如图9所示的实物。其中上部为饲料容器,左中部为LCD屏幕及开发板,右中部为出料斜坡,左下方为ESP-WROOM2-02无线网络模块,右下方为接料容器,宠物将直接在该容器中进食。图10所示为本地设置所用的GUI界面,使用者可以直接触屏控制,使用自行编写的软键盘进行输入。

完成实物制作后,我们进行了一系列的出料稳定性测试。出料稳定性主要由料斗等出料机械设计决定,鉴于存放饲料的容器有两种边界状态,即满载和空载,而实际应用时因为喂食器会及时提醒,所以正常情况下不会出现完全空载的情况,使用者加料时通常也不会完全填满容器,所以我们选取了接近临界状态的两种情况进行出料稳定性测试,通过设定不同的出料量,比较实际出料量和理论出料量的差别并计算其误差百分比。稳定性测试结果见表2所列。由上文可知,系统在容器较满时更加稳定,单次出料量较大。


3 结 语

自动宠物喂食系统以双门单开结构的出料机械结构为基础,以高性能STM32嵌入式芯片为核心,以ESP-WROOM-02无线网络模块为关键拓展,米维信息以微信小程序为用户顶层界面,从底层到顶层、从具体到抽象,实现了本系统的所有预期功能,适用具体人群的具体问题,具有一定的社会经济效益。


关键字: 衡阳微信小程序,宠物自动喂食系统

提供衡阳微信小程序开发,微信营销功能开发、公众号开发等开发服务