树莓派4B + MJPG-streamer + FRP:手把手教你搭建一个能远程看家的低功耗监控系统

张开发
2026/6/6 4:16:06 15 分钟阅读

分享文章

树莓派4B + MJPG-streamer + FRP:手把手教你搭建一个能远程看家的低功耗监控系统
树莓派4B打造全天候智能监控系统从硬件选型到远程访问全解析在智能家居和远程监控需求日益增长的今天利用树莓派搭建个性化监控系统已成为技术爱好者的热门选择。相比传统监控设备基于树莓派的解决方案不仅成本低廉还具备高度可定制性能够根据具体场景灵活调整功能。本文将深入探讨如何将树莓派4B转变为稳定可靠的家庭监控中心涵盖摄像头选型、视频流传输优化、远程访问实现以及系统稳定性保障等关键环节。1. 硬件选型与系统配置1.1 摄像头选择与性能对比树莓派兼容多种摄像头模块选择适合的硬件是构建监控系统的第一步。以下是三种主流方案的对比摄像头类型分辨率支持低光性能视角范围适用场景官方CSI摄像头最高8MP一般62度日常监控、基础应用USB高清网络摄像头最高4K视型号90-120度需要高画质的场景红外夜视摄像头通常1080P优秀70-100度夜间监控、低光环境对于大多数家庭监控需求推荐选择支持1080P的USB摄像头这类设备通常具备自动对焦和宽动态范围功能能适应不同光照条件。如果需要夜间监控能力可考虑添加红外补光灯或直接选用内置红外灯的夜视摄像头。安装注意事项CSI接口摄像头需要启用树莓派相机模块sudo raspi-config Interface Options CameraUSB摄像头通常即插即用建议使用USB3.0接口以获得更稳定的数据传输避免使用过长的USB延长线这可能导致供电不足或信号衰减1.2 系统优化与基础环境树莓派官方系统Raspberry Pi OS是最稳定的选择特别是对于需要长期运行的监控系统。安装完成后建议进行以下优化# 更新系统并安装必要工具 sudo apt update sudo apt full-upgrade -y sudo apt install -y git vim htop tmux # 调整交换空间大小建议为物理内存的1-2倍 sudo sed -i s/CONF_SWAPSIZE100/CONF_SWAPSIZE2048/ /etc/dphys-swapfile sudo systemctl restart dphys-swapfile # 禁用不必要的服务释放资源 sudo systemctl disable bluetooth.service sudo systemctl disable hciuart.service对于监控系统稳定的电源供应至关重要。树莓派4B建议使用至少3A的电源适配器避免因供电不足导致系统重启。如果可能为树莓派配备UPS备用电源或使用PoE HAT通过网线供电可以进一步提升系统可靠性。2. 视频流服务搭建与优化2.1 MJPG-streamer深度配置MJPG-streamer因其轻量高效的特点成为树莓派视频监控的首选方案。以下是详细的安装与配置流程# 安装依赖库 sudo apt install -y cmake libjpeg-dev libv4l-dev # 获取最新源码并编译 git clone https://github.com/jacksonliam/mjpg-streamer.git cd mjpg-streamer/mjpg-streamer-experimental make sudo make install启动MJPG-streamer时通过调整参数可以在画质和性能间取得平衡/usr/local/bin/mjpg_streamer \ -i input_uvc.so -d /dev/video0 -r 1280x720 -f 15 -q 80 -n \ -o output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www关键参数解析-r 1280x720设置分辨率为720P可根据需要调整-f 15帧率设为15fps降低CPU负载-q 80JPEG质量参数值越高画质越好但带宽需求越大-n禁用动态参数调整保持稳定输出2.2 服务化与自动恢复为确保监控服务持续运行需要将其配置为系统服务并实现自动恢复sudo vim /etc/systemd/system/mjpg-streamer.service服务文件内容示例[Unit] DescriptionMJPG-streamer video streaming service Afternetwork.target [Service] ExecStart/usr/local/bin/mjpg_streamer \ -i input_uvc.so -d /dev/video0 -r 1280x720 -f 15 -q 80 -n \ -o output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www Restartalways RestartSec10 Userpi Grouppi [Install] WantedBymulti-user.target启用并测试服务sudo systemctl daemon-reload sudo systemctl enable mjpg-streamer sudo systemctl start mjpg-streamer journalctl -u mjpg-streamer -f # 查看实时日志3. 远程访问解决方案3.1 FRP内网穿透配置FRP是实现远程访问的高效工具以下是服务端和客户端的详细配置方法。服务端配置以Ubuntu为例wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz tar -zxvf frp_0.44.0_linux_amd64.tar.gz cd frp_0.44.0_linux_amd64编辑frps.ini配置文件[common] bind_port 7000 vhost_http_port 8081 dashboard_port 7500 dashboard_user admin dashboard_pwd YourStrongPassword authentication_method token token YourSecureToken树莓派客户端配置编辑frpc.ini文件[common] server_addr your.server.ip server_port 7000 token YourSecureToken [home-camera] type http local_ip 127.0.0.1 local_port 8080 custom_domains camera.yourdomain.com安全提示务必修改默认密码和token避免使用简单易猜的凭证。建议定期更换token增强安全性。3.2 访问控制与安全加固为保护隐私可以添加基础认证和访问限制在MJPG-streamer输出插件中添加认证-o output_http.so -p 8080 -w /www -c username:password通过FRP限制访问IP[home-camera] type http local_ip 127.0.0.1 local_port 8080 custom_domains camera.yourdomain.com http_user stream_user http_pwd StreamPassword allow_ips 192.168.1.100,203.0.113.45配置HTTPS加密传输需要域名和SSL证书[home-camera-https] type https local_port 8080 custom_domains camera.yourdomain.com4. 系统稳定性与高级功能4.1 看门狗与自动恢复机制树莓派长期运行可能出现服务异常可通过以下方式增强稳定性sudo apt install -y watchdog sudo vim /etc/watchdog.conf取消注释或添加以下配置max-load-1 24 min-memory 1 watchdog-device /dev/watchdog创建服务监控脚本/usr/local/bin/check_stream.sh#!/bin/bash if ! pgrep mjpg_streamer /dev/null; then systemctl restart mjpg-streamer fi exit 0添加定时任务(crontab -l ; echo */5 * * * * /usr/local/bin/check_stream.sh) | crontab -4.2 移动端访问优化针对手机用户可以创建轻量级监控页面!DOCTYPE html html head meta nameviewport contentwidthdevice-width, initial-scale1.0 title家庭监控/title style img { max-width: 100%; height: auto; } .controls { margin: 10px; text-align: center; } /style /head body div classcontrols button onclickdocument.getElementById(stream).srchttp://camera.yourdomain.com/?actionstreamDate.now() 刷新画面 /button /div img idstream srchttp://camera.yourdomain.com/?actionstream /body /html4.3 能耗管理与温度控制树莓派4B在持续工作时可能产生较高温度影响稳定性。建议采取以下措施安装散热片或风扇sudo apt install -y rpi-monitor vcgencmd measure_temp # 实时查看CPU温度启用动态时钟调节sudo vim /boot/config.txt添加arm_freq_min600 arm_freq1500 arm_freq_max1800电源管理优化sudo apt install -y powertop sudo powertop --auto-tune通过以上配置树莓派监控系统可以实现7×24小时稳定运行平均功耗保持在3-5W之间相比传统监控设备可节省大量能源。

更多文章