ESP8266-Code

145 阅读2分钟
 digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));  //反转灯
  while (WiFi.status() != WL_CONNECTED) { // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
    delay(1000);     
    digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));  //反转灯 //如果WiFi连接成功则返回值为WL_CONNECTED                       
    Serial.print(i++); Serial.print(' '); // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
  }                                            // 同时NodeMCU将通过串口监视器输出连接时长读秒。
  while (WiFi.status() == WL_CONNECTED) {            // 这个读秒是通过变量i每隔一秒自加1来实现的。
  
  digitalWrite(LED_BUILTIN,HIGH); 
  }                                  

接入点模式(Access Point, 也称 AP)

NodeMCU可以建立WiFi网络供其它设备连接。当NodeMCU以此模式运行时,我们可以使用手机搜索NodeMCU所发出的WiFi网络并进行连接。

/*
NodeMCU接入点模式
By 太极创客(http://www.taichi-maker.com)
2019-03-11
 
此程序用于演示如何将NodeMCU以接入点模式工作。通过此程序,您可以使用
电脑或者手机连接NodeMCU所建立WiFi网络。
 
网络名: taichi-maker
密码:12345678
 
如需获得更多关于如何使用NodeMCU开发物联网的教程和资料信息
请参考太极创客网站(http://www.taichi-maker.com)
并在首页搜索栏中搜索关键字:物联网
*/
 
#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char *ssid = "taichi-maker"; // 这里定义将要建立的WiFi名称。此处以"taichi-maker"为示例
                                   // 您可以将自己想要建立的WiFi名称填写入此处的双引号中
 
const char *password = "12345678";  // 这里定义将要建立的WiFi密码。此处以12345678为示例
                                    // 您可以将自己想要使用的WiFi密码放入引号内
                                    // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息
 
void setup() {
  Serial.begin(9600);              // 启动串口通讯
 
  WiFi.softAP(ssid, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
                                   // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
                                   // 这两个参数具体内容在setup函数之前的位置进行定义。
 
  
  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址
}
 
void loop() { 
}
​
​
​

连接WIFI模式

NodeMCU通过WiFi连接无线路由器并访问互联网。

#include <ESP8266WiFi.h>        
 
const char* ssid     = "72B319";      
                                          
const char* password = "xiao760914aa";        
                                            
                                            
void setup() {
  Serial.begin(115200);        
    pinMode(LED_BUILTIN, OUTPUT);
  WiFi.begin(ssid, password);                  
  Serial.print("Connecting to ");              
  Serial.print(ssid); Serial.println(" ...");  
  
  int i = 0;                                   
  while (WiFi.status() != WL_CONNECTED) {      
    delay(1000);     
    digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));            
                                               
    Serial.print(i++); Serial.print(' ');      
  }                                           
    digitalWrite(LED_BUILTIN,LOW);     //低电平点亮                            
  Serial.println("");                         
  Serial.println("Connection established!");   
  Serial.print("IP address:    ");            
  Serial.println(WiFi.localIP());             
}
 
void loop() {                                   
}