树莓派+内网穿透实现远程监控

一、工具

1、硬件

树莓派、摄像头(我用的是树莓派官方摄像头,某宝有,十几块一个)

2、软件

(1)云服务器,我是买的腾讯云云服务器,1核2G5M、SSD50G的配置,33r包年,某宝上买的。可能是因为阿里云挨锤了,腾讯云搞大优惠抢顾客。主要是需要云服务器的公网IP。
(2)motion,监控软件
(3)frp,内网穿透工具

二、硬件

1、树莓派摄像头

(1)我用的是树莓派官方系统,raspbian,先更新一下软件,

sudo apt-get update
sudo apt-get upgrade

(2)使能摄像头模块

sudo raspi-config

树莓派+内网穿透实现远程监控_第1张图片
树莓派+内网穿透实现远程监控_第2张图片

(3)测试摄像头

raspistill -v -o test.jpg

有屏幕的话打开文件夹可以直接查看,没有的话用xftp穿到本地查看。

2、云服务器配置

云服务器安全组要添加你使用的端口,如:7001。
在这里插入图片描述

三、软件配置

注意!frp的安装包内容是一样的,frps是服务器(server)用的,frpc是客户端(client)用的,别搞错了。

1、云服务器frps配置

这里推荐直接到frp的github下,用命令比较慢。链接
下载amd64和arm(这个默认是32位的)
树莓派+内网穿透实现远程监控_第3张图片
用xftp传到云服务器上。解压一下

tar -xzvf frp_0.38.0_linux_amd64

打开frps.ini文件

vi frps.ini

配置内容如下

[common]
bind_port = 7001
vhost_http_port =7001

切换到解压的文件夹,运行命令如下

./frps -c ./frps.ini

2、树莓派frpc配置

树莓派客户端的frpc.ini配置如下

[common]
server_addr = 云服务器公网IP
server_port = 7001

[web]
type = http
local_port = 1000 
custom_domains = 云服务器公网IP(你有域名也可以)

local_port = 1000 这里是motion的stream_port,换成你自己的

运行frpc,切换到解压的文件夹,运行命令如下

./frpc -c ./frpc.ini

3、motion配置

安装motion

sudo apt-get install motion

编辑配置文件

sudo vi /etc/motion/motion.conf

必备配置文件内容如下

# 在后台运行。设置为off将在前台运行
daemon on

# 视频流端口
stream_port 1000

# 允许外网访问视频流(on为不允许)
stream_localhost off

# web控制台端口
webcontrol_port 1001

# 允许外网访问控制台(on为不允许)
webcontrol_localhost off

开启motion监控

sudo motion 

motion运行成功打印
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [ALR] [ALL] conf_cmdparse: Unknown config option "
"
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)

关闭motion监控

sudo killall -TERM motion

四、结果展示

1、在公网浏览器输入你的云服务器IP地址:7001就可以看到视频了。例如

http://1.1.1.1:7001/

2、内网访问IP地址换成树莓派内网IP就行。

3、web控制台我这里外网还是无法访问,大家可以帮忙找找原因,内网倒是可以访问到web控制台。

树莓派+内网穿透实现远程监控_第4张图片
4、如果frps配置成功了,但是frpc或者motion配置失败,访问云服务器IP地址:7001会显示如下。
树莓派+内网穿透实现远程监控_第5张图片

你可能感兴趣的:(Linux学习笔记,腾讯云,服务器,物联网,linux)