基于树莓派+mjpg+frp+阿里云服务器的远程监控
环境:树莓派3B+
系统:2018-04-18-raspbian-stretch
摄像头:USB摄像头
软件:mjpg-streamer
云服务器:CentOS
内网穿透工具:frp/ssh反向隧道
一般的,树莓派无线连接的是内网,不可以被外网访问。要想把摄像头的视频数据被外网访问,需要有一台外网服务器,这里博主使用的是阿里云的CentOS云服务器(学生免费一个月使用)。mjpg-streamer使用的是8080端口,所以我们要把内网的8080端口转发出去,需要用到的有ftp/ssh反向隧道
步骤
1.安装mjpg-streamer并测试局域网下的视频监控
2.搭载云服务器
3.外网访问搭建
服务器安装frp
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
tar -zxvf frp_0.20.0_linux_amd64.tar.gz
树莓派安装frp
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gz
tar -zxvf frp_0.20.0_linux_arm.tar.gz
4.楼主使用的是frp内网穿透,另一种方法同样可以达到远程监控效果——ssh反向隧道,两者效果差不多,不过博主用frp觉得更稳定,使用ssh需要搭载云服务器中的配置端口,frp省去这一步骤
服务器frp配置
进去目录
vi frps.ini
[common]
bind_port = 7000 # frp与客户端绑定进行通信的端口
auto_token = frp7
vhost_http_port = 8080 # http 访问端口
树莓派frp配置
1.进去目录
2.vi frpc.ini[common]
server_addr =云服务器IP # frps所在的服务器的 IP
server_port = 7000 # frp与服务器绑定进行通信的端口[ssh]
type = tcp
local_ip = 192.168.199.155 # Pi所在局域网IP
local_port = 22 # 本地端口
remote_port = 6000 # ssh远程访问端口[web]
type = http
local_port = 8080 # web 服务对应的端口——mjpg-streamer所需端口
custom_domains = 云服务器IP # frps所在的服务器的 IP
运行顺序
1.先运行服务器的frp
cd frp_0.20.0_linux_amd64
./frps -c ./frps.ini
2.运行mjpg
cd /root/mjpg-streamer/mjpg-streamer-experimental/
运行:
./mjpg_streamer -i "./input_uvc.so " -o "./output_http.so -w ./www" (默认参数)
如果视频有点卡,换成:
./mjpg_streamer -i "./input_uvc.so -y -r 240x240" -o "./output_http.so -w ./www"(调分辨率)
改进:
./mjpg_streamer -i "./input_uvc.so -y -r 240x240 -f 20" -o "./output_http.so -w ./www"(调分辨率+频帧)
3.运行树莓派的frp
cd frp_0.20.0_linux_amd64
./frpc -c ./frpc.ini
4.网站测试
http://xxx.xxx.xxx.xxx:8080/javascript.html
效果
结合智能家居项目:
c#上位机
最后
以上就是含蓄香水最近收集整理的关于2.基于树莓派+mjpg+frp+阿里云服务器的远程监控的全部内容,更多相关2.基于树莓派+mjpg+frp+阿里云服务器内容请搜索靠谱客的其他文章。
发表评论 取消回复