NodeMCU學習(三) : 進入網絡世界

NodeMCU鏈接到路由器網絡上git

  NodeMCU能夠被配置爲Station模式和softAP模式或者Station + AP模式,當它被配置爲Station模式時,就能夠去鏈接Access Point(如路由器)。當它被配置爲Soft Access Point模式時,其餘的Station(如手機、電腦)就能夠鏈接到它,並與它進行通訊。當它被配置爲Station + AP模式時,便可做爲Station也能夠做爲Access Pointgithub

 

3-1 模塊被配置爲Station模式網絡

 

3-2 模塊被配置爲SoftAP模式函數

以下程序配置NodeMCU將其鏈接到路由器上:oop

 1 /*--------------------------------------------------
 2                   written by helio, 2019
 3   ConnectToWifi.ino - 串口打印NodeMCU鏈接到路由器WiFi
 4 名稱和密碼,並打印自身ip地址
 5 --------------------------------------------------*/
 6 #include "ESP8266WiFi.h"
 7 
 8 void setup()
 9 {
10   Serial.begin(115200);
11   Serial.println();
12   
13   WiFi.begin("CEET305", "office305");  // 設置鏈接到的WiFi名稱和密碼
14   Serial.print("Connecting...");
15   
16   while (WiFi.status() != WL_CONNECTED)
17   {
18     delay(500);
19     Serial.print(".");
20   }
21   
22   Serial.println();
23   Serial.print("Connected Succeful to ");
24   Serial.println(WiFi.SSID()); // 打印鏈接到的WiFi名稱
25   Serial.print("The Password of this WiFi is:");
26   Serial.println(WiFi.psk()); // 打印鏈接到的WiFi的密碼
27   Serial.print("IP-address is:");
28   Serial.println(WiFi.localIP()); // 打印NodeMCU的IP地址
29 }
30 
31 void loop()
32 {
33  
34 }

ConnectToWifi.ino解析this

經過函數 WiFi.begin() 設置即將鏈接的WiFi名稱和密碼並鏈接到給定的WiFi。隨後根據函數 WiFi.status() 的返回值判斷是否鏈接獲得WiFi上,若是此函數的返回值WL_CONNECTED 則說明已經鏈接到給定WiFi上,不然沒有鏈接上,經過一個循環來等待NodeMCU鏈接到WiFi上。當鏈接成功後在串口中經過函數WiFi.SSID()打印鏈接到的WiFi的名稱,經過函數WiFi.psk()打印鏈接上的WiFi的密碼,同時經過函數WiFi.localIP()打印此時NodeMCUIP地址。spa

程序燒錄到NodeMCU中後,打開串口監視器,能夠看見NodeMCU成功鏈接到了設置的網絡中。code

 

 

3-3 NodeMCU成功鏈接到路由器網絡blog

 

其餘設備鏈接到NodeMCUip

NodeCMCU設置爲SoftAP模式時,其餘設備就能夠在網絡中發現它,而且能夠鏈接到它上面。經過以下程序便可將NodeMCU設置爲SoftAP模式:

 

 1 /*-------------------------------------------------
 2              written by helio, 2019
 3   SoftAp.ino - 將NodeMCU設置爲soft-AP模式(熱點模式)
 4 其餘設備能夠鏈接到該熱點
 5 -------------------------------------------------*/
 6 #include <ESP8266WiFi.h>
 7 
 8 void setup() 
 9 {
10   Serial.begin(115200);
11   Serial.println();
12   Serial.println("Setting soft_AP...");
13   if (WiFI.softAP(「NodeMCU」, 「Helioi1122」))
14     Serial.println("Ready");
15   else 
16     Serial.println("Failed!");
17 }
18 
19 void loop()
20 {
21   Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
22   delay(3000);
23 }

SoftAP.ino解析

 經過函數WiFi.softAP()設置將要設置的熱點名稱和密碼,若是將函數的第二個參數值設置爲 NULL 時,則其餘設備不須要設置密碼便可鏈接該熱點,同時,根據函數的返回值判斷是否建立成功,同時在串口中打印反饋信息。設置成功後在,能夠經過函數WiFI.softAPgetStarion() 獲知鏈接到其上的設備數。

打開電腦或者手機的WiFi管理界面便可發現它設置的網絡。

 

 

3-4 能夠在電腦的WiFi管理中心中發現以前設置的網絡

 

打開串口監視器,能夠在看到鏈接到NodeMCU上的設備數量。

 

3-5 串口監視器中能夠查看NodeMCU設置的WiFi狀態

  閱讀原文可訪問個人我的博客

相關文章
相關標籤/搜索