close

  利用區域網路控制NodeMCU1.0模組已經不成問題。如果還不會的話可以參考以下網址教學: https://www.youtube.com/watch?v=7OV7U0lM27E裡面有詳盡的教學,相信看過的朋友都能夠做的出來。

 

  但是,今天如果我們要利用網際網路,在任意的地方來控制NodeMCU 1.0 模組,那該怎麼做呢?答案是要架設NAT虛擬伺服器,再藉由連接阜轉發(port forwarding)連到你的裝置。以上可能很饒舌,不知道小編在說什麼,恩....沒關係,先來了解一下自己家中的網路架構圖吧。

 

 

  以上是我家的網路架構圖,網際網路透過中華電信的數據機(ZyXEL)連進來,經過一個D-Link無線路由器。然後由D-Link無線路由器的wifi訊號發送給NodeMCU1.0,讓它能夠連上網路。

  注意!!!!此網路架構圖中,只有 ZyXEL 有對外的IP, 其餘裝置的IP都是DHCP分配的虛擬IP。換句話說,如果你要連到NodeMCU1.0模組,你不能直接輸入192.168.0.103來連到此設備,因為那是虛擬的網路。你應該要先想辦法連到ZyXEL也就是輸入 12.34.56.78 。那該如何知道自己家中ZyXEL對外的IP呢? 答案是要進入ZyXEL的後台。


[步驟一: 找出對外IP]

  開啟瀏覽器,在網址列輸入192.168.1.1,將會出現以下的網頁,叫你輸入使用者名稱與密碼。

 

  一般來說使用者名稱都為: cht,密碼有分北中南區: chtnvdsl(北區)、chtcvdsl(中區)、chtsvdsl(南區),如果以上三個都還登入不進去的話可以試試: chtvdsl、chtadsl、chtgpon。進去後勾選左上角的Expert Mode,然後點擊下面的Device info,在點擊其下的WAN。完成後如下圖:

 

  圖中有紅色的文字註解,照著步驟做可以找到對外的IP位置。

 

[步驟二: 架設NAT虛擬伺服器]
 
  接著要架設虛擬伺服器,一樣在ZyXEL的後台中,點擊Advanced Setup,接著按NAT,按下Add,輸入要連到的內部server IP(先連到D-LINK設備),以及阜號。

 
  如此設定完,你可以用不是網域下的裝置(比如手機開行動網路)只要在任意的瀏覽器內輸入 12.34.56.78:3335,即可連接到D-Link囉。當然不要學我傻傻地輸入12.34.56.78:3335,要輸入你剛才找到自己對外的IP以及阜號。

 

[步驟三: 設定通訊阜轉發 (port forwarding)]
 
  剛才輸入的IP:12.34.56.78:3335 會讓外部網路連結到D-Link後台,但是我們的最終目的是要連到NodeMCU裝置,要怎麼辦呢?要進入D-Link後台設定通訊阜轉發 (port forwarding),將連接進來的阜號轉到內部區域網路中NodeMCU在的位置。首先,打開D-Link後台,在任意瀏覽器中輸入 192.168.0.1,登入D-Link後台,一般來說D-Link後台的帳密在一開始設定的時候就會知道了。登入進去後,點擊上方的進階,然後是左邊的通訊阜轉送,之後在通訊阜轉送規則中新增你NodeMCU的IP位置及要開啟的通訊阜。詳細過程如下圖:

  最後按下儲存設定就到公告成囉。趕快拿起你的手機來試試看。


[步驟四: 測試]

  在手機中輸入對外IP位置加上阜號還有控制碼(例如: 12.34.56.78:3335/gpio/1),看看LED是不是真的亮了呢?
 

 
 
 
 
 
 
 
 
  如果失敗的話別氣餒,有時候你設定完要等一下,伺服器才會比較穩定。如果還是不行,試著按NodeMCU上的Reset鍵,重新啟動伺服器試試看。再不行的話要檢查ZyXEL及D-Link後台中,IP位址是否有設定錯。如果有其他問題,也可以在下面留言給我喔。
 
 
 
 

 

arrow
arrow

    charliech17 發表在 痞客邦 留言(2) 人氣()