Discord Security Camera with an ESP32
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
|
关于这个项目
使用 ESP32 Cam 和被动红外 (PIR) 传感器创建一个动作激活的安全摄像头,该摄像头会将照片发布到 Discord 频道,您可以在该频道中创建网络钩子。
我们将使用面包板和跳线构建测试电路。然后,我们将使用杜邦连接器构建线束,以便轻松连接到开发板和 PIR 传感器。
然后,我们将使用我们选择的壁挂式或天花板式 3D 打印外壳来容纳我们的零件和相机。
吸顶式摄像头使用可在线购买的廉价诱饵摄像头。
补给:
- 面包板
- 跳线
- Arduino Nano
- 外置无线天线
- 5.5 x 2.1 毫米直流电源插孔
- ESP32 摄像头
- 被动红外 (PIR) 传感器
- 5v 电源
- 额外的电线
- 杜邦连接套件和压接机
- 虚拟相机
第 1 步:使用 Arduino 对 ESP32 凸轮进行编程
将 ESP32Cam 设置为 flash 模式并将其连接到 Arduino,以允许对 ESP32 进行编程。
对于这一步,我们需要 ESP32Cam、Arduino Nano 和跳线。
确保 ESP32 Board Manager URL 已添加到您的首选项中:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
使用上图作为与面包板接线时的参考。
第 2 步:将 PIR 传感器连接到 ESP32 Cam
将被动红外 (PIR) 传感器连接到 ESP32 Cam。对于初始设置,您需要将 PIR 传感器连接到 5V、接地,并将中心数据引脚连接到 ESP32 凸轮上的 GPIO 15,如接线图所示。
第 3 步:下载代码和依赖项
该项目的源代码可以在 Github 上找到:
- Discord Spycam :https://github.com/WillMakesTV/discord-spycam
此外,我们需要使用 CertToESP8266 来自 HTTPS for Makers 项目的 Python 脚本。
由于我们使用的是 Python 脚本,因此我们还需要确保安装了 Python。
第 4 步:为 Discord.com 创建 SSL 证书
确认已安装 Python 后,从 Github 下载 Makers 的 HTTPS 并将其解压缩到您计算机上的文件夹中。
要生成 SSL 证书,我们需要访问 Discord.com。
在地址栏中,在域名旁边,单击锁定,然后选择“证书”。
在下一步中,选择 Makers 下载 HTTPS 的解压文件夹并将其保存为“discord-cert.cer” .
- 选择“详细信息”选项卡,然后选择“复制到文件”以打开导出向导。
- 点击下一步,然后选择 Base64 编码选项。
如果一切正常,那么您应该会看到一条消息,表明导出成功。
第五步:使用CerttoESP32格式化SSL证书
现在我们要编辑我们下载的 HTTPS for Makers 项目中的 CerttoESP32 Python 脚本;将文件名变量更新为我们从 Discord.com 导出的变量。
保存脚本后,使用命令提示符或终端,将目录更改为 Makers 项目的 HTTPS 并运行 CerttoESP32 脚本。
这将以我们可以与 ESP32 一起使用的方式格式化我们的证书。
使用 Windows 上的命令提示符或 macOS/Linux 上的终端,切换到 CerttoESP32 脚本所在的目录并运行该脚本。
如果一切正常,您应该会在命令提示符或终端中看到带有格式化 SSL 证书的输出。
第 6 步:配置 Discord Spycam 项目
提取从 Github 下载的 Discord Spycam 项目。请注意,如果通过 zip 文件从 Github 下载,可能会提示您将项目目录重命名为“discord-spycam”,因此建议最初更改目录名称。
将arduino_secrets.h.example复制到工程目录下的arduino_secrets.h,打开discord-spycam.ino。
在 arduino_secrets.h 文件中,更新 SECRET_DISCORD_CERT 变量以匹配运行 CertToESP8266.py 脚本的命令提示符/终端中的输出。
请务必更新 SECRET_NETWORK_SSID 和 SECRET_NETWORK_PASS 变量以使用您的 WIFI 网络的名称和密码。
Discord 网络钩子
打开 Discord 并转到需要照片/消息的频道。右键单击并编辑频道,然后在集成下创建一个新的 webhook。这将打开一个对话框,供您提供机器人名称和可选照片。
复制 webhook URL 并保存,然后返回到 Arduino IDE。粘贴 SECRET_DISCORD_WEBHOOK 变量的 webhook URL 并删除域名,使其与提供的示例格式匹配。
保存您的项目,编译并上传到 ESP32Cam。
如果一切正常,那么当 PIR 传感器检测到运动时,您应该会看到机器人在 Discord 频道中发布的照片。
第 7 步:压接和焊线
将电源线和地线焊接到 DC 电源插孔,然后使用杜邦连接器压接 PIR 传感器和 ESP32Cam 的电线末端。
创建两个连接器,一个在 PIR 传感器的一端使用一个三管连接器。 PIR传感器中间的引线是数据,一边是5v,另一边是地。检查您的特定 PIR 传感器,因为大多数传感器都直接贴在板上。
将使用 5v 和接地的两管连接器为 ESP32 供电。
第 8 步:壁挂式外壳
使用 3D 打印壁挂式外壳,将直流电源插孔滑过底部孔并固定与垫圈的连接。然后我们将在焊接电线和收缩管之前进行热收缩。
最后我们将插入外部wifi天线并连接ESP32 Cam和PIR传感器。
使用卡扣式盖子,我们可以固定我们的零件,壁挂式构建就完成了。
外壳侧面还有一个切口,可以方便地使用延时和灵敏度电位计。
第 9 步:吊装机箱
我们还有一个天花板安装的外壳,它使用廉价的虚拟相机的零件。我们使用的部件是透明球罩、相机护罩和紧固螺钉。
我们想用强力胶将透明圆顶粘到相机护罩上,然后将护罩和圆顶热粘到 3D 打印的外环上。
将电源插孔的较大孔对准相机护罩的背面,在粘合时仔细检查以确保零件保持对齐。
天花板安装外壳的接线可以通过外环上较大的孔,通过 DC 电源插孔的孔插入并滑入。在将杜邦针插入三筒连接器之前,您需要在垫圈上滑动。
请注意,在将 PIR 传感器安装到外壳之前,您需要使用它来微调灵敏度和时间延迟。安装完成后,需要完全拆卸才能进行调整。
该型号还使用卡扣式盖子来对齐和容纳 ESP32 和 PIR 传感器。
代码
面向 Maker 的 HTTPS - CerttoESP32.py
https://github.com/SensorsIot/HTTPS-for-Makershttps://github.com/SensorsIot/HTTPS-for-MakersDiscord Spycam
https://github.com/WillMakesTV/discord-spycamhttps://github.com/WillMakesTV/discord-spycam定制零件和外壳
壁挂式外壳
https://www.thingiverse.com/thing:4809907thingiverse.com 上的 CAD 文件吸顶式外壳
https://www.thingiverse.com/thing:4809908thingiverse.com 上的 CAD 文件示意图
使用此接线图使用 Arduino 连接和编程 ESP32。制造工艺