树莓派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的应用实操、以及原理介绍。

树莓派mjpg-streamer+内网穿透相关推荐

  1. 树莓派+花生壳内网穿透使用方法

    用图形界面下载树莓派客户端之后安装完没有任何提示或反应,当时不知道是否安装成功也没有命令去运行服务,后来直接重新用命令安装了deb包,安装成功后自己显示出了对应的sn码 sudo dpkg -i ph ...

  2. 内网和外网的区别_无需服务器,树莓派使用内网穿透进行建站与维护

    概述 如题,我们今天主要讲利用网云穿官方提供的内网穿透功能来外网访问树莓派上的网站,以及通过 ssh 进行远程管理. 树莓派 树莓派是基于博通出品的 arm 架构处理器的微型电脑,价格低廉,目前最新版 ...

  3. 【树莓派学习笔记】七、(免费)内网穿透将树莓派作为服务器管理网站

    目录 nginx 安装 开机自启动 测试 查看nginx安装路径 查看配置文件路径 (测试用)修改index.nginx-debian.html 内网穿透 免费方案 ngrok原版方案 下载ngrok ...

  4. 【树莓派搭建个人网站】花生壳内网穿透

    如果wordpress已经安装设置完成后,浏览器输入localhost或者 树莓派的ip地址,就可以访问到网站了,但是外网(不在一个路由器内)仍然无法访问,而内网穿透的目的就是使外网的计算机能够访问你 ...

  5. 树莓派frp内网穿透

    树莓派+frp内网穿透 一.frp 二.frp作用 三.安装与配置 1.服务器端 2.客户端(树莓派) 一.frp frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https ...

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

    一.工具 1.硬件 树莓派.摄像头(我用的是树莓派官方摄像头,某宝有,十几块一个) 2.软件 (1)云服务器,我是买的腾讯云云服务器,1核2G5M.SSD50G的配置,33r包年,某宝上买的.可能是因 ...

  7. 树莓派内网穿透及其实现监控的相关整理

    这里整理一下树莓派内网穿透及其实现监控的相关文章 https://blog.csdn.net/TuTuTu_/article/details/80097329 上面这篇文章可以实现内网穿透,前提是你要 ...

  8. 实现公网访问树莓派4B(花生壳内网穿透)

    下载 花生壳官网下载地址:https://hsk.oray.com/download/ 点击下载树莓派 使用命令安装 wget "https://dl-cdn.oray.com/hsk/li ...

  9. 【免费内网穿透】Windows远程桌面连接树莓派

    系列文章 [免费内网穿透]Windows远程桌面连接树莓派 使用固定的公网TCP端口地址远程桌面树莓派[内网穿透] 本篇文章主要分享如何在公网环境下,远程桌面连接家里的树莓派. 远程桌面环境,我们选择 ...

  10. 公网SSH远程树莓派【内网穿透】 1-2

    在上篇介绍中,我们为大家详细介绍了如何在局域网环境下,用电脑设备登录和操作树莓派.但在某些情况下,我们会需要远程(不在同一局域网内)登录位于本地的树莓派进行操作和设置,那这时又应该如何操作呢.现在,就 ...

最新文章

  1. 【神经网络】(3) 卷积神经网络(CNN),案例:动物三分类,附python完整代码
  2. 对于注册中心,ZooKeeper、Eureka哪个更合适?
  3. H-Net:基于无监督注意的立体深度估计
  4. 我自己可以挖矿了!使用Ethereum C++客户端Aleth建一个私有网络,并使用Remix部署一个智能合约
  5. Windows系统回顾之Windows NT
  6. PPP、MP 和 SLIP 配置(上)
  7. 【自动驾驶】8. MDC通信架构 + DDS + SOME/IP
  8. setTimeout setInterval
  9. 带有Java和Axis2的JSON Web服务
  10. 【转】图文详解YUV420数据格式
  11. The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized 偶然遇到的mysql时区问题
  12. Vmware16一打开虚拟机就蓝屏
  13. 【JAVA 第五章 】课后习题 随机数统计
  14. ClickOnce Cannot download the application解决方法
  15. mock.js那点事(上)
  16. java web 页面布局框架_jsp框架(jsp实现页面框架布局)
  17. html5 边框效果图,图片边框border-image的用法
  18. 使用SpringBoot的优势
  19. 风雨30年,电子表格惊人跨越,excel用户:表格都能生成软件了
  20. linux切割日志方法,Linux下nginx生成日志自动切割的实现方法

热门文章

  1. Nginx之web前言
  2. 关于Android终端机串口的理解
  3. python Exception happened during processing of request from( 127.0.0.1 xxx) error [10053]
  4. c++面试常见题·Part 3 TCP/IP多线程编程设计模式Linux基操等
  5. 丁林松老师的QT视频及教程源码
  6. 9大日常不良习惯致癌
  7. oracle的date_add,SQL Server 中add函数到 oracle date add的操作
  8. [JS]Array对象
  9. 【VUE】vue实现登录滑动拼图验证的两种方法,纯前端组件验证以及前后端同时验证
  10. python 游戏(记忆拼图Memory_Puzzle)