最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备。

已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的;但是有一些限制条件,比如我想在宿舍控制我种花的光照然后就不行了;

所以这是一个外网访问内网的梗,解决方案如下:

1.先在本地term命令下查看ifconfig(windows为ifconfig);找到自己的本机ip,我的树莓派被分配ip为192.168.1.103

2.tplink路由器的管理地址是192.168.1.1

在浏览器中输入192.168.1.1,输入用户名和密码进入路由器管理页面。点击转发规则---虚拟服务器,创建端口映射:

添加新条目,本机的ip是192.168.1.103,需要连接的端口是80.(要与树莓派flask服务器设置的端口一致)

点击保存即可。

3.然后查看路由器的IP为:10.11.47.71

4.在树莓派上开启flask服务器,sudo python weblamp.py

5.然后在宿舍你就可以访问10.11.47.71:80这个IP,通过转发映射到路由器下树莓派192.168.1.103这个内网ip了;

做的是一个简易物联网的网页,按钮控制灯之类,然后网页可以读到DHT11,简单有意思的一个小东西。

注意注意!!

我说的只是在校园内这个局域网,因为实验室的路由器是二级路由,只能在学校内部用这个方法,对于宿舍控制实验室还是可以做得到的;

没有权限访问学校一级路由,所以想用4G访问还是不行的,如果你有自己的独立IP当我没说,那就想怎么玩就怎么玩了;

哪天也弄一个独立IP,哈哈。

简单物联网:外网访问内网路由器下树莓派Flask服务器的更多相关文章

  1. 设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务

    设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-02. 参考文章: IPv6"内网"设备 ...

  2. 外网访问内网的FTP服务器

    转自 外网访问内网的FTP服务器 首先感谢作者给出的总结,原文是介绍Serv-U的,我针对FileZilla Server进行了稍微修改,仅看操作可直接跳到分割线后第3部分. 1. 背景简介最近研究如 ...

  3. SVN外网访问内网的操作步骤

    外网访问内网SVN 需要将路由映射到VisualSVN server 的443端口 将外网的端口从路由器上进行映射到内网端口,例如将外网的6000端口映射为内网的443端口,443为svn服务器默认端 ...

  4. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  5. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  6. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  7. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  8. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  9. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

随机推荐

  1. JavaScript 函数的定义-调用、注意事项

    函数定义 函数语句定义 function(a,b){ return a+b; } 表达式定义 var add = function(a,b){return a+b}; //函数表达式可以包含名称,这在 ...

  2. Apache+mod_encoding解决URL中文编码问题

    我们经常在论坛上看到这样的求救贴:  为什么我看不了网站上中文文件名的文件?这时一定会有好心的大侠告诉说,到IE6的工具,Internet选项, 高级里,把"总是以UTF-8发送URL&qu ...

  3. 超炫的 CSS3 页面切换动画效果

    在线演示      源码下载

  4. 统计数据方面SQL与HQL

    因为HQL是面向对象的,所以对于统计数据方面使用HQL时不合适的,其实HQL最终还是会转化成SQL语句,项目里使用HQL语句应该是为了标准规范化. 统计的数据:同一个表,同一个字段,不同属性,统计不同 ...

  5. css3---线性渐变

    .example1 { width: 150px; height: 80px; background: -moz-linear-gradient( top,#ccc,#000); background ...

  6. iOS APP打包分发给远程的手机测试

    APP要打包给远程的朋友或客户测试,但又不是企业账号的情况下,我们只能根据手机的udid进行描述证书的配置,再打包分发给提供了udid的手机进行安装 一.如何得到udid? 手机连接到mac电脑,打开 ...

  7. Unity 总裁 John Riccitiello 发话:VR足以匹敌互联网

    在2017年Vision Summit大会的开幕演讲中,Unity首席执行官John Riccitiello向观众通报了开发人员如何利用Oculus,HTC等品牌创造的机遇来打造虚拟现实(VR)行业, ...

  8. 运算符重载 与 sort()

    运算符重载与sort() 二话不说上代码: #include <iostream> #include <algorithm> using namespace std; stru ...

  9. sublime text 3文件标题无法显示中文的解决办法

    前言 你是否遇也到了sublime文件标题无法显示中文的问题呢?如下列图片所示: 解决办法 1.点击菜单栏Preferences - > Settings. 打开下图: 2.在右边User内加入 ...

  10. yum 安装redis 及简单命令(推荐测试环境,安装简单)

    第1章 redis 入门 1.1 yum 安装 安装repo源 cd /etc/yum.repos.d/ wget http://mirrors.aliyun.com/repo/epel-6.repo ...