37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
【花雕学编程】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网络。
实验串口返回情况
在手机端打开WiFi ,输入密码,连接ESP8266 V3