树莓派mjpg-streamer+内网穿透

一.背景

我相信很多小伙伴和我一样,对物联网很感兴趣,就算你的专业、工作不是物联网方向。本科期间我就很想做个物联网宿舍(本人的本科学校不怎么样,但是我爱它),玩的都是单片机,画画PCB,玩玩安卓开发。实现远程控制、物联网总是会卡在很多地方,不了了之。写这篇博客也是想给那些和我一样经历的小伙伴们一些思路、帮助、动手搞起来~

二.你需要的材料

1.树莓派
2.USB摄像头
没了,内网穿透、域名均免费。
我所使用的摄像头是在淘宝上购买的一款USB摄像头,当然你也可以用树莓派的摄像头,价格都不是很贵。至于视频的传输方案,我试了两种,一种是motion、一种是本文采用的方案,就是mjpg-streamer,对比了两种方案,motion的效果比mjpg-streamer差很多,一开始我就用motion的方案,因为它的操作相对简单,但显示的视频非常卡,之后我就使用了mjpg-streamer这种方案,之后,在手机上实现远程视频监控,有点卡顿。内网穿透软件是免费的,人家的通道流量有限制,这是限制的一个很重要的原因。在局域网内,访问对应端口时,视频还是挺流畅的。本文使用的内网穿透工具,域名均是免费的,其中像申请域名,备案什么的就非常的麻烦。所以,根据本文,就可以很快的应用到你的项目中了。
可能大家会觉得用树莓派做这个不是特别划算,实际上,可以选择其他linux系统的开发板如荔枝派、香橙派,树莓派一代,要确保它可以上网,我使用的是树莓派3B+,因为实验室有两块3B+没人使用,我就拿来玩玩了,它上面也有WiFi模块,可以直接连接到你所在的局域网中。

三.视频传送

使用mjpg-streamer可以实现远程监控,mjpg-streamer的优点是图像清晰延迟小。
下面,假设你已经有树莓派,而且已经装好系统了,也有一个摄像头,且摄像头也测试成功(可以看这篇文章)。你应该在你的树莓派终端上进行下面的操作。按着上面这篇博客就可以实现在你的本机地址的8080端口下显示你的视频。确认是否已经成功的步骤是:直接在网站上输入127.0.0.1:8080(127.0.0.1是本机的ip地址:8080就是对应的8080端口),mjpg-streamer是将USB摄像头所采集到的视频放到本机的8080端口。操作成功就会显示下面的界面:
如图则说明已经可以将视频放到端口上了

四.内网穿透

内网穿透是个老生常谈的话题了,那这里如果不内网穿透会怎么样呢,那就只能在内网(局域网中,比如你公司、学校用的网络就是一个局域网),到了里其实你已经可以进行假的远程视频监控了,这要你在这个局域网内,比如你手机连接的是学校宿舍wifi,你的摄像头放在实验室,你也可以通过手机查看视频了,具体操作是:1.先在你的树莓派的终端中输入指令:ifconfig。这个时候会弹出很多信息,因为我的树莓派用的是无线连接wifi来上网的,所以我就看wlan:后面的地址多少就行比如我的是192.168.2.108,如果你是用网线的话,你看net:后面的地址是多少就行,然后就可以在你的手机浏览器下输入192.168.2.108.8080,就可以实现假的远程监控,而且视频还很流畅的。
说了这么多,很多小伙伴还是比较实现真的远程监控,毕竟还是想着在学校装一个摄像头,你在你老家的时候可以通过手机看看实验室的情况啊,宿舍的情况啊。
那么先用最简单易懂的图让小伙伴们知道什么是内网穿透原理:
网络图
上图是一个网络图,在你家的附近就有这样的一个网络,最终会连接到国际互联网,同样的道理,在学校也有这样的一个网络。最终这些局域网都会连接到国际互联网中。比如我们访问一些网站,就得知道它的域名。域名dns解析后就可以和网站空间对应起来(网站空间就是放网站内容的)。内网穿透就是把内网的地址穿透到外网,这样,就可以实现远程的数据读取,和远程视频监控了。
说了那么多废话,那应该怎么实现内网穿透呢?????
首先,内网穿透软件做的事是将你内网的某个端口映射到某个与国际互联网相连的服务器的地址上,一般得用前购买对应服务器的使用权,再在你的电脑上安装上他们的软件,就会将你本机某个端口与服务器的地址上建立起一个稳定的联系。这里我推荐的是Sakurafrp这个软件,它是免费的。下面就说一下具体步骤:
1.在这里插入图片描述
先注册一个用户、账号。密码账号都要记着,不要忘了。登录之后就会进入下面这个界面。
在这里插入图片描述
域名的话,你要自己有一个,但是,域名买是不难,但是备案是很麻烦的,一个月才能备案下来,期间手续也很麻烦,不用怕,后面我也是发现了一个免费二级域名的网站。那我们还是有必要先跳到
在这里插入图片描述
同样先注册一个用户,之后按着如下图操作步骤:
在这里插入图片描述
在这里插入图片描述
这里的地址线路可以根据下图选择(线路可以根据你的需要更改,每一次更改,域名解析就应该修改):
在这里插入图片描述
骚操作之后要看一下,你的解析是否可以用了(百度DNS:把自己的域名放进去检测,如果解析成功了就会显示解析信息,还没成功的话就再等等。。。):
在这里插入图片描述
2.经过上面的骚操作你就的域名就解析成功了,接着要操作的是在仪表盘、映射列表下,进入映射列表,管理隧道
在这里插入图片描述
这里的本机地址填127.0.0.1,本地端口填8080,绑定域名就用上你自己解析了的域名,添加。在这里插入图片描述
添加之后点击配置文件接着按着里面步骤修改:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
你还需要安装这款软件,就是客户端,也可以直接在“软件下载”下下载对应的客户端如下图。
在这里插入图片描述
下载后并解压如下:
在这里插入图片描述
启动,按着自己之前选择的线路填写。
在这里插入图片描述
最终如图,则表示,穿透成功了~
在这里插入图片描述
之后,就实现的整个远程监控的功能。最好还要开启自启动,内网穿透、还有mjpg_streamer自启,不然远程断电了之后就麻烦了~这部分也实现了,不过写了这么多有些累了就不介绍了 ~

五.应用及效果

在手机浏览器,显示如下:
在这里插入图片描述
在这里插入图片描述
后续将会写一篇yolov3的应用实操、以及原理介绍。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值