断更许久,但生活还需要继续,很多事情无法回头无法改变,人在自然面前,在时间面前太无力了,时间还在往前,我也只能硬着头皮继续前行。
外网穿透及domoticz远程控制NodeMcu点灯
前言
之前的文章,都是在同一个局域网内的远程控制nodeMcu点灯,无法实现外网控制,即用其它网络如手机移动网络是无法控制的。而且前面提到了用domoticz远程控制NodeMcu,domoticz有着比较精美的UI界面,可兼容设备多,可安装在多个设备上,比如手机,平板,树莓派等等,完全可以做一个物联网或智能家居的中央控制系统,且具有私密性和安全性(不是用其它公司的云端平台,而是自己搭建)。
我学习NodeMcu的目的,就是希望能实现各种产品的联动,同时简化自己的操作,让机器替我们思考甚至做决定,以及满足自己的个性化定制需要。
1、外网穿透
要实现外网穿头,关键就是设备端口的外网映射。一般我们的nodeMcu都是连接到我们的路由器上的,路由会给它一个IP地址,这个是内网的IP。先运行前文写得远程点灯程序。
可以看到红框的是nodeMcu的IP,nodeMcu已经连上路由了,程序打印ip出来的。在看看自己的路由设置里。
不同路由器,设置界面不一样的,相信大家都能找到自己路由里各设备的连接情况的。好了,接着就是在路由里绑定nodeMcu的IP和MAC。
一般都在路由的DHCP里设置的,手动指定,输入nodeMcu的MAC和IP就可以固定了,这样每次nodeMcu连接路由IP都不会变化了。
然后就是外网穿透了,也是路由里设置。
不同的路由设置里,端口转发的名称可能不一样,但相信大家都能找到对应设置端口和IP映射的位置。这里有一点需要提醒大家,外网的IP端口不要选择常用的,防止冲突,而且这样也不安全。服务类型选择HTTP,本地的通信类型选择TCP或both或ALL。
如此外网穿透就搞定了。试试看吧能不能用手机移动网络点亮nodeMcu上的LED吧。
1. 首先找到路由的外网IP,路由里一般看得到得,或者百度“IP”
解释一下,我现在是换了路由,所以2个IP不一致,正常应该是一样的。
2. 然后试试远程控制,命令形式是“IP+端口+命令”,之前的命令例子是
http://192.168.8.145/on
,现在如果外网ip是115.223.145.61,映射端口是81,那命令是http://115.223.145.61:81/on
,注意一定要带端口号。
看是不是真正实现了远程控制。
2、domoticz远程控制
2.1、domoticz简单介绍
这里是domotic的WIKI百科,相关内容,有兴趣的大家可以了解一下。这是它的官网,有下载的页面,我现在暂时使用的是windows版,安装在电脑上,先玩玩吧,等以后有机会试试树莓派版或手机版。
domoticz平台的特点是支持很多硬件,支持显示采样数据,可以统计数值,支持搭建智能家居平台,国外开发资料相对比较齐全,而且开源,完全免费,还有一点是支持中文显示,可以定制家庭平面图。
2.2、domoticz下载安装
前面说到我下的是windows版,一路默认吧。
然后打开运行,是运行web里的。
2.3、domoticz设置
选择setup,让我们先找到熟悉的中文。
选择language中chinese,再点红色的Apply setting,就可以了,如果不起效果,请再Latitude和Longitude中输入0或者北京的经纬度,再应用设置,成功后是这样的。
2.4、domoticz点灯设置
1、开始设置吧,选择硬件。
2、创建传感器,注意类型选择,设置好,点增加。
3、选中开关,选手动添加灯/开关,如图设置即可,关于类型选择,暂时没有研究就默认吧。
4、编辑灯的设置
5、添加开灯和灭灯命令,注意开关类型选择,保存。
6、最后点灯试试,看是否nodeMcu上的LED点亮了。
2.5、domoticz其它功能
这里稍微提一下,自己摸索吧,这是domoticz内置的Blockly编程语言,当然它也支持Lua,通过这个编程,相信实现多个硬件联动和控制,也会比较简单。
结尾
本节主要介绍了关于内网穿透的相关内容,再引申了domoticz的相关设置应用,如此实现真正的远程控制就成为了可能。当然domoticz功能强大,后面我们再一起深入学习吧。
参考
domoticz官网:http://www.domoticz.com/
domoticz的WIKI:http://www.domoticz.com/wiki/Domoticz_Wiki_Manual