ESP32S3 防猫逃脱监测系统

在办公室里,两只可爱的猫咪给大家带来了不少欢乐,但其中一只总爱趁人不注意溜出房间,有时下班后还会被邻居告知它被锁在了外面。为了解决这个问题,我开发了一个基于 SeeedStudio XIAO ESP32S3 Sense 的猫咪逃脱监测预警系统,当猫咪逃出房间时,能及时向手机发送警告。下面就为大家详细介绍这个项目。

什么是xiao esp32?

Xiao ESP32 是 Seeed Studio 推出的一系列小型开发板,以其小巧的尺寸和强大的功能而备受关注。“Xiao” 一方面体现了其尺寸上的小巧,另一方面也暗示着它 “骁勇” 强大的性能。该系列开发板采用经典的小巧外形,尺寸仅为 21x17.5mm ,特别适用于可穿戴设备、空间有限的物联网项目以及对设备体积有严格要求的应用场景 。

一、项目所需物品​

(一)硬件组件​

Seeed Studio XIAO ESP32S3 Sense × 1。这款开发板体积小巧,集成了摄像头和多种传感器,非常适合用于此类监测项目,能满足我们对猫咪活动捕捉的需求。

二、项目制作步骤​

(一)硬件连接​

由于 Seeed Studio XIAO ESP32S3 Sense 集成了摄像头等必要的传感器,在硬件连接方面相对简单。我们只需要将开发板放置在合适的位置,确保其摄像头能够清晰拍摄到房间的门口区域,以便准确捕捉猫咪是否逃脱。可以使用支架或胶带等将开发板固定好,避免因位置移动而影响监测效果。​

(二)硬件连接电脑

三、模型的训练

首先,您需要在 Edge Impulse 用您自己的猫训练您的模型。 这是训练的平台:SenseCraft – the AI Hardware Partner, Intelligence Made Simple

为了更清晰地记录猫咪和偶尔闯入监测范围的狗狗的状态,我特意将捕捉到的猫咪相关图片重命名为 “cat”,狗狗相关图片重命名为 “dog”,这样在后续查看和管理素材时,能一目了然地分辨出不同动物的影像。

为了让系统能精准分辨猫咪和偶尔闯入监测范围的狗狗,我特意导入了包含大量猫咪和狗狗影像的数据集对模型进行训练。同时,将捕捉到的猫咪相关图片重命名为 “cat”,狗狗相关图片重命名为 “dog”,这样不仅方便后续将新数据补充到数据集中持续优化模型,在日常查看和管理素材时,也能一目了然地分辨出不同动物的影像。

定 Xiao ESP32S3 Sense 作为核心硬件后,接下来就是模型训练的关键环节。点击开始训练后,这款小巧却性能强劲的开发板便开始高效运转,依托其搭载的 ESP32 - S3R8 处理器,快速处理导入的包含大量猫咪和狗狗影像的数据集。为了配合训练,我特意将捕捉到的猫咪相关图片重命名为 “cat”,狗狗相关图片重命名为 “dog”,这样不仅方便后续将新数据补充到数据集中持续优化模型,在日常查看和管理素材时,也能一目了然地分辨出不同动物的影像。

四、用AI生成测试图片

项目筹备时,为了精准规划监测范围和摄像头角度,我先借助豆包生成了测试图片。当时输入的命令是 “生成一个猫走出门的后视图,一只猫屁股朝着我走出一个宿舍的门”,很快就得到了清晰的效果图。画面里,猫咪翘着毛茸茸的屁股正往宿舍门外钻,这直观的场景帮我快速确定了开发板的最佳安装位置,避免了后续反复调整的麻烦。

五、测试结果

经过多日的实际测试,该猫咪逃脱监测系统的表现十分可靠。在识别准确性方面,系统对猫咪和狗狗的区分度较高,当猫咪靠近门口并试图出逃时,能准确识别并判定为 “逃脱行为”,而对于偶尔经过门口的狗狗,也能正确识别且不会误发警告,在稳定性上,连续测试期间,系统未出现卡顿、崩溃等情况,即使在办公室光线变化较大的情况下,如白天阳光直射门口和夜晚灯光照明时,摄像头依然能清晰捕捉画面,系统也能稳定运行并保持良好的识别和预警效果。

六、连接蜂鸣器

在本项目中,蜂鸣器选择连接到 Xiao ESP32S3 Sense 开发板的引脚 6。连接时,需先确认引脚 6 的位置 —— 通过查看开发板上的丝印标识,能在引脚排附近找到标注有 “6” 的引脚,这就是我们要连接的目标引脚。​

具体连接步骤如下:蜂鸣器通常有两个引脚,分别为正极和负极。将蜂鸣器的正极连接到开发板的引脚 6,负极则连接到开发板的 GND(接地)引脚。这里需要注意,若蜂鸣器是有源蜂鸣器(内部自带振荡电路,通电即可发声),按照上述正负极连接即可;若是无源蜂鸣器(需要外部提供振荡信号才能发声),也可采用同样的连接方式,后续通过代码控制引脚 6 输出不同频率的脉冲信号来驱动其发声。​

完成硬件连接后,对应的控制代码如下:

// 定义蜂鸣器连接的引脚为6
const int buzzerPin = 6;
// 定义一个变量用于标识是否检测到猫狗越狱,实际使用中由检测模块赋值
bool isEscapeDetected = false;void setup() {// 将蜂鸣器引脚设置为输出模式pinMode(buzzerPin, OUTPUT);}void loop() {isEscapeDetected = checkEscape();if (isEscapeDetected) {// 蜂鸣器响一下(持续500毫秒)digitalWrite(buzzerPin, HIGH);delay(500);digitalWrite(buzzerPin, LOW);// 重置检测状态,避免持续触发isEscapeDetected = false;}// 适当延迟,避免频繁检测占用过多资源delay(100);
}bool checkEscape() {// 若检测到则返回true,否则返回falsereturn false;
}

上述代码中,首先明确了蜂鸣器与引脚 6 的对应关系,在setup函数中把引脚 6 设置为输出模式,为控制蜂鸣器做好准备。在loop函数里,通过checkEscape函数检测是否有猫狗越狱,一旦检测到,就通过引脚 6 输出高电平,让蜂鸣器响 500 毫秒,之后输出低电平停止发声,并重置检测状态,防止蜂鸣器持续鸣叫。你可根据实际使用的蜂鸣器类型和检测逻辑,对代码进行调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90832.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python|OpenCV-实现快速处理图像的方法(23)

前言 本文是该专栏的第25篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在视觉算法落地流程中,数据预处理往往占用 60 % 以上的工程时间。以某沿海城市智慧旅游项目为例,我们从无人机录制的 4K 海滩视频中抽帧得到 10 000 张 PNG 原图,分辨率 38402160,单张体…

Redis四种GetShell方式完整教程

Redis作为高性能内存数据库,若未正确配置认证和访问控制,可能被攻击者利用实现远程代码执行(GetShell)。本文详细讲解四种常见的Redis GetShell方式,涵盖原理、操作步骤及防御建议。方式一:直接写入Shell脚…

clock_nanosleep系统调用及示例

41. clock_nanosleep - 高精度睡眠 函数介绍 clock_nanosleep系统调用提供纳秒级精度的睡眠功能&#xff0c;支持绝对时间和相对时间两种模式&#xff0c;比传统的nanosleep更加灵活。 函数原型 #include <time.h>int clock_nanosleep(clockid_t clock_id, int flags,con…

用了Flutter包体积增大就弃用Flutter吗?包体积与开发效率,这两者之间如何权衡?

是否因包体积增大而弃用 Flutter&#xff0c;本质上是 “短期成本&#xff08;包体积&#xff09;” 与 “长期价值&#xff08;跨平台效率、体验一致性等&#xff09;” 的权衡 。这一决策没有绝对答案&#xff0c;需结合项目阶段、用户群体、业务需求等具体场景分析。以下从核…

80道面试经典题目

1.OSI参考模型七层网络协议? 物理层:定义计算机、网络设备、以及直接连接的介质、接口类型的标准,建立比特流的传输,用来组件物理网络的连接。 数据链路层:建立逻辑连接、进行硬件地址寻址,差错校验、差错恢复等功能。 网络层:进行逻辑地址寻址,实现不同网络之间的通…

本周大模型新动向:KV缓存压缩、低成本高性能推理框架、多智能体协作

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入&#xff01;01Compress Any Segment Anything Model (SAM)受SAM在零样本分割任务上卓越表现的驱动&#xff0c;其各类变体已被广泛应用于医疗、智能制造等场景。然而&#xff0c;SAM系列模型体量巨大&#xff0c;严重限制了在…

利用frp实现内网穿透功能(服务器)Linux、(内网)Windows

适用于&#xff1a; 本地电脑&#xff08;windows&#xff09;或者Linux(本篇未介绍&#xff09; 工具&#xff1a;FRP&#xff08;fast reverse proxy&#xff09; 系统&#xff1a;Linux、Windows 架构&#xff1a;x86、amd Frp版本&#xff1a;frp_0.62.1_windows_amd64准备…

结合二八定律安排整块时间

你是不是常常感觉一天到晚忙忙碌碌&#xff0c;却总觉得没干成几件“要紧事”&#xff1f;时间仿佛从指缝间溜走&#xff0c;成就感却迟迟不来&#xff1f;其实&#xff0c;高效能人士的秘诀往往藏在最简单的原则里。今天&#xff0c;我们就来聊聊如何巧妙运用“二八定律”&…

波形发生器AWG硬件设计方案

目录 简介 设计需求 设计方案 核心原理图展示 简介 波形发生器是一种数据信号发生器&#xff0c;在调试硬件时&#xff0c;常常需要加入一些信号&#xff0c;以观察电路工作是否正常。用一般的信号发生器&#xff0c;不但笨重&#xff0c;而且只发一些简单的波形&#xff…

11.Dockerfile简介

1.是什么&#xff1f; dockerfile是用来构建镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 构建三步骤 编写dockerfile文件docker build命令构建镜像docker run依镜像运行的容器实列 2.dockerfile构建过程解析 1)dockerfile内容的基础知识 …

C# 接口(interface 定义接口的关键字)

目录 使用接口案例 接口继承 练习 定义一个接口&#xff0c;在语法中与定义一个抽象类是没有区别的&#xff0c;但是不允许提供接口中任意成员的实现方式&#xff0c;一般接口只会包含方法 、索引器和事件的声明&#xff0c; 不允许声明成员的修饰符&#xff0c; public都不…

5190 - 提高:DFS序和欧拉序:树上操作(区域修改1)

题目传送门 时间限制 : 2 秒 内存限制 : 256 MB 有一棵点数为 N 的树&#xff0c;以点 1 为根&#xff0c;且树点有边权。然后有 M 个 操作&#xff0c;分为三种&#xff1a; 操作 1 &#xff1a;把某个节点 x 的点权增加 a 。 操作 2 &#xff1a;把某个节点 x 为根的子树中…

【Oracle】数据泵

ORACLE数据库 数据泵 核心参数全解析 ORACLE expdp 命令使用详解 1.ATTACH[schema_name.]job_name Schema_name 用于指定方案名,job_name 用于指定导出作业名.注意,如果使用 ATTACH 选项,在命令行除了连接字符串和 ATTACH 选项外,不能指定任何其他选项,示例如下: expdp hr/hr A…

机器学习的算法有哪些?

&#x1f31f; 欢迎来到AI奇妙世界&#xff01; &#x1f31f; 亲爱的开发者朋友们&#xff0c;大家好&#xff01;&#x1f44b; 我是人工智能领域的探索者与分享者&#xff0c;很高兴在CSDN与你们相遇&#xff01;&#x1f389; 在这里&#xff0c;我将持续输出AI前沿技术、实…

【计算机网络】OSI七层模型

OSI七层模型为什么需要OSI七层模型&#xff1f;OSI七层模型具体是什么&#xff1f;Layer7&#xff1a;应用层&#xff08;Application Layer&#xff09;Layer6&#xff1a;表示层&#xff08;Presentation Layer&#xff09;Layer5&#xff1a;会话层&#xff08;Session Laye…

RS485转Profinet网关配置指南:高效启动JRT激光测距传感器测量模式

RS485转Profinet网关配置指南&#xff1a;高效启动JRT激光测距传感器测量模式RS485转Profinet网关&#xff1a;让JRT激光测距传感器高效开启测量模式在工业自动化场景中&#xff0c;设备间的高效通信是实现精准控制的关键。RS485转Profinet网关作为连接传统RS485设备与现代Prof…

「日拱一码」040 机器学习-不同模型可解释方法

目录 K最近邻(KNN) - 基于距离的模型 决策边界可视化 查看特定样本的最近邻 ​随机森林(RF) - 树模型 feature_importances_ SHAP值分析 可视化单棵树 多层感知器(MLP) - 神经网络 部分依赖图 LIME解释器 权重可视化 支持向量回归(SVR) - 核方法 支持向量可视化 部…

编程与数学 03-002 计算机网络 09_传输层功能

编程与数学 03-002 计算机网络 09_传输层功能一、传输层的作用&#xff08;一&#xff09;进程间通信&#xff08;二&#xff09;提供可靠传输&#xff08;三&#xff09;复用与分用二、TCP协议&#xff08;一&#xff09;TCP的连接建立与释放&#xff08;二&#xff09;TCP的可…

14. Web服务器-Nginx-工作原理

文章目录前言一、简介二、工作原理1. 多进程架构2. 事件驱动模型3. 模块化设计三、工作流程1. 启动阶段2. 等待连接3. 请求处理阶段4. 响应构造与输出5. 连接关闭前言 Nginx‌ Nginx&#xff08;发音为“Engine-X”&#xff09;是一款高性能的开源Web服务器软件&#xff0c;同…

AP-0316:集 USB 即插即用、智能降噪于一体的多功能 AI 声卡,重新定义清晰语音交互

AP-0316突发噪音和抗风噪测试还在为语音设备的噪音刺耳、连接复杂、功放适配麻烦而头疼&#xff1f;AP-0316 多功能 AI 降噪消回音 USB 声卡来了 —— 以 “USB 即插即用 自带功放 智能降噪 场景适配” 四大核心优势&#xff0c;将专业级语音处理技术变得简单易用&#xff0…