把NodeMCU鏈接到路由器網絡上git
NodeMCU能夠被配置爲Station模式和softAP模式或者Station + AP模式,當它被配置爲Station模式時,就能夠去鏈接Access Point(如路由器)。當它被配置爲Soft Access Point模式時,其餘的Station(如手機、電腦)就能夠鏈接到它,並與它進行通訊。當它被配置爲Station + AP模式時,便可做爲Station也能夠做爲Access Point。github
圖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()打印此時NodeMCU的IP地址。spa
程序燒錄到NodeMCU中後,打開串口監視器,能夠看見NodeMCU成功鏈接到了設置的網絡中。code
圖3-3 NodeMCU成功鏈接到路由器網絡blog
其餘設備鏈接到NodeMCU上ip
將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狀態
閱讀原文可訪問個人我的博客。