最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备。
已经在树莓上搭了一个轻量的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,哈哈。