智能视频监控系统

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


本项目是一个基于Quectel Pi H1智能主控板开发的智能视频监控系统。系统集成Frigate NVR(网络视频录像机)平台,依托计算机视觉技术,提供目标检测、运动追踪与事件录像等核心功能。

在设备兼容性方面,系统支持灵活接入多种类型的摄像头:

  • USB摄像头:本地直连,即插即用。

  • IPC(网络摄像机):基于ONVIF协议实现标准化设备控制,并通过RTSP传输低延迟视频流。

系统配备Web可视化管理界面,用户可便捷地进行实时监控与数据管理等操作,适用于家庭安防、商业监控等应用场景。

../../../_images/image_C1hXbI7sBoKkrnxv6mQcXLddn7c.webp

开发资源汇总

开发配件清单

备注

以下开发配件仅供参考,实际配置可能因开发环境而异。例如,通过SSH远程连接进行开发时,无需USB扩展坞;显示屏可根据需要替换,但替换件应满足接口和规格要求。

配件名称

数量

规格参数

Quectel Pi H1智能主控板

1

Quectel Pi H1智能主控板

USB-C电源适配器

1

27W USB Type-C接口充电器;1.2米线长;中规PD电源;适用于树莓派5代

Micro HDMI线

1

规格:HDMI 2.0;线长:1米;接口:HDMI-A(公头)转HDMI-D(公头)

网线

1

线长:1米;传输速率:千兆;

CPU散热风扇(可选)

1

树莓派5代官方原装散热器(带导热贴)

扩展坞(可选)

1

绿联USB3.0扩展坞

网络摄像头

1

腾达室内家用监控摄像头

OV5693 USB摄像头

1

OV5693 USB摄像头模组

HDMI显示器

1

HDMI显示器

配件实物参考

../../../_images/image_PRC3b9fsHorZLFxigticiJlQn4f.webp

快速上手

开发准备

Quectel Pi H1出厂预装Debian 13操作系统,通常无需重新烧录系统镜像。按照以下步骤操作即可:

硬件连接

按照以下步骤完成所有硬件连接(步骤编号与下方接口示意图中的标注一一对应):

../../../_images/image_NbQobVENnoRoqVxfNh0caEXZnFh.webp
  1. 显示连接: 将Micro HDMI线的一端连接至智能主控板的Micro HDMI接口,另一端连接至显示器的HDMI接口。

  2. 网络连接: 确保路由器已连接互联网,然后将网线的一端连接到智能主控板的千兆以太网端口,另一端连接到路由器的以太网端口。

  3. 输入设备连接: 将USB键盘、鼠标和OV5693 USB摄像头模块连接到扩展坞的USB接口,再将扩展坞连接到智能主控板的USB接口。如果使用无线输入设备,将无线接收器连接到扩展坞的USB接口即可。

  4. 供电连接: 将USB-A电源线的USB-A端连接到电源适配器的输出端,将USB-C端连接到智能主控板的电源输入接口(通常标注为 POWER IN)。

  5. 散热风扇连接: 先将散热风扇的排线插入智能主控板的FAN插槽中,再将散热器两端固定在主控板预留插孔中。

  6. 网络摄像头连接: 使用网络摄像头自带的电源线接通电源,并确保其与主控板处于同一局域网内。

连接完成参考图

../../../_images/image_NFU7bXrGUo3eSSx9O3bcpFFynte.webp

项目实现

准备步骤

网络摄像机(IPC)首次配网需接入局域网。请确保配置所用的智能手机与网络摄像机接入同一个Wi-Fi网络(同一路由器),然后通过配套 腾达App完成摄像机添加与网络配置。详情请参考 App配置指南。

备注

请确保智能主控板与网络摄像机处于同一局域网内,否则无法获取摄像头设备的RTSP视频流。

安装Docker

#卸载所有冲突的软件包
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)
#设置Docker apt仓库
sudo apt update
sudo apt install curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#安装Docker软件包
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动Docker服务

#启动Docker服务
sudo systemctl start docker
#验证Docker是否正在运行
sudo systemctl status docker

若终端回显中包含“active(running)”,则表示Docker启动成功。

部署Frigate系统

#在根目录下新建frigate文件夹
mkdir ~/frigate
cd frigate/
mkdir storage config 

点击此链接,下载配置文件。然后使用SCP命令上传文件至 ~/frigate 目录下(参考 SCP文件拷贝),并执行以下命令部署Frigate容器服务。

备注

请确保 docker-compose.yml 文件位于 ~/frigate 目录下,否则无法执行以下命令。

cd ~/frigate 
sudo docker compose up -d

安装项目依赖库

在终端运行以下命令安装项目依赖库:

pip install --upgrade pip
pip install onvif-zeep wsdiscovery opencv-python pyyaml

摄像头设备发现与配置

在 ~/frigate 目录下为上传配置文件中的 camera_discover.py 赋予执行权限。运行该脚本后,它将自动扫描并生成 config.yml 文件,用于配置USB摄像头及支持ONVIF协议的网络摄像头。

chmod +x camera_discover.py
python3 camera_discover.py

备注

若无法正常执行 camera_discover.py 文件,请检查文件中的 CONFIG_PATH 路径是否正确指向 ~/frigate/config/config.yml。

摄像头后台设置

在局域网内的PC终端或智能主控板桌面环境中,打开Firefox(火狐浏览器),输入网络摄像头的IP地址,使用默认用户名admin、密码admin123456登录后台,设置音视频编码参数。

../../../_images/image_RyJfbdiMEoMy8XxQBR4cF8Ftn2f.webp ../../../_images/image_CaxHb0H5CoBEDJxPFWacrcHAnka.webp

备注

网络摄像头的IP地址可在腾达(Tenda)APP的设备信息中查看。

重启 Frigate 服务(使配置生效)

在系统终端执行以下启动命令:

sudo docker compose -f ~/frigate/docker-compose.yml down && sudo docker compose -f ~/frigate/docker-compose.yml up -d

启动完成后,在浏览器中输入 http://<智能主控板IP地址>:5000,即可访问Frigate服务。

应用演示

实时监控功能演示

在 Live 界面中可实时查看系统监控画面,支持多路摄像头同时显示:

../../../_images/image_J3MHbMGbEoPv24xkWOCcC9AUnGg.webp

告警事件复核演示

在 Review 界面中,可查看不同时间段的安全事件警报,系统会自动检测并录制符合条件目标的监控画面(如行人、车等):

../../../_images/image_OcIvbQsYtoAw0rxWHficz59JnKd.webp

目标追踪功能演示

Explore 界面会显示配置文件中设置的追踪目标(如人、车等),并展示检测框与置信度:

../../../_images/image_Xg0zb7Q1roaI3Tx5KXacE0w2nCn.webp

视频导出功能演示

  • 在 Review 页面 → 右键单击或长按回放条目 → 选择 Export;

  • 或在摄像头的 历史 页面 → 点击 导出 按钮。

../../../_images/image_Mq5dbOpEFocnnIxGmUMc6bGwnrf.webp

导出的视频可在左侧主导航栏的 Export 页面中进行管理与下载。

../../../_images/image_Ls8qbaZYZoh9bOxZzD5c6DNknne.webp

人脸识别功能演示

人脸识别功能通过将检测到的人脸与预先添加的人脸数据进行匹配来识别已知人员。当识别出已知人员时,其姓名会作为子标签显示。

在 Face Library 页面依次点击 Add Face 按钮,在弹出的向导中输入人脸名称、上传人脸基准照片,并依次点击 Next 和 Done 完成录入。当Frigate检测并尝试识别人脸时,该人脸会出现在人脸库的 Train 标签页中,并显示相应的识别置信度。

../../../_images/image_XOhNbE4mOooJ4oxzp6mcROZInbd.webp

备注

更多功能及使用方法请参考 Frigate官方网站。

技术支持与贡献

如在使用过程中遇到问题,欢迎前往 移远通信官方论坛 提交技术咨询,我们的技术支持团队将及时为您解答。

项目开源地址:https://github.com/Quectel-Pi/demo-inkscreen-reader/

欢迎提交Issue反馈问题,或提交Pull Request改进代码。