项目简介
本项目是基于Node.js和ESPCAM - 32的摄像头网络服务系统,利用Web服务器和WebSocket技术,实现对摄像头设备的控制与实时视频流传输,用户可在任何位置访问并操控摄像头。
项目的主要特性和功能
- 提供多种HTTP接口,可控制摄像头获取图像、设置参数和获取状态等。
- 借助WebSocket技术,实现摄像头实时视频流的传输。
- 摄像头能实时进行人脸识别,可在图像上绘制人脸框并显示人脸ID。
- 可通过HTTP接口灵活调整摄像头分辨率、颜色模式、曝光时间等参数。
- 提供专门的HTTP接口来控制LED闪光灯。
- 支持获取和设置摄像头传感器寄存器值,还能配置传感器PLL参数。
- 能捕获JPEG和BMP格式的图像。
安装使用步骤
假设用户已下载本项目的源码文件:
1. 确保具备Node.js环境和Arduino ESPCAM - 32硬件。
2. 将源码文件解压并导入ESP32开发环境(如Arduino IDE)。
3. 根据项目需求,配置WiFi信息、摄像头模型等参数。
4. 编译并烧录代码到ESP32板。
5. 连接摄像头模块、LED闪光灯模块以及其他必要的硬件到ESP32板。
6. 进入 ~/CameraWebServer/server
目录,运行命令 node server.js
。此时WS Server将监听8888端口,HTTP server监听8000端口。
7. 若为本地连接,在浏览器中输入 localhost:8080/client
;若为互联网连接,需先在路由器中开启8888和8000端口的转发功能,获取广域网IP(可访问 www.whatismyipaddress.com
查询),然后在浏览器中输入 http://广域网IP:8000/client
。
8. 若需更改代码中的IP地址,进入 ~/CameraWebServer/server
目录,编辑使用socket协议的8888端口对应的IP地址,例如 const WS_URL = 'ws://新IP地址:8888';
。
注意:此项目需要ESP32硬件支持,以及相应的摄像头模块和LED闪光灯模块。确保您的路由器已正确配置端口转发以允许远程访问。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】