把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状态
阅读原文可访问个人我的博客。