基于STM32的宠物远程投喂和监测系统设计
Design of Embedded Pet Remote Feeding and Monitoringsystem Based on STM32
DOI: 10.12677/CSA.2023.1310186, PDF, HTML, XML, 下载: 427  浏览: 2,121  科研立项经费支持
作者: 陈 典, 涂 晔*, 沈映涛, 成 霜, 方 愉, 段如意:玉溪师范学院物理与电子工程学院,云南 玉溪
关键词: 嵌入式自动投喂器远程控制智能家居Embedded Automatic Feeder Remote Control Smart Home
摘要: 随着人们生活和精神追求的不断提高,养宠物成了更多家庭的选择,为了帮助主人们在不影响工作的同时更好的照顾宠物,本文提出了一种基于STM32的宠物智能投喂装置,该装置将远程定时定量喂食、喂水与环境监测功能相结合,包括时钟模块、温湿度传感器模块、大气传感器模块、Wi-Fi模块、录音模块、执行器模块等,结合云平台,实现通过手机端远程投喂和实时查看环境信息,帮助用户更优质的照顾宠物,培养宠物合理的饮食习惯。
Abstract: With the continuous improvement of people’s life and spiritual pursuit, pets have become the choice of more families, in order to help owners better take care of pets while not affecting work, this paper proposes a pet intelligent feeding device based on STM32, which combines remote timing quantitative feeding, water feeding and environmental monitoring functions, including clock module, temperature and humidity sensor module, atmospheric sensor module, Wi-Fi module, recording module, actuator module, etc., combined with cloud platform, Realize remote feeding and real-time viewing of environmental information through mobile phones, help users take better care of pets, and cultivate reasonable eating habits of pets.
文章引用:陈典, 涂晔, 沈映涛, 成霜, 方愉, 段如意. 基于STM32的宠物远程投喂和监测系统设计[J]. 计算机科学与应用, 2023, 13(10): 1882-1888. https://doi.org/10.12677/CSA.2023.1310186

1. 引言

随着人们生活质量的提高,更多的人开始注重自己的精神生活,养宠物已成了更多人排遣压力、缓解孤独、增加安全感的方式。经过考察,当下大多数正在或想要喂养宠物的人群在工作与照看宠物的矛盾问题上始终无法得到好的解决。因为就目前市场上绝大部分的宠物投喂装置,其只能满足喂水或定时喂食,功能单一且缺乏预警功能。因此,基于以上问题本文提出了基于STM32的智能宠物远程投喂和监测系统,该系统设计将远程定时定量喂食与自动喂水相结合,加入环境监测及报警模块,实时监测环境信息并通过云平台将数据传送至主人手机端,当监测环境数据超过一定阈值,系统将会第一时间发出报警信息提醒主人处理。另外,加入录音模块,通过提前录入语音,远程控制播放以实现与宠物玩耍、呼唤喂食等功能。整个模型以模拟到真实的宠物远程投喂及环境监测的状态,实现智能化的控制,更为贴合当下受众人群的需求,作为“宠物管家”解决主人们的担忧,帮助其更好的喂养和照顾宠物。

2. 研究背景

2.1. 智能宠物系统研究背景

现在的科技发展越来越快,各种智能用品也相继出现在市场上,这些产品进一步使劳动力得到解放、使人们的生活更加便利。智能家居已经普遍存在于家庭中,随着企业对智能化的投资和技术人员不断的创造发明,他们所拥有的技术也正在不断进步,在不久的将来家居的智能化会越来越高。

如今,年轻人特别是城市上班族的精神压力愈来愈大,养宠物已经成为了人们化解孤独、缓解焦虑的优质选择。这就使得近年来宠物经济的规模不断扩大,宠物用品也逐渐向着智能化、物联化的方向发展 [1] 。本次研究主要是针对宠物的定时定量投喂,环境监测和基于Wi-Fi的远程控制的研究,通过设计仿真宠物自动投喂器的模型,解决主人们无法按时给宠物喂食及看管的问题,达到模拟真实家庭宠物喂养,监护的目的。

2.2. 国内外的研究现状以及发展动态

2.2.1. 国内研究现状

国内关于宠物喂养机器人研究已经有了初步发展,例如张杰斌,谢泽奇等人提出的一款基于STM32的宠物智能投喂装置 [2] ,该装置以多个子模块互配合相,共同完成针对宠物进行定时定量投喂及环境监测,以及实现主人们随时随地通过智能设备了解宠物生活环境,为宠物加餐的需求;王丽莹等人提出的一款远程实时智能精准喂养宠物系统 [3] ,该系统是一款基于树莓派4B,结合舵机、传感器和OPENMV4等开发的远程实时智能精准喂养宠物系统,侧重于结合软件实现多宠物的同时喂养。但以上两种产品目前都只处在研究阶段,并未真正投入使用。

综合来看,目前国内市面上存在许多宠物饲养的类似产品,例如:宠物自动喂食器,宠物智能训练设备,宠物智能项圈,宠物猫健康监测仪等。

2.2.2. 国外研究现状

在国外,家庭机器人的研究起步较早,例如2012年微软公司的Jordan Cor-rea制作了一个名为“DarwinBot”的宠物机器人,这台机器人能够实现远程操控并与宠物玩耍,但缺点是机身过于庞大且仅能够通过电脑对机器人进行操控;澳大利亚一家公司推出了一款可穿戴的宠物GPS (全球定位系统)追踪设备 [4] ,主人们只需将其固定在宠物项圈上,就可通过相应终端实时查看宠物位置。此外在国外也有通过发送手机短信实现一键远程喂养的产品设计。

总的来说,目前已经研发并推广销售的宠物喂食产品大致以功能分为监护机器人和喂食机器人两种,但存在一些不足:

(1) 功能单一,绝大多数产品都只针对于喂食,监护或者与宠物互动其一功能,无法更好的满足大多数人的需求。

(2) 实现监控和数据传输的机器人体型较为庞大及控制方面具有一定局限性;将会影响主人们的日常生活,且当面对一些狭小的环境将无法完成工作;控制方面则只能近距离通过电脑进行控制,不具备远程控制的条件。

(3) 互动类产品价格昂贵且华而不实,不能被当下大部分宠物主们所接受。

3. 系统设计方案

本系统主要实现宠物的远程和按键预设自动投喂,环境监测,喂食叫唤,自动报警等功能。如图1所示,系统结合了STM32串行通信,Wi-Fi通信模块以及物联网云平台的开发应用实例,由单片机系统对传感器的执行输出信号,测量数据通过串行通信方式与ESP8266-Wi-Fi通信模块上传至云平台,由物联网云平台存储、分析处理及展示,同时用户可以通过物联网云平台设置自动控制策略或者手动控制方式来控制连接在STM32单片机系统上的执行器,达到远程监测和控制的目的 [5] 。

Figure 1. Overall block diagram of the system

图1. 系统总体框图

4. 硬件设计

本文所介绍的基于STM32的宠物远程投喂和监测系统由被广泛使用的STM32F103C8T6芯片、RTC实时时钟模块、DHT11温湿度传感器、MQ135气体传感器、ESP8266-Wi-Fi模块、ISD4044音频模块、MG995舵机等模块构成。

4.1. 单片机的选择

本系统在单片机上采用了STM32F103C8T6芯片,该芯片为意法半导体公司出品的中低端32位ARM微控制器,内核是Cortex-M3,工作频率为72 MHz,可集成多种外设功能 [6] 。完全可以满足系统系统设计的需要。

4.2. 实时时钟模块

本系统所采用的实时时钟模块是STM32芯片的独立定时器。其包括一组不间断计数的计数器,通过软件配置,可实现电子时钟日历的功能,这是本设计实现定时投喂的关键。

RTC配置函数(预分频,闹钟值):

void RTC_SetPrescaler(uint32_t PrescalerValue);//预分频配置:PRLH/PRLL。

void RTC_SetAlarm(uint32_t AlarmValue);//闹钟设置:ALRH/ALRL。

4.3. DHT11温湿度传感器

本系统的温湿度检测采用的是DHT11温湿度传感器,它可同时将40Bit的检测数据直接通过一个I/O端口传输至主控芯片,使得其具有极高的可靠性与稳定性 [7] ,其功能如表1所示。如表2所示,DHT11采用的格式为单总线数据格式,进行双向串行输出。该传感器在本系统中用于对宠物所处环境进行定时监测,通过STM32单片机发出指令,控制DHT11将采集到的40 bit数据统一输出给单片机,经单片机的分析处理后将得到的温湿度数据显示在手机端及OLED显示屏上 [8] 。当监测到的数值超过设定范围,将由主控芯片通过云平台向宠物主发送报警信息。

Table 1. Functional diagram of DHT11

表1. DHT11功能表

Table 2. DHT11 pin diagram

表2. DHT11引脚连线表

4.4. MQ135气体传感器

对于环境中空气质量的检测本系统采用了MQ135气体传感器,其通过在洁净空气中电导率较低的气敏材料二氧化锡实现对污染量的检测,当污染气体浓度越高时,传感器的电导率也就越高。如表3所示,MQ135传感器对氨气、硫化物、苯系蒸汽、烟雾等有害气体也具有较高的灵敏度,通过该传感器可以对室内环境中的多种有害气体进行检测 [9] 。当系统检测到宠物所处环境空气出现被污染,例如:火灾、煤气泄漏等危险情况时,系统将第一时间向主人发送报警信息。

Table 3. Functional diagram of MQ135

表3. MQ135功能表

4.5. ESP8266-Wi-Fi模块

Wi-Fi模块选用的是乐鑫科技的ESP8266-Wi-Fi模块。通过STM32F103C8T6的串口来连接ESP8266,实现模块Station指令的发送和返回信息的接收 [10] 。该模块以系统为热点,手机端为Station接入无线服务,进而与云平台实现互联,与STM32F103C8T6进行数据交互;同时,8266与主控芯片之间通过串口进行数据的传输。手机端控制Wi-Fi输出数据,芯片接收到数据后控制数据显示模块、放食模块等的动作 [11] 。

4.6. 音频模块

音频模块采用的是ISD4004芯片,该芯片是以ISD2500语音芯片为基础设计开发,可以达到8 min的录放音时间,并且可进行多段音频的设置,进行录音的内容可多种化 [12] 。通过相应的软件配置,可实现定时播放的功能,以达到在喂食时呼唤宠物的目的。

4.7. 按键及OLED显示模块

按键部分采用了多个可独立操作的按键,按照相应功能配置实现音频播放、停止、录制,以及投喂时间、投喂量预设的功能。显示模块采用的OLED12864液晶显示芯片,相比于传统的LCD显示屏,OLED显示屏可显示范围更广,分辨率更高,除可以显示数字、字符、字母外,还可显示图案、汉字等;STM32采用4线串行SPI接口方式与12864芯片进行通信 [13] 。芯片与驱动显示面板通过软件设计即可实现温湿度测量值、投喂量及投喂时间预设值等信息的实时显示。

4.8. 执行器模块

经过对比,系统出料口阀门决定采用借鉴蝶形阀的设计,在送料通道中加入圆形阀门,通过舵机控制阀门绕轴旋转实现放料,配合食盆底部的压力传感其以实现定量出料,选用蝶形阀设计既能在一定程度上避免卡料问题的出现,又能为储粮仓创造一个相对密闭的空间,避免宠物食粮受潮,细菌滋生。其中舵机采用是MG995舵机,其工作扭矩为13 KG/cm,工作电压为3~7.2 V,工作电流为100 mA,材质为金属铜齿、空心杯电机、双滚珠轴承无负载,操作速度为0.17 s 60度(4.8 V);0.13 s 60度(6.0 V)。当STM32接收到控制信号,其会通过计算将信号转化为PWM信号输出到舵机,如图2所示,通过输出不同占空比(0.5~2.5 ms的正脉冲宽度)的PWM信号使得舵机快速旋转不同的转角(−90˚~90˚)。由于PWM信号的脉冲宽度可实现微秒级的变化,且其控制信号的变化完全依靠硬件计数 [14] ,因此其具有精准性高、稳定性好等优点,完全可实现本系统定量投喂的功能。喂水模块考虑到外露水容易受污染的情况,决定采用红外感应式出水,当宠物靠近红外传感器感应区时,传感器将信息传输给单片机,经过处理后发出指令控制出水阀工作,当放出固定量水时,阀门将自动闭合。

Figure 2. The correspondence between PWM signal pulse width and servo output angle

图2. PWM信号脉宽与舵机输出转角对应关系图

5. 软件设计

在基于STM32的远程投喂及监测系统的软件部分中,主要是对DHT11温湿度传感器、MQ135气体传感器、OLED12864液晶显示、MG995舵机、ISD4004语音芯片等模块进行配置和设计开发。具体程序开发选用Keil5。该系统以STM32F103C8T6为主要控制芯片,系统操作可分为按键模块操作和通过云平台与手机端连接远程操作两种方式,按键控制是通过功能按键控制系统进行动作预设及控制;远程控制则是通过云平台建立系统与手机端的数据交互,由主控芯片将放食量,投食时间以及传感器监测数据实时上传至云平台,而后通过手机端查看数据以及远程控制。具体流程如图3所示:

Figure 3. System flow chart

图3. 系统流程图

具体设计如下:

(1) 使系统各子模块初始化,以及对OLED1286初始化和清屏操作,对按键初始化以及对相关寄存器进行配置等。

(2) 对投食量、投食时间的设定以及录音功能的配置,并把信息反馈至手机端。

(3) 当手机端发出指令,将传送至STM32F103C8T6进行分析并控制相应执行器完成操作。

(4) 当定时投喂时间到,主控芯片控制舵机、录音模块配合完成投喂,同时将投喂信息发送至手机端。

按键模块子程序是针对投食系统所要实现的各种功能进行程序设计,包括投食量调节按键、定时时间调节按键、音频录制、播放及暂停等功能按键,按下对应功能按键,可进入相应功能界面进行设置。远程控制子程序是针对手机端程序设计以及如何与主控芯片进行数据交互。语音模块子程序是接收手机端和主控芯片发送的控制指令及语音数据并播放以提醒宠物进食。投食模块子程序则是发出动作指令控制MG995舵机控制蝶形阀开合,结合压力传感器以实现放食量的精确控制。OLED显示模块子程序主要是显示投喂时间、投喂量的设定值及传感器的实时监测数据。

6. 结束语

本文设计了一款基于嵌入式系统的智能宠物喂食器,将远程喂食喂水和环境监测两功能结合,加入音频模块及温湿度、空气环境监测模块,可实现远程投喂、与宠物互动及实时环境监测等功能,当出现意外情况,主人们会第一时间收到报警信息。该系统能够进一步的解决了主人们对宠物缺乏时间照顾的担忧,帮助其更健康,规律养宠。

基金项目

基金项目:玉溪师范学院大学生创新创业训练计划项目,项目名称:宠物自动投喂与远程监测系统(项目编号:2022A024)。

NOTES

*通讯作者。

参考文献

[1] 上海艾瑞市场咨询有限公司. 中国宠物消费趋势白皮书(2021年) [Z]. 艾瑞咨询系列研究报告, 2021(5): 51-118.
[2] 张杰斌, 谢泽奇. 基于STM3的宠物智能投喂装置的设计与实现[J]. 科技创新与应用, 2021(10): 93-95.
[3] 王丽莹, 束祖娜, 陈浩文, 等. 远程实时智能精准喂养宠物系统[J]. 中国新技术新产品, 2023(12): 29-32.
[4] 杨文静. 萌宠服装大生意[J]. 纺织科学研究, 2015(7): 74-75.
[5] 梁世民. 基于STM32和Wi-Fi通信模块的简易物联网远程监控系统设计[J]. 中文科技期刊数据库(文摘版)工程技术, 2022(9): 107-109.
[6] 谢泽健, 唐艳芹, 王玉兴. 远程智能型宠物喂养系统开发[J]. 现代电子技术, 2022(16): 165-169.
[7] 魏宏, 王锡康, 李新壮, 谭皓洲. 大数据背景下的智慧家居控制系统[J]. 电脑迷, 2018(4): 109.
[8] 付文新, 王洪丰. 基于STM32单片机和DHT11温湿度传感器的温湿度采集系统的设计与实现[J]. 光源与照明, 2022(3): 119-121.
[9] 张静, 石煜, 杨继森, 等. 室内环境智能控制系统设计[J]. 实验室研究与探索, 2016(7): 65-69.
[10] 陈海峰, 张义宽. 基于STM32 + ESP8266的桌面型网络天气时钟系统设计[J]. 微型电脑应用, 2023(3): 21-24.
[11] 龙小丽, 杨泽锋, 黄闯. 基于单片机的智能宠物投食系统设计[J]. 信息技术与信息化, 2021(4): 235-237.
[12] 王赟, 葛文爽. 基于ATmega16及ISD4004的电子留声机设计[J]. 技术与市场, 2016(7): 70-71.
[13] 焦石, 王琛, 胡泽原. 基于STM32的OLED显示屏驱动设计[J]. 电子世界, 2018(12): 127-128.
[14] 时玮. 利用单片机PWM信号进行舵机控制[J]. 今日电子, 2005(10): 80-82.