回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(246)---设置ESP8266 V3 通过串口输出软AP的IP、MAC和WiFi设备IP地址 简单

头像 驴友花雕 2025.01.14 25 0

00.jpg
23.jpg

10-.jpg
19.jpg

  【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
  实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
  实验项目之十一:设置 ESP8266 V3 通过串口输出软AP的IP、MAC和WiFi设备IP地址

 实验开源代码

 

代码
/*
  【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
   实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
   实验项目之十一:设置 ESP8266 V3 通过串口输出软AP的IP、MAC和WiFi设备IP地址
*/

#include <ESP8266WiFi.h> // 包含ESP8266WiFi库,用于WiFi连接

// 定义路由器名称和密码
const char* ssid = "zhz3";
const char* password = "zy156721";

// 定义AP模式的SSID和密码
const char *ssid_AP         = "WiFi_ESP8266"; // 输入AP模式的SSID名称
const char *password_AP     = "12345678";  // 输入AP模式的密码

// 设置ESP32的IP地址、网关和子网掩码
IPAddress local_IP(192, 168, 1, 100); // 设置ESP8266 V3的IP地址
IPAddress gateway(192, 168, 1, 10);   // 设置ESP8266 V3的网关
IPAddress subnet(255, 255, 255, 0);   // 设置ESP8266 V3的子网掩码

void setup() {
  Serial.begin(115200); // 初始化串口通信,波特率为115200
  Serial.println(" ");
  Serial.println("ESP8266 V3 准备就绪! ");
  Serial.println(" ");
  delay(1000); // 延迟1秒

  Serial.println("设置软AP配置 ... "); // 打印“设置软AP配置...”信息
  WiFi.disconnect(); // 断开WiFi连接
  WiFi.mode(WIFI_AP); // 设置WiFi模式为AP模式

  Serial.println("设置软AP... "); // 打印“设置软AP...”信息
  boolean result = WiFi.softAP(ssid_AP, password_AP); // 启动软AP

  if (result) {
    Serial.println("完成准备"); // 打印“准备就绪”信息
    Serial.println(String("软AP的IP地址 = ") + WiFi.softAPIP().toString()); // 打印软AP的IP地址
    Serial.println(String("软AP的MAC地址 = ") + WiFi.softAPmacAddress().c_str()); // 打印软AP的MAC地址
  } else {
    Serial.println("失败!"); // 打印“失败”信息
  }

  Serial.println("\n 设置站点配置 ... "); // 打印“设置站点配置...”信息
  WiFi.begin(ssid, password); // 连接到指定的WiFi网络
  Serial.println(String("连接中 ") + ssid); // 打印连接信息
  while (WiFi.status() != WL_CONNECTED) { // 等待连接成功
    delay(500); // 每隔500毫秒检查一次
    Serial.print("..."); // 打印“...”表示正在连接
  }
  Serial.println("\n 已连接,IP地址: "); // 打印连接成功信息
  Serial.println(WiFi.localIP()); // 打印设备的IP地址
  Serial.println("设置结束"); // 打印“设置结束”信息
}

void loop() {
  // 空循环,暂时没有需要重复执行的代码
}

代码解读:

1、包含库:

#include <ESP8266WiFi.h>:引入ESP8266WiFi库,以便使用ESP8266的WiFi功能。

2、定义网络凭据:

const char* ssid = "zhz3";:定义要连接的WiFi网络的SSID。

const char* password = "zy156721";:定义要连接的WiFi网络的密码。

const char* ssid_AP = "WiFi_ESP8266";:定义AP模式的SSID名称。

const char* password_AP = "12345678";:定义AP模式的密码。

3、设置ESP8266的网络配置:

IPAddress local_IP(192, 168, 1, 100);:设置ESP8266的静态IP地址。

IPAddress gateway(192, 168, 1, 10);:设置网关地址。

IPAddress subnet(255, 255, 255, 0);:设置子网掩码。

4、初始化设置(setup函数):

Serial.begin(115200);:初始化串口通信,设置波特率为115200。

打印初始化成功信息。

延迟1秒以确保稳定启动。

设置WiFi为AP模式并配置软AP,启动软AP。

打印软AP的IP地址和MAC地址。

连接到指定的WiFi网络并打印连接成功信息和设备的IP地址。

5、主循环(loop函数):

空循环,暂时没有需要重复执行的代码。

这个代码让ESP8266同时充当接入点和客户端模式,使得设备可以创建自己的WiFi网络,同时也能连接到现有的WiFi网络。

 

实验串口返回情况

 

49.jpg

在手机端打开WiFi ,输入密码,连接ESP8266 V3

 

50 (1).jpg
50 (2).jpg

35.jpg

评论

user-avatar
icon 他的勋章
    展开更多