斷更許久,但生活還需要繼續,很多事情無法回頭無法改變,人在自然面前,在時間面前太無力了,時間還在往前,我也只能硬著頭皮繼續前行。
外網穿透及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