前言:通过fpr就可以远程访问我的设备,可以实现远程查看和操控树莓派了。
1.服务器(我使用的是相对性价比高的腾讯云服务器)
2.frp
3.树莓派
(1)推荐先下载到自己电脑上,然后再用xftp(xftp免费使用教程)上传到树莓派和服务器上。frp下载链接。我也把压缩包放到网盘里了,需要的自取 ,密码1111。
(2)通过xftp上传到服务端和树莓派端。
(1)解压并进入文件夹
sudo tar -xzvf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64
(2)配置frps.ini文件
sudo nano frps.ini
写入
[common]
bind_port = 7001
vhost_http_port =7001
Ctrl+s,Ctrl+x,保存并退出
(3)服务器开放7001端口(可以自己设置不同的端口,一定要和frps.ini文件中的配置对应起来)
我的是腾讯云服务器,使用是宝塔管理系统,所以说我两个系统中都要开放7001端口。
(4)在frp_0.38.0_linux_amd64文件夹下启动frps,
./frps -c ./frps.ini
(1)同理,解压并进入文件夹
sudo tar -xzvf frp_0.38.0_linux_arm.tar.gz
cd frp_0.38.0_linux_arm
(2)配置frps.ini文件
sudo nano frpc.ini
写入
[common]
# ***处填入填入你服务器的公网ip
server_addr = *******
# 开放的端口号
server_port = 7001
[web]
type = http
#此处为树莓派开放的端口号
local_port = 8081
# ***处填入填入你服务器的公网ip
custom_domains = ***
Ctrl+s,Ctrl+x,保存并退出
(3)启动
在frp_0.38.0_linux_arm文件夹下启动测试一下
./frpc -c ./frpc.ini
1.树莓派端启动motion(motion的安装及配置可以查看这篇文章)
sudo motion
(1)局域网内查看(192.168.137.xx为自己的树莓派ip地址)
浏览器内输入:http://192.168.137.xx:8081/
(2)公网远程查看(192.168.137.xx为自己的公网ip地址)
浏览器内输入:http://192.168.137.xx:7001/
延迟比较高,我这边延迟能有十几秒。(请继续往下看,有延迟几十ms的)
2.重点!!!流畅的mjpg-streamer来了!亲测公网延迟100ms左右
(1)启动mjpg-streamer(mjpg-streamer的安装及配置请看这篇文章)
我们先杀死motion
sudo killall -TERM motion
到/mjpg-streamer/mjpg-streamer-experimental文件夹下执行启动命令
sudo ./start.sh
启动成功
(1)局域网内查看(192.168.137.xx为自己的树莓派ip地址)
浏览器内输入:http://192.168.137.xx:8081/
十分流畅
(2)公网远程查看(192.168.137.xx为自己的公网ip地址)
浏览器内输入:http://192.168.137.xx:7001/
效果不错,100ms以内,不影响直播,yeah!
(1)服务端
进入系统目录
cd /lib/systemd/system
sudo nano frps.service
写入下面代码
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/lishouhao/frp_0.38.0_linux_amd64/frps -c /lishouhao/frp_0.38.0_linux_amd64/frps.ini
ExecReload=/lishouhao/frp_0.38.0_linux_amd64/frps reload -c /lishouhao/frp_0.38.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
Ctrl+s,Ctrl+x,保存并退出
(2)同理树莓派端也是如此
注意:云服务器端是frps类文件,树莓派是frpc类文件,修改相关配置的时候一定要注意。
(3)快捷启动方式
# 启动frps
systemctl start frpc
# 打开开机自启动
systemctl enable frpc
# 关闭开机自启动
systemctl disable frpc
# 重启应用
systemctl restart frpc
# 停止应用
systemctl stop frpc
# 查看应用的日志
systemctl status frpc
个人理解,frp是连接公网和内网的桥梁,只要配置好端口,就可以进行通信。配置的时候注意区分frps与frpc。
本人也是刚接触的小白,俗话说,好记性不如烂笔头,借以此文来记录自己的探索历程,文章如有不适,请多多批评,小木子一定洗耳恭听,知错就改。