873-基于STM32的图像识别智慧宠物系统
·
基于STM32的图像识别智慧宠物系统
本设计主要由STM32F130C8T6单片机+OLED屏幕显示电路+5V电源电路+5V蜂鸣器报警电路+K210+水泵电路+DHT1111温湿度检测电路+5V风扇电路+舵机电路组成。
预期实现的功能如下:
1、实时的监测圈舍环境的温度湿度;
2、OLED屏幕实时显示数据和当前时间,并可预设三个投食时间;
3、定时进行食物投放、自动供水并清洁;
4、当监测圈舍的环境数据超过设定的阈值时,蜂鸣器报警,并开启风扇;
5、通过K210进行物体识别,识别到宠物经过时,圈舍自动开门;
6、可以通过按键模块修改报警阈值;
7、可以通过WIFI将所有数据实时的无线传输上传到APP上;
8、可以通过APP发送指令远程修改报警阈值。

MCU-873基于STM32的图像识别智慧宠物系统_哔哩哔哩_bilibili
K210识别代码
import lcd
import sensor
import image
import gc
from maix import KPU
from fpioa_manager import fm
from machine import UART
# 初始化LCD和摄像头
lcd.init()
sensor.reset()
sensor.set_framesize(sensor.QVGA)
sensor.set_pixformat(sensor.RGB565)
sensor.set_vflip(True)
# 初始化串口
fm.register(6, fm.fpioa.UART1_TX, force=True)
fm.register(8, fm.fpioa.UART1_RX, force=True)
uart = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000)
resize_img = image.Image(size=(320, 256))
anchor = (1.3221, 1.73145, 3.19275, 4.00944, 5.05587, 8.09892, 9.47112, 4.84053, 11.2364, 10.0071)
names = ["aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"]
# 构造KPU对象
object_detecter = KPU()
# 加载模型文件
object_detecter.load_kmodel("/sd/KPU/voc20_detect.kmodel")
# 初始化YOLO2网络
object_detecter.init_yolo2(anchor, anchor_num=len(anchor) // 2, img_w=320, img_h=240, net_w=320, net_h=256, layer_w=10, layer_h=8, threshold=0.5, nms_value=0.2, classes=len(names))
while True:
img = sensor.snapshot()
resize_img.draw_image(img, 0, 0).pix_to_ai()
# 进行KPU运算
object_detecter.run_with_output(resize_img)
# 进行YOLO2运算
objects = object_detecter.regionlayer_yolo2()
# 检测到猫或狗时通过串口发送"A"
for object in objects:
if names[object[4]] in ["cat", "dog"]: # 检查是否为猫或狗
uart.write("A")
break # 只要检测到一个猫或狗就发送,避免重复发送
for object in objects:
img.draw_rectangle(object[0], object[1], object[2], object[3], color=(0, 255, 0))
img.draw_string(object[0] + 2, object[1] + 2, "%.2f" % (object[5]), color=(0, 255, 0))
img.draw_string(object[0] + 2, object[1] + 10, names[object[4]], color=(0, 255, 0))
lcd.display(img)
gc.collect()
基于STM32的图像识别智慧宠物系统设计大纲
系统概述
- 项目背景与意义
- 系统设计目标与创新点
- 整体架构与核心模块
硬件设计
- 主控模块:STM32F103C8T6功能与选型依据
- 环境监测模块:DHT11温湿度传感器电路设计
- 显示模块:OLED屏幕驱动与数据实时显示
- 定时控制模块:RTC时钟电路与预设投食时间功能
- 执行模块:水泵、风扇、舵机驱动电路设计
- 报警模块:蜂鸣器与阈值超限联动逻辑
- 图像识别模块:K210开发板与物体识别算法部署
- 通信模块:WiFi数据传输与APP远程交互
软件设计
- 主控程序框架:STM32 HAL库开发流程
- 环境数据采集:DHT11温湿度数据读取与处理
- 定时任务管理:RTC时钟同步与投食/清洁调度
- 阈值报警逻辑:按键修改阈值与蜂鸣器/风扇控制
- 图像识别算法:K210的宠物检测模型训练与部署
- 通信协议设计:WiFi数据传输协议(如MQTT/HTTP)
- APP交互逻辑:远程指令解析与阈值动态更新
系统功能实现
- 温湿度实时监测与OLED动态显示
- 定时投食、供水、清洁的自动化流程
- 宠物识别与圈舍门自动控制
- 本地报警(蜂鸣器)与环境调节(风扇)
- 数据无线传输与APP远程监控
测试与优化
- 硬件模块功能验证(传感器精度、执行器响应)
- 图像识别准确率与实时性测试
- 通信稳定性与延迟优化
- 系统功耗与可靠性分析
应用与展望
- 实际场景部署案例
- 扩展功能(如多宠物识别、云端数据分析)
- 未来改进方向(低功耗设计、AI算法升级)
附录
- 硬件电路图(原理图与PCB设计)
- 关键代码片段(传感器驱动、通信协议)
- 参考文献与开发工具列表
更多推荐
所有评论(0)