ESP32-Cam 摄像头麦克风
该项目是一个 “ ESP32-Cam WiFi 摄像头麦克风 (SpyCam)” 固件 arduino 源代码(.ino),具有延时和链网络功能,基于 “ESP32 WebApp Builder” 项目。 “链式网络 – Chain Network”是一种将设备一一连接起来的本地网络。
SpyCam 项目使用“AI Thinker ESP32-CAM”模块,该模块具有 2MP 摄像头、10 个 I/O 引脚、一个片上 LED 和一个用于存储图像和视频的 MicroSD 插槽。 凭借其微型摄像头和 240MHz CPU,能够提供质量相当好的图像和视频帧以及网络在线流。
您可以使用 “WaveShare 声音传感器” (或类似传感器)或建议的电路作为音频输入。
ADC 输入(用于音频电路)是 GPIO 33,最初连接到红色板载 LED。
该项目包含三个文件夹ESP32CamMicProgram(Arduino源代码)和PCB-SCH-BOM。
上传项目
首先用 Arduino 程序打开其中一个文件,然后进行如下图所示的设置(Board 和 FlashFrequency)。
在执行任何操作之前,必须在其中一个 ESP32 模块上设置“板”。
启动CPU速度已设置为240MHz。
对于“下载模式”,使用跳线将“IO 0”连接到GND。
然后在“下载模式”(GPIO0 –> GND)下打开 ESP32 模块,并使用 USB2Serial 模块上传程序。
ESP32-Cam 摄像头麦克风 PCB
另外,ESP32-Cam摄像头麦克风PCB文件位于PCB-SCH-BOM文件夹中:
这是在一个外壳中使用 5V 电源的组装电路:
链网 (Chain Network)
“链式网络”是一种将设备逐一连接(系列)的本地网络。 在链式网络中,第一台设备是网络的主设备。 启动器(主模块或最后加入的模块)直接连接到 WebApp。 它将命令发送到下一个设备,下一个设备将命令发送到下一个设备,直到最后一个设备。 最后一个设备响应将被发送到第一个设备,最后通过中间设备发送到WebApp。
您可以将最多 4 个摄像机(使用“ESP32 SpyCam”固件(音频和视频录像机)版本 1.4 或“ESP32 IPCam”固件(没有录音功能)版本 1.4)连接到链式网络中,并查看 相机。
在网络中添加更多摄像机会降低在线流帧速率。
ESP32 间谍相机 Web 应用程序
插上电源,以“正常模式”打开电路和模块。
然后 LED 将闪烁一次(如果一切正常)。 然后您就可以通过PC或智能手机中的WiFi网络看到模块的热点ssid。
默认 SSID 为 WiCardCamMic,默认密码为 12345678。使用 PC 或智能手机网络浏览器(Chrome 或 Firefox)连接并访问 192.168.4.1。
这是网络用户界面:
根据设置,在线流可以有以下几种播放模式:
视频和音频:在此模式下,Web 应用程序将流缓存 15 秒,然后在单击播放按钮后立即开始播放流,然后您可以看到在线视频流并收听声音。
仅视频:在此方法中,网络应用程序仅立即流式传输在线视频,没有任何延迟。
仅音频:在此方法中,Web 应用程序仅缓存音频数据,您可以在单击播放按钮后收听。
通过点击视频图像,图像将缩放至原始尺寸。
瞄准镜下方有两个按钮,“CAPTURE”模块将拍摄并保存镜头,点击或单击“LIGHT”按钮,片上闪光灯将打开和关闭。
如果使用“链网络”功能,如果您将多个 ESP32-Cam 加入网络,您将能够同时看到所有加入的摄像机的在线流。
此外,您还可以在“流”页面中查看所有加入的摄像机的在线视频流:
单击每个图像,将出现“捕获”和“灯光”按钮,双击每个图像,您可以放大并以更高的质量查看所选的摄像机流。
通过点击或单击“菜单按钮”(右上角),将出现菜单项:
不要同时打开两个页面。 该模块一次只能处理一页。
WiFi信号强度影响模块性能和视频流。
ESP32 模块较弱,arduino ESP32 编译器(rev 1.0.6)仍需要更新,因此当模块的接入点(热点)关闭时(通过将模块连接到调制解调器并打开临时热点按钮) 设置页面),设备具有更好的性能。
数据带宽有限,因此在音视频流模式下,如果提高视频流的质量,音频流的质量可能会下降。
信号强度影响在线串流速度。 尝试将设备放置在与手机、调制解调器或计算机保持适当距离的位置。
使用标准电源可以减少噪音、滞后和延迟。
在“链式网络”功能中,最后一个目标设备具有较小的带宽和延迟。
在缓存时间内,您无法点击页面元素。 通常需要大约 10 秒。
直播期间请勿刷新页面。 要重新加载页面,请先关闭流页面,然后在几秒钟后再次转到网络应用程序地址。
响应式 Web 应用程序
该网络应用程序还与桌面和移动设备浏览器兼容:
菜单
Web 应用程序分为 4 个菜单。 可以通过单击菜单按钮来选择菜单。
“Online Stream“ 实时音频播放器”页面,“Network” 是指网络 WiFi 麦克风监视器(示波器),“File Manager” 是指存储卡访问,“Settings” 是指设置和配置页面。
网络示波器和监视器
在 “Network” 页面中,有 4 个示波器/监视器通道。 这意味着您最多可以将 4 个设备(WiCard 麦克风或 WiCard 摄 像 头)添 加 到 链 网 络 中,并 同 时 查 看 音 频 信 号 或 在 线 视 频 流。
文件管理器
在 “File Manager” 页面中,您可以看到保存的图片(.jpg格式)和录制的视频。
视频保存为“.jp5”格式,在当前固件版本中,只能播放该页面的视频。
您还可以通过在设置页面中设置“目标”设备来访问此页面中其他设备的内存。
图片下方有3个按钮:
文件名(直接链接)按钮。
下一个文件按钮
删除按钮
图像下方的左侧按钮(蓝色按钮)显示文件名并具有文件的直接链接(您可以右键单击它并复制链接)。
中间的按钮显示下一个文件。
右键,删除文件。
您可以通过点击或单击图像来下载图像。
通过单击播放按钮(JP5 文件图像的中间),视频将被下载并与音频一起播放,您可以通过点击或单击图像来暂停视频。
下载视频可能需要一段时间,这取决于视频数据长度和 WiFi 信号强度。
Settings
Web 应用程序的设置菜单分为 5 个部分:
调制解调器配置
在此部分中,您可以看到可用的接入点、连接状态、设备 MAC 地址和 DHCP IP。
此外,在此部分中,您还可以设置调制解调器接入点的 SSID 和密码。
如果调制解调器不可用,请清除 SSID 文本框并保存。
设备热点配置
在此部分您可以设置模块的热点 SSID 和密码。
安全链接是一个字符串,将添加到模块 IP 地址的末尾。 例如,如果您将其设置为“123”,则模块的WebApp的IP地址将为192.168.4.1/123,而不是192.168.4.1
偶数表示默认 IP 为 192.168.4.1,奇数表示默认 IP 为 192.168.5.1
隐藏热点将设置热点隐藏。
临时热点将在模块连接到调制解调器或加入网络后立即禁用热点(对于网络中的最后一个设备)。
SSID 必须不含空格,以防您要将设备加入网络。
相机配置
在这个部分:
* 您可以设置设备的网络通道。 频道必须是 0-7 之间的数字,并且设备不能具有相同的频道。
* 在线串流和录制的“Quality”可以是低(320*240)、中(640*480)或高(800*600)。
* “Record time”可以是10秒、30秒、1分钟、2分钟或4分钟。
* “Motion sensor”是用于噪声和运动检测的内部图像和音频处理算法,可以是“关闭”、“低”、“中”或“高”。
* “PIR input”开关启用和禁用从“GPIO 3”读取记录命令。
* “Flash light”开关在录制过程中打开和关闭片上电源 LED。
本地网络配置
在本节中,您可以设置“Master”设备,还可以设置 userGlobal() 函数执行延迟。
链接的 WiCard IP 是链接设备到模块接入点的 IP。
如果不打开“需要加入”开关,该模块将被设置为Master
本地网络地图
在本节中,将显示链网络中的连接设备。
对于主设备,它从主设备的 SSID 开始,然后是第二个 ESP 设备,直到最后一个,但对于最后一个设备,排序反之亦然。
在目标文本框中输入目标设备 SSID,示波器将显示目标设备信号。
ESP32 和 ESP8266 都可以传输网络中其他模块的音频数据。
ESP32-Cam 摄像头麦克风 和摄像头项目
这些项目以及 ESP8266 WiFi 麦克风、ESP32 WiFi 麦克风、ESP32 IP 摄像头 和 ESP32 摄像头 麦克风 的完整包可在以下位置获取:
作者:M. Mahdi K. Kanan – 全栈电子和编程工程师、WiCardTech 创始人