使用 ESP32 和 Ti TAS5760L 放大器,打造一个防风雨音频公告系统
三年前,我开始修复花园。结果却毫无进展——梅花鹿根本不在乎我的园艺设计。在尝试了各种常规手段——电围栏、铁丝网、严厉警告——之后,我决定安装 Ubiquiti UniFi 摄像头系统,并加入AI动物检测功能。它能实时通知我,有鹿正在破坏我的花园。但我真正需要的是一个能真正采取行动的设备。这时,我发现了 UniFi 的网络钩子(webhook)功能。
从 Webhook 到“兔子洞”(Rabbit Hole)
当某个事件触发时,Webhook 会发送一个 HTTP POST 请求——比如检测到动物、运动或入侵。我只需要一个能接收这些信息并发出声音的装置即可。这听起来很简单。但“简单”恰恰是创客们最危险的词汇。
第一步显然是购买一个现成的 IP 扬声器。然而市面上没有任何产品能与 UniFi 系统无缝集成,而最接近的选项——Ubiquiti UniFi AI Horn——似乎过于复杂,无法满足我的需求,而且对我想实现的功能来说表现平平。更糟糕的是,它的外观也相当丑陋!
因此,我自然决定从零开始设计自己的产品。
原型阶段
我从每个理性创客都会做的起点开始——使用Veroboard。一个ESP32驱动Class-D放大器,通过Wi-Fi触发。这证明了概念可行,但当我设计东西时,总会思考它如何能普遍适用,而不仅仅是我想让它如何工作。这意味着我需要同时考虑有线和无线两种方案。
这个选择让一切变得更加有趣。
硬件设计
最终的设计围绕四个关键组件展开:
•ESP32-S3 WROVER — 处理核心,运行Arduino C++固件,并内置Web服务器
•WIZnet W5500 — 用于灵活连接的有线以太网接口
•ST PM8805 — PoE PD控制器,Class 5级别,可从网络交换机最多汲取25W功率
•TAS5760L — 德州仪器Class-D放大器,驱动防风雨的Visaton扬声器
PCB设计使用KiCad完成。首次为以太网差分对进行布线令人感到谦卑——信号完整性自有其独立的工程学科。
几乎导致失败的错误
首批电路板从中国MakerPCB寄来。开机后,什么都没有发生。
PM8805 PoE控制器在协商完成且电源轨稳定后会输出“电源正常”信号——ESP32应在启动前等待该信号。由于我的RC定时电容尺寸设置错误,导致“电源正常”信号过早出现,而实际电源轨尚未准备好。ESP32因此试图在不稳定的电源环境下启动。
解决方法:调整RC参数,重新烧录电路板。教训:务必仔细阅读所有时序图。
成品
组装好的设备被安置在一个哈蒙德(Hammond)防风雨外壳内,外部安装了一个Visaton防水扬声器。它像其他PoE设备一样接入网络——单根网线,无需外接电源,支持Wi-Fi或有线以太网。
通过网页界面,用户可以上传音频文件、配置触发不同通知的Webhook事件、设置音量,并通过空中升级固件。SD卡本地存储音频,即使服务器无法访问,通知仍能正常发出。
五块在中国制造的电路板,完全组装后的价格约为800英镑。而在英国报价相同的工作项目约需4000英镑。作为一名创客和爱好者,我别无选择,只能从中国订购。
它真的能用吗?
这是一个很难回答的问题。这个装置可以无地面作业,但过了一段时间,鹿们就干脆开始无视这些提示了……
不过,我在自家车道里装了一个,每当有不速之客来访时,这真的非常有用!
原理图
本文编译自hackster.io





