当前位置:首页 > 工业控制 > 电子电路设计合集
[导读]在这个项目中,我打造了Sentra——最智能的DIY监控摄像头,这是一款基于ESP32-S3构建的全电池供电智能安防系统。Sentra将实时Wi-Fi视频流、持续的SD卡录像、运动检测、自动夜视、实时声音监测,甚至机器人语音播报功能,集成于一个紧凑而定制化的设备之中。

在这个项目中,我打造了Sentra——最智能的DIY监控摄像头,这是一款基于ESP32-S3构建的全电池供电智能安防系统。Sentra将实时Wi-Fi视频流、持续的SD卡录像、运动检测、自动夜视、实时声音监测,甚至机器人语音播报功能,集成于一个紧凑而定制化的设备之中。

整个机箱和界面均采用 Autodesk Fusion 360 设计,注重简洁美观、便携性以及未来感的用户体验。除了硬件之外,我还开发了一个定制化的实时仪表盘,可直接在任意浏览器中运行,无需应用程序、订阅或云服务。

这个项目对我来说特别之处在于,所有功能都直接在设备本地运行。从动作分析、自适应红外控制,到实时语音合成和传感器监测,Sentra 的设计旨在展示现代DIY硬件在精心的工程与创意结合下所能达到的极致水平。

这个项目是我尝试打造一个智能摄像头系统,使其感觉不像普通的DIY制作,而更像是一款真正的下一代产品。

由NextPCB赞助

制作硬件项目可能会花费不菲,但NextPCB让创客、初创企业和工程师的流程变得更加简单。目前,订购10件或以下数量的专业整机PCB组装产品,最高可享200美元优惠。

从PCB制造和元器件采购到整机组装与测试,NextPCB一站式提供可靠品质和快速服务。无论您是在开发物联网设备、机器人项目,还是定制电子产品,这一方案都能让您以专业的方式进行原型制作,同时节省成本。

1:CAD设计

该项目的第一步是设计Sentra的整体外壳和内部结构。我从零开始在Autodesk Fusion 360中创建所有部件,注重简洁的曲线、紧凑的尺寸、合理的部件间隙以及易于组装。

由于这款相机设计为便携式且使用电池供电,我希望机身外观简洁、现代,更像一款产品而非典型的DIY电子项目,同时保持整体设计的纤薄与干净。

在设计过程中,我参考并借鉴了Mukesh Sankhla这个优秀项目中的创意。强烈推荐你去看看,这是一项设计精美且文档详尽的搭建作品。

2:3D打印

CAD设计完成后,下一步是打印所有外壳部件。该设计包含三个主要的打印组件:

•主住房

•顶盖

•按钮扩展

本次打印我选择了灰色PLA线材,因为它能让相机看起来干净且现代,同时便于打印,具有高尺寸精度。PLA是实现光滑表面质量和保持装配所需严格公差的理想选择。

3:扬声器装配

下一步是将扬声器安装到机箱内部。我先将扬声器的线缆裁剪成合适的长度,并额外多加了一些线,以便后续组装更方便、更整洁。

之后,我将扬声器的胶贴背板取下,并小心地将其放入主机壳体内的专用安装区域。然后施加了一点压力,确保其牢固固定到位。

4:电池组件

下一步是将电池安装到外壳中。首先,我用焊锡将两根电线连接到电池端子上,以便在最终的电子组装过程中更方便地进行电源连接。

顶部盖板在 Autodesk Fusion 360 中已设计有专用的电池仓,因此电池可以整齐地安装到位,不浪费内部空间。将电池放入槽内后,我用少量胶水将其牢固固定。

5:充电模块连接

下一步是将电池连接到充电模块上。首先,我将电池的导线焊接到模块上的正确正负极,确保极性连接正确,以避免损坏电路。

之后,我将另一对导线焊接到充电模块的5V输出端子上。这些输出导线稍后将用于为Sentra内部的主ESP32-S3板供电。

6:系统架构

在深入代码之前,有必要先了解 Sentra 的内部工作原理。

固件被划分为多个FreeRTOS任务,使视频流、运动检测、传感器监控、音频播放和仪表盘通信能够独立运行。这避免了某一项功能拖慢其他功能,从而保持整个系统的响应速度。

而不是将所有操作都运行在单个Arduino循环中,每个主要子系统都有自己的独立任务:

流媒体任务 → 实时视频直播

传感器任务 → 运动检测、麦克风、光感传感器

扬声器任务 → 语音播报和警报

这种架构使Sentra能够在流媒体视频的同时进行录像、检测运动并播放警报。

7:Wi-Fi 和网络设置

固件首先会连接到本地Wi-Fi网络。

连接后,ESP32-S3 将获得一个IP地址,该地址将被仪表盘和视频流系统使用。

只需打开仪表盘,输入摄像头的IP地址即可连接,无需安装任何应用程序。

8:相机初始化

相机配置为JPEG图像捕获,并针对流媒体进行了优化。

OV3660摄像头传感器将图像直接压缩为JPEG格式,然后发送到ESP32-S3。

这带来了以下几个优势:

•更低的内存使用量

•更快的Wi-Fi流媒体速度

•降低CPU负载

•更长的电池续航

使用PSRAM可以实现更大的帧缓冲区,同时不消耗宝贵的内部RAM。

9:实时视频直播

Sentra 的核心功能之一是能够通过 Wi-Fi 直接流式传输视频。ESP32-S3 持续从摄像头捕获 JPEG 图像,并将其作为 MJPEG 流传输,可通过任意网页浏览器查看。

相机拍摄一帧图像并将其存储在帧缓冲区中。固件随后通过网络将JPEG图像发送给已连接的客户端,然后将缓冲区释放回相机驱动程序,以便进行下一次拍摄。

由于相机直接输出JPEG图像,ESP32-S3无需进行额外的图像压缩,从而显著降低了CPU使用率和内存消耗。

为什么选择MJPEG?

10:运动检测引擎

为了让Sentra不仅仅是一台相机,我们实现了一套轻量级的运动检测系统,该系统完全在ESP32-S3上运行,无需依赖云端处理或专用AI硬件。

固件会持续比较连续的相机帧,并根据两帧之间检测到的变化量计算运动得分。

工作原理

每次捕获新画面时,固件都会将其与上一帧进行比较。如果检测到显著差异,运动得分就会增加。

与传统计算机视觉系统逐像素解码和分析不同,Sentra采用了一种基于轻量级JPEG的比较技术,在显著降低处理器负载的同时,仍能提供可靠的运动检测。

为什么采用这种方法?

大多数DIY安防摄像头依赖云AI服务或高性能处理器来检测运动。虽然这些方法有效,但会增加复杂性、成本和功耗。

通过使用轻量级帧差算法,Sentra可以:

•实时检测运动

•完全基于ESP32-S3运行

•保持流畅的视频播放

•降低CPU使用率

•延长电池续航时间

基于动作的指令

当运动超过预设阈值时,Sentra 可自动:

•触发运动警报

•播放语音提示

•启动警报器

•记录事件

•实时更新仪表盘

这使Sentra从一台简单的视频流摄像头转变为一个智能的智能监控系统,能够自动响应活动。

11:自动夜视系统

为确保Sentra在白天和夜间都能可靠运行,我们采用了基于LTR-308环境光传感器和红外照明LED的自动夜视系统。

固件会持续监测周围光照强度,并根据环境变暗程度自动调节红外亮度。

工作原理

LTR-308 传感器持续测量环境光强(单位为勒克斯)。当测得的亮度低于预设阈值时,Sentra 将自动切换至夜间模式。

开启夜间模式后,红外LED灯会亮起,为摄像头提供额外照明。

智能红外亮度控制

Sentra 不仅能将红外LED完全开启或关闭,还能根据周围光照条件自动调节亮度。

黑暗愈发深重:

•红外亮度自动增加

•摄像头可视性得到提升

•功耗持续得到优化

这相比简单的阈值系统,能实现更平滑的昼夜过渡。

基于PWM的红外控制

红外LED的亮度通过ESP32-S3硬件PWM控制器进行控制。

使用PWM可使Sentra精确控制红外强度,而无需始终以最大亮度运行。

这使得Sentra能够全天持续运行,并自动适应不断变化的光照条件。

12:声音监控系统

除了视频监控外,Sentrara 还通过车载 PDMDMDM 麦克风监测周围的声音环境。这使系统能够检测环境噪音水平的变化,并通过仪表盘提供实时声音监控。

麦克风持续采集音频数据,同时固件计算出稳定的声强值,该值可由系统显示并使用。

工作原理

ESP32-S3 使用其硬件 I2SS 外设从 PDMDMDM 麦克风读取音频样本。这些样本被收集到缓冲区中,并经过处理以确定整体声音电平。

与简单的峰值检测器不同,Sentra采用均方根(RMS)计算,以更准确地反映实际声强。

为什么选择RMS?

RMS测量常用于专业音响系统中,因为它反映的是声音信号的实际能量,而不仅仅是峰值值。

这能产生更真实且稳定的声级读数。

降噪平滑

原始麦克风数据可能波动迅速,导致读数不稳定。为了解决这一问题,Sentra 在更新仪表板前会先应用指数平滑处理。

这种滤波技术有助于消除突然的峰值,同时保持读数对真实环境变化的响应能力。

仪表盘集成

处理后的声级会持续发送到仪表盘,使用户能够实时监控环境活动。

音量条会自动更新,快速直观地显示相机周围噪音的活动情况。

通过将视频监控与声音分析相结合,Sentra能更敏锐地感知周围环境,相比仅使用摄像头,提供了更丰富的监控体验。

13:语音播报与智能音频引擎

Sentra 最独特的功能之一是其内置的语音播报系统。它无需使用预先录制的音频文件或基于云的文本转语音服务,而是通过数学波形合成技术,在实时生成类似语音的音频。

这意味着 Sentrara 可以完全离线地生成警报和公告,同时保持轻量级和响应迅速。

音频任务系统

为防止音频播放影响视频流和运动检测,所有声音生成均在专用的FreeRTOS任务中运行。

每当触发公告或警报时,都会被放入队列以供处理。

这能确保系统在播放音频时仍保持响应。

实时语音生成

公告引擎通过生成的波形将文本转换为独特的机器人语音。

每个单词都有其独立的计算频率,使不同词语听起来各具特色,同时保持一致的机械语音风格。

与传统的TTS系统不同:

•音频文件未被存储

•无需网络连接

•未使用外部API

•所有功能均直接运行在ESP32-S3上

声音合成

固件通过数学方式生成音频样本,并直接将其写入扬声器。

这会产生一种独特的机器人语音效果,听起来与简单的蜂鸣声或音调完全不同。

内置警报声音

除了语音提示外,Sentrara 还可以生成多种警报声音:

这些音频提示有助于快速识别不同的系统事件。

警报模式

为安全警报,Sentrara 配备了强大的警报喇叭功能。

警报器在几秒钟内从800赫兹扫频至1200赫兹,发出响亮的警告声,可轻松在房间内听到。

通过在ESP32-S3上直接生成所有音频,Sentra实现了先进的语音和警报功能,同时保持紧凑、高效且完全自给自足。

14:电池监控系统

由于Sentra设计为完全便携,电池监控在系统中起着重要作用。固件会持续测量电池电压,并将其转换为易于理解的百分比值,显示在仪表盘上。

这使用户能够实时监控剩余电量,并在设备耗尽电力前及时充电。

读取电池电压

电池电压通过连接到GPIO44的分压器,使用ESP32-S3的ADC进行测量。

电压分压器可安全地将电池电压降低到ESP32-S3 ADC可测量的电平。

降噪

为了提高准确性,固件会进行多次读数并将其平均。

这有助于消除ADC噪声,从而获得更加稳定的电压测量结果。

电池百分比计算

Sentra 不采用简单的线性计算,而是使用锂聚合物电池的放电曲线近似方法,以提供更真实的电池电量百分比。

该方法更贴近锂电池实际的放电过程,从而在整个充电周期内实现更精确的电池读数。

仪表盘集成

仪表盘上会持续更新计算出的电池百分比和电压。

用户可立即查看:

•电池电量百分比

•当前电池电压

•剩余运行时间

•直接从网页界面

由于Sentra完全依靠电池供电,了解电池状态对于可靠运行至关重要。实时的电池监控有助于防止意外关机,使相机在便携部署时更加实用。

该电池管理系统使Sentra能够作为真正便携的智能监控摄像头运行,同时不牺牲使用便利性。

15:SD卡录音引擎

虽然实时直播有助于实时监控,但Senta还能够将画面直接录制到SD卡中以便后续回放。相机捕获的每一帧画面均可存储为AVI视频文件的一部分,使系统可作为完整的独立式闭路电视解决方案运行。

与许多仅提供直播的DIY相机项目不同,SentrA同时支持实时观看和本地视频录制。

开始录制时,固件会在SD卡上创建一个新的AVI文件,并写入所需的视频头信息。

选择AVI格式是因为它被广泛支持,大多数计算机都可以直接打开,无需安装特殊软件。

每次捕获新画面时,都会直接写入AVI文件。

每个画面以JPEG图像形式存储在AVI容器内,生成一个轻量级的MJPEG视频文件。

多任务架构的一个优势是,录制过程可以与实时视频流同时进行。

这使用户能够:

•观看实时画面

•记录影像

•监控传感器

•同时进行,互不干扰

为防止SD卡因超大文件而被占满,当当前文件达到预设大小时,Sentra会自动创建新的记录。

默认情况下,每400 MB会创建一个新的AVI文件。

这使得:

•文件管理更轻松

•播放平滑器

•数据传输更快

同时避免录制过大的文件。

录制停止后,Sentra 会完成 AVI 文件的生成,并创建所需的索引信息。

这可确保视频在标准媒体播放器中能够正确播放。

通过该系统,Sentaenta 可作为真正的独立式安防摄像头运行,既能本地录制视频,又能通过仪表盘提供实时远程访问。

16:Web 服务器与仪表板通信

为了使 Sentra 更易于使用,我们在 ESP32-S3 上直接构建了一个轻量级的网络服务器。该服务器作为硬件与在线仪表板之间的桥梁,可实现从网络中的任何设备进行实时监控和控制。

无需专用的移动应用程序,所有通信均通过简单的网络请求完成,使系统具有平台无关性且易于访问。

固件会创建一个HTTP服务器,用于监听来自仪表盘的传入请求。

服务器启动后,将负责处理实时视频流、传感器数据请求以及用户指令。

摄像头画面通过专用的流媒体端点传输。

每当仪表盘请求 /stream 时,ESP32-S33 就会开始实时传输 MJPEGPEGPEG 帧。

这就是浏览器中可见的实时视频流所依赖的内容。

仪表盘还需要访问实时传感器信息。

此端点提供以下信息:

•运动级别

•电池电量百分比

•声强

•环境光强度

•SD卡使用

•录音状态

•夜视状态

仪表板会持续轮询此端点,以保持所有信息的最新状态。

仪表盘中的用户操作会通过控制端点发送回ESP32-S3。

此端点负责处理以下命令:

•开始录制

•停止录制

•触发警报器

•播放公告

•切换红外模式

当命令到达时,固件会更新相应的子系统。

这在仪表盘控制与Sentra内部运行的硬件之间建立了直接连接。

服务器在主循环中持续处理传入的请求。

这使得仪表板在保持响应的同时,其他任务如流媒体、运动检测、录像和音频播放仍可在后台继续运行。

使用内置的Web服务器具有以下几大优势:

•无需移动应用程序

•跨平台兼容性

•简单浏览器访问

•轻量级通信

•轻松定制

适用于手机、平板电脑和电脑

通过暴露简单的网络端点,ESP32-S33 可以与在线仪表板无缝通信,同时保持轻量级和高效。

17:仪表板架构

虽然ESP32-S3负责视频流处理、录制、运动检测和传感器数据处理,但我们希望用户体验能够现代、直观,并且可通过任何设备轻松访问。为此,我们开发了一个完全定制的网页仪表盘,作为Sentra的控制中心。

与传统应用程序不同,仪表板被构建为一个独立的HTML文件,无需外部框架,没有安装过程,且仅依赖浏览器本身。这使得部署极为简便,同时保持了系统的轻量性和快速性。

我们没有开发专门的安卓或iOS应用程序,而是选择了基于浏览器的方法,因为这种方法具有以下几大优势:

•适用于手机、平板电脑和电脑

•无需安装应用程序

•跨平台

•易于更新和维护

•可在任何现代浏览器中访问

仪表板通过简单的HTTP请求,直接使用Wi-Fi与ESP32-S3通信。

仪表盘持续接收来自摄像头的实时数据,同时发送诸如以下命令的用户指令:

•开始或停止录制

•启动警报器

•触发语音提示

•控制夜视

•监控系统状态

•单态架构

我特别自豪的一个设计决策是采用了集中式状态驱动架构。

屏幕上显示的每一项信息都来自这个单一的状态对象。

当ESP32-S3接收到新数据时:

仪表板会自动更新。

这种方法使界面保持有条理、可预测且易于维护,同时确保每个小部件始终显示最新的设备状态。

18:UI设计与玻璃形态界面

由于Sentra的设计旨在让人感觉像一款现代的智能安防产品,而非传统的DIY项目,因此我们花费了大量时间来设计一个简洁、响应迅速且视觉效果出众的用户界面。

整个仪表板均使用纯HTML、CSS和JavaScript构建,无需依赖外部UI框架。这使得仪表板轻量高效,同时完全掌控其设计和用户体验。

我们的目标是打造一个现代、专业且一目了然的界面。

该设计灵感源自现代操作系统和智能家居应用,具有以下特点:

•简洁的字体设计

•柔和的阴影

•圆角设计

•玻璃形态效果

•流畅的动画效果

•响应式布局

这有助于让即使复杂的信息也显得易于理解和条理清晰。

为了在整个仪表板中保持设计的一致性,我们使用 CSS CSS 变量创建了一个集中化的主题系统。

而不是在整个代码中随机分配颜色,每个组件都引用这些变量。这使得后续的自定义和维护变得更加容易。

仪表盘通过分层渐变而非背景图像来营造深度感。

这些细微的渐变效果增添了视觉吸引力,同时保持了界面的轻量和快速。

仪表盘最显著的特征之一是玻璃风格的卡片设计。

这种组合形成了仪表盘上所见的磨砂玻璃效果。

效果通过以下方式实现:

•半透明背景

•背景模糊

•饱和增强

•柔和的阴影

•细边高亮

这些元素共同营造出现代高端的外观,无需任何图像。

为了提升界面的整体感受,仪表盘中使用了自定义动画曲线。

这些转换适用于:

•按钮

•切换

•状态指示器

•仪表盘卡片

•进度动画

效果比默认浏览器动画明显更平滑、更精致。

19:实时视频界面与HUD叠加显示

实时摄像头画面是Sentra仪表盘的核心。我们希望用户体验更接近专业的安防系统,因此设计了一个定制的HUD(抬头显示器)叠加层,将重要信息直接显示在视频画面的上方。

这使用户无需离开直播画面,就能快速了解相机的状态。

仪表板直接接收来自ESP32-S3的MJPEG流,并在专用视口中显示。

当新画面到来时,浏览器会自动更新图像,实现低延迟的流畅实时视频流。

关键指标直接显示在视频上方,而不是将所有信息分散在各个面板中。

该叠加层位于摄像头画面之上,同时对用户交互完全透明。

为了营造更专业的监控风格外观,视口周围会渲染自定义的角落标记。

这些细微的角落点缀能够巧妙地框住画面,同时不分散对主体内容的注意力。

住房与城市发展部最重要的要素之一是活动指标。

徽章会根据系统状态自动更改:

•闲置

•检测到移动

•人员活动

警报状态

这使用户能够立即了解相机所看到的内容。

活动徽章会在收到新的传感器数据时自动更新。

这创建了一个响应式界面,视觉反馈会实时变化。

当录制处于激活状态时,视觉指示器会直接显示在摄像头画面中。

这使得当视频被保存到SD卡时,情况立刻变得显而易见。

美国住房与城市发展部持续更新以下重要系统信息:

•运动活动

•录音状态

•检测状态

•夜视模式

•摄像头状态

所有这些信息都会在不遮挡或覆盖实时视频画面的情况下显示。

传统仪表盘通常迫使用户在多个面板之间切换才能找到所需信息。

HUD技术将最重要的细节直接保留在摄像头视野内,使监控更加快速和直观。

该设计灵感来源于专业的闭路电视系统、安防监控软件以及现代的监控界面。

结合仪表盘的其他部分,HUDHUD 将 Sentra 从一个简单的 DIY DIY 相机转变为一个完善的智能监控平台。

20:实时监控小部件

虽然实时摄像头画面提供了视觉监控,但我们还希望用户能即时获取重要的系统信息。为此,仪表盘集成了多个实时监控小部件,可持续显示整个系统的健康状况和运行状态。

这些小工具会自动更新,无需用户浏览菜单或设置页面,即可快速了解 Sentrara 内部的最新动态。

最重要的小部件之一是运动活动监测器。

仪表盘持续从ESP32-S3接收运动数据,并通过彩色指示灯进行可视化显示。

运动水平显示如下:

•蓝色 → → → 活动较低

•琥珀色 → 中等活跃度

•红色 → → 高活跃

这使用户能够立即了解摄像头检测到的活动水平。

为了更方便地解读运动信息,我制作了一个动画圆形进度环。

随着运动量增加,指环会平稳地填充,从而直观地呈现活动水平。

仪表盘持续显示由LTR-308传感器测量的光照强度。

仪表盘不仅显示原始的奢华数值,还会将读数转换为易于理解的描述性语言。

这有助于用户快速了解环境照明条件。

音频活动通过专用的音量指示器显示。

小部件实时更新,并反映由内置麦克风检测到的变化。

这为视频监控之外提供了额外的环境意识层面。

由于Sentra采用电池供电,因此电池状态会以醒目的方式显示在仪表盘上。

电池小部件显示:

•电池电量百分比

•电压等级

•充电状态

•剩余电量

这能让用户快速判断设备何时需要充电。

仪表板还会监控可用的存储空间。

用户可以立即看到:

•剩余存储空间

•总容量

•记录可用性

无需取出SD卡即可。

21:设备控制与语音提示

除了监控功能外,Sentaenta 还允许用户通过一系列实时控制功能主动与摄像头互动。这些控制功能直接集成在仪表盘中,可实现对录像的管理、激活警报、控制夜视模式,并从任何连接设备广播语音通知。

目标是让Sentra感觉像一套完整的智能安防系统,而不仅仅是一台被动的监控摄像头。

仪表板上的每个按钮和切换开关都通过控制API直接与ESP32-S3通信。

每当用户按下按钮时,命令就会立即发送到设备。

这使得仪表板能够实时控制硬件功能。

仪表板包含用于管理视频录制的控制功能。

用户可以直接通过仪表板开始或停止录制,无需实际接触摄像头。

这在远程监控摄像头时尤其有用。

为安全警报,Sentrara 内置了警报喇叭模式。

当触发时,ESP32-S3 会通过内置扬声器发出一个高频扫频信号。

可用于:

•驱赶入侵者

•吸引注意力

•响应运动事件

测试音响系统

仪表盘还提供手动和自动夜视选项。

用户可以:

•开启红外线

•关闭红外线

•启用自动模式

自动模式可让Sentra根据环境光线水平来调节红外照明。

我最喜欢的特性之一就是公告栏。

用户可以直接在仪表盘中输入自定义消息,由Sentra通过内置扬声器播报。

消息被发送到ESP32-S3,然后通过前面描述的实时音频引擎转换为机器人语音。

无需互联网连接、云服务或音频文件。

为确保可靠运行,仪表盘在发送消息前会验证消息长度。

这反映了固件的限制,防止发送无效公告。

为方便使用,已包含多个预配置的公告按钮。

这些功能允许用户通过单次点击触发常见消息。

22:演示模式模拟引擎

Sentra仪表盘最独特的一点功能是其内置的演示模式。我们希望所有访问该仪表盘的人都能无需拥有硬件,即可探索界面并测试其全部功能。

仪表盘不会显示静态的占位值,而是生成一个完全模拟的摄像头系统,其行为类似于真实的Sentra设备。

为什么使用演示模式?

通常,测试仪表板需要:

•带电源的相机

•Wi-Fi-Fi 连接

•主动传感器

•实时视频直播

使用演示模式时,这些都不是必需的。

用户可以立即浏览仪表盘,体验系统在真实场景中的运行情况。

模拟器不会生成完全随机的值,而是遵循预定义的场景,以模拟真实活动。

这些场景会自动循环播放:

•空闲监控

•运动事件

•人体检测

•低光环境

•紧急情况

这能带来更加逼真的演示体验。

模拟器持续生成以下内容的逼真数值:

每个值都会自动更新,就像在真实设备上一样。

仪表板不知道数据来自ESP32-S3还是模拟器,它仅显示当前系统状态。

为了让模拟感觉更加自然,传感器值会逐渐更新,而不是突然跳变。

这能产生逼真的过渡效果,模拟出真实的传感器行为。

演示系统甚至可以模拟电池使用情况。

随着时间的推移:

•电池电压下降

•电池百分比更新

•仪表板小部件会相应地做出反应

电池电量低时,会自动重置并开始新一轮循环。

演示模式最令人印象深刻的部分或许是模拟的摄像画面。

仪表板无需使用预先录制的视频文件,而是直接在浏览器内生成实时监控画面。

系统动态创建:

•相机噪点

•运动效果

•模拟受试者

•夜视效果

•录音叠加

•时间戳

实时全览。

当活动增加时,虚拟摄像机场景内会生成移动的物体。

这些移动的形状营造出人物或物体穿过相机视野的视觉效果。

随着运动量增加,模拟活动也会增多。

演示系统还能够模拟夜间运行。

当环境变暗时:

•夜间模式已启用

•IR 指标显示

•相机噪点变化

应用了逼真的监控风格效果

这有助于准确展示Sentra在日落后的具体表现。

模拟器最大的优势之一是它使用与真实硬件完全相同的仪表板代码。

唯一的区别在于数据的来源:

•真实相机 → ESP32-S3

•演示模式 → 模拟器

其余一切保持不变。

这确保了演示能够准确反映实际设备的行为。

23:最终仪表盘体验与系统集成

此时,Sentra的各个独立组件协同工作,形成一个完整的智能监控系统。虽然每个功能本身都很有用,但该项目真正的优势在于硬件、固件和仪表盘如何无缝地协同运行。

ESP32-S3 作为系统的“大脑”,可同时持续管理多个任务:

•实时视频直播

•运动检测

•自动夜视

•声音监测

•SD卡录制

•电池管理

•语音提示

•仪表盘通信

所有这些功能同时运行,同时保持流畅的性能和低功耗。

整个系统遵循一个简单却强大的工作流程:

每个传感器读数、运动事件和系统状态更新都会由ESP32-S3处理,并立即反映在仪表盘上。

同样,仪表板中的每一个用户操作都会被传回设备,从而实现完全交互式的监控体验。

24:配置代码

在上传代码之前,您需要在源代码中配置Wi-Fi凭据和时区。只需将占位符替换为您自己的Wi-Fi网络名称和密码即可:

时区值用于时间戳、录音和系统时间同步。您可以根据所在地区进行更改。

25:上传代码

上传前,请确保在Arduino IDE中正确选择了以下板卡设置:

•主板:ESP32S3 开发模块

•PSRAM:OPI PSRAM

•闪存大小:16MB(128MB)

•分区方案:大型APP(3MB,无OTA / 1MB SPIFFS)

•USB CDC 启动时启用

•CPU主频:240 MHz

•上传速度:921600

PSRAM 和 Flash 大小设置尤为重要,因为 Sentra 在视频流、SD 录像和实时处理时使用了较大的缓冲区。设置不当可能导致系统崩溃、启动循环或相机初始化失败。

配置完成后,使用USB线连接ESP32-S3板,选择正确的COM端口并上传代码。成功刷入后,打开串口监视器以查看设备IP地址和系统状态。

26:控制仪表盘

只需打开仪表盘,输入摄像头的IP地址,即可立即连接。该界面在智能手机、平板电脑和台式机上均能流畅运行,为Sentra带来精致专业的用户体验。

您可以实时查看摄像头画面,并监控运动状态、电池电量、环境光、声音水平、录制状态、SD卡使用情况以及夜视状态等重要信息。

仪表盘还提供了快速访问录音控制、语音提示、警报模式和红外照明等功能,让您能够轻松地从本地网络的任何位置管理摄像头。

27:ESP32 S3 摄像头组件

下一步是将ESP32-S3摄像头板安装到主机壳中。我将板子放置在专用的安装位置,定位好后,通过JST连接器连接了扬声器。

该外壳设计用于通过4个小型螺丝进行标准螺钉安装,以确保牢固固定。由于当时我没有现成的螺丝,因此暂时使用少量强力胶将电路板小心固定在位。

28:充电模块组件

在提前准备好充电模块后,我将模块小心地放置到指定位置,并将USB Type-C接口与外壳侧面的开口对齐,以便从外部轻松为相机充电。

将模块正确安装到位后,我将充电模块的两根5V输出线连接到主板的电源输入端子,并确保极性正确后再启动系统。

29:按钮延伸组件

现在安装小型按钮扩展件。由于ESP32-S3板上的按钮位于外壳内部,我设计了这个独立的扩展部件,以便从外部方便地操作。

我只需将打印好的按钮延伸部分对准侧边开口,并插入顶部盖板上的专用插槽。组装完成后,它直接压在内部的按钮上,无需打开外壳即可轻松操作。

30:最终组装

最后一步是关闭外壳并完成组装。我仔细将顶部盖板与主壳体对齐,确保摄像头镜头、按钮延伸件和内部线路位置正确后,才关闭机箱。为了牢固固定所有部件,我在外壳背面使用了3颗螺丝。

31:测试

使用 Sentra 之前,请通过 USB Type-C-C 接口将电池充满电。电池充满后,相机即可正常使用。

启动后,使用 ESP32-S3 的 IP IP 地址在浏览器中打开控制仪表板,即可访问实时摄像头画面和所有智能功能。

由于Sentra完全依靠电池供电且体积小巧,您可以轻松携带到任何地方,或将其安装在墙壁、书桌、架子或其他需要监控的位置。在测试过程中,我验证了实时视频流、SD卡录像、运动检测、自动夜视、声音监测、语音播报以及仪表盘控制功能,确保各项功能能够顺畅协同工作。

看到整个系统最终作为一个完整的智能摄像头运行,感觉无比满足,也让整个项目真正焕发生机。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

参加一次IT会议时,我注意到一些同事佩戴着商用的中国制造蓝牙LED徽章。我觉得这是一个绝妙的想法——比传统的纸质徽章更加实用且富有动感。我立刻就想为自己也买一个。

关键字: 电源管理 OLED显示屏 Wi-Fi TP4056

在嵌入式Wi-Fi产品(智能家电、IPC、网关)中,虽射频前端与芯片决定理论PHY速率,但天线布局(位置、净空区、馈线长度、匹配网络)对实际TCP/UDP吞吐量影响可达30%~60%。本文以2.4GHz 802.11n(...

关键字: Wi-Fi 天线布局

这是一个DIY手持式Arduino游戏机,由Arduino UNO R4 WiFi驱动。它在一块0.96英寸的SSD1306 OLED显示屏(128×64像素)上运行10款复古风格的街机游戏,通过四个触控按钮进行控制。配...

关键字: Arduino Wi-Fi 升压转换器

目标是验证是否能够使用标准协议,将个人拥有的Tenda CP3相机集成到本地自托管环境中。

关键字: 摄像头 流媒体 PTZ控制器

凭借全栈产品设计与制造专长,拓展全球 Wi-Fi HaLow 生态系统

关键字: Wi-Fi 物联网 芯片

在这个项目中,我使用Seeed Studio XIAO ESP32S3 Sense和Xiaozhi固件,制作了一个可穿戴的AI吊坠。该设备将语音交互、摄像头支持、音频播放、RGB灯光以及Wi-Fi连接功能集成于紧凑的可穿...

关键字: RGB Wi-Fi AI ESP32S3

ESP32-S33 引入了一项许多创客忽略的功能——原生 USB 主机支持。虽然大多数项目仅将 USB USB USB 端口用于编程或串行通信,但 ESP32-S3 实际上能够作为 USB 主机,直接与键盘、鼠标、游戏手...

关键字: USB 端口 微型计算机 ESP32-S3

罗德与施瓦茨(以下简称“R&S”)为BTL实验室提供了一套完整的R&S TS8991 OTA测试系统,该系统完全符合CTIA认证标准。此外,R&S的专家在认证审核的过程中提供了全程实地支持。通过此次合作,BTL基于R&S...

关键字: 5G Wi-Fi 蓝牙

我们大多数人都会打开任务管理器或查看副显示器来检查电脑性能,这总是意味着盯着又一个亮着背光的屏幕。我想要的是一种不同的方式——一种能安静地放在桌面上、实时显示电脑运行状态,并且不会给工作区增添更多屏幕眩光的东西。

关键字: 显示器 ESP32-S3 PCB

该项目最初旨在通过构建一款便携式陪伴机器人,将定制硬件、嵌入式软件、娱乐功能和交互式应用整合到一个平台上,从而在现实生活中重现这一概念。

关键字: 机器人 ESP32-S3 FreeRTOS
关闭