DF创客社区
发现
DF创客商城
教程
产品资料库
搜索
热门搜索
人工智能
视觉传感器
AI 人工智能
行空板
主控板
二哈识图
热门活动
关闭
DF创客社区
发现
DF创客商城
教程
产品资料库
【花雕学编程】Arduino动手做(246)---ESP8266 实现网络通讯
2025-01-16
2330
驴友花雕
UID: 1737
2964
文章
158
粉丝
1.1万
获取喜欢
0
0
创作许可协议
本项目采用
None(不开放任何权利,保留所有权利)
进行许可。
其他主题
Arduino
添加到合集
0
0
相关推荐
DF创客社区2014年度编辑选择奖 教程篇
Ash1
3.9万
3
我的Q&A问答专栏
陈德熹
3
0
BLE Arduino开发神器 Bluno Beetle开启免费试用啦!
Ash1
2.3万
0
评论(5)
驴友花雕
作者
回复
驴友花雕
作者
实验串口返回情况
回复
驴友花雕
作者
代码解读
1、包含库:
#include
:包含ESP8266WiFi库,用于处理WiFi连接。
2、常量定义:
const char* host = "www.example.com";:定义要连接的服务器地址。
const int httpPort = 80;:定义HTTP端口,通常为80。
const char* ssid = "zhz3";:定义WiFi网络的SSID。
const char* password = "zy156721";:定义WiFi网络的密码。
3、初始化和连接WiFi:
Serial.begin(9600);:初始化串口通信,波特率为9600。
WiFi.mode(WIFI_STA);:设置ESP8266为无线终端模式。
WiFi.begin(ssid, password);:开始连接到指定的WiFi网络。
while (WiFi.status() != WL_CONNECTED) { ... }:等待WiFi连接成功,连接成功后打印“WiFi Connected!”。
4、发送HTTP请求:
WiFiClient client;:创建一个WiFi客户端对象。
String httpRequest = ...;:构建HTTP GET请求字符串。
Serial.print("Connecting to "); Serial.print(host);:通过串口输出连接的服务器地址。
if (client.connect(host, httpPort)) { ... }:尝试连接到服务器,连接成功后发送HTTP请求。
client.print(httpRequest);:发送HTTP请求。
Serial.println("Sending request: "); Serial.println(httpRequest);:通过串口输出HTTP请求内容。
while (client.connected() || client.available()) { ... }:读取并输出服务器的响应。
client.stop();:断开与服务器的连接。
Serial.print("Disconnected from "); Serial.print(host);:通过串口输出断开连接的信息。
5、连接失败处理:
else { Serial.println(" connection failed!"); client.stop(); }:如果连接失败,通过串口输出“连接失败”信息并断开连接。
6、运行结果
串口输出:
连接WiFi的过程和结果。
连接服务器的过程和结果。
发送的HTTP请求内容。
服务器的响应内容。
断开连接的信息。
回复
驴友花雕
作者
【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
实验项目之十六:ESP8266 使用WiFiClient库实现网络通讯
实验开源代码
[code]/*
【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
实验项目之十六:ESP8266 使用WiFiClient库实现网络通讯
*/
#include
// 包含ESP8266WiFi库,用于WiFi连接
// 网络服务器地址和端口
const char* host = "www.example.com"; // 网络服务器地址
const int httpPort = 80; // HTTP端口80
// 设置WiFi接入信息(请根据您的WiFi信息进行修改)
const char* ssid = "zhz3";
const char* password = "z156721";
void setup() {
// 初始化串口设置
Serial.begin(9600);
Serial.println("");
// 设置ESP8266工作模式为无线终端模式
WiFi.mode(WIFI_STA);
// 开始连接WiFi
WiFi.begin(ssid, password);
// 等待WiFi连接,连接成功后打印IP地址
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi Connected!");
// 发送HTTP请求
wifiClientRequest();
}
void loop(){
// 主循环为空,不执行任何操作
}
// 向服务器发送HTTP请求
void wifiClientRequest(){
// 建立WiFi客户端对象,对象名称为client
WiFiClient client;
// 建立HTTP请求字符串
String httpRequest = String("GET /") + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n" +
"\r\n";
// 通过串口输出连接服务器名称,以便查阅连接的服务器网址
Serial.print("Connecting to ");
Serial.print(host);
// 连接网络服务器,以下段落中的示例程序为本程序重点1
if (client.connect(host, httpPort)){
Serial.println(" Success!"); // 连接成功后串口输出“Success”信息
client.print(httpRequest); // 向服务器发送HTTP请求
Serial.println("Sending request: "); // 通过串口输出HTTP请求信息内容,以便查阅
Serial.println(httpRequest);
// 通过串口输出网络服务器响应信息,以下段落中的示例程序为本程序重点2
Serial.println("Web Server Response:");
while (client.connected() || client.available()){
if (client.available()){
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
client.stop(); // 断开与服务器的连接
Serial.print("Disconnected from "); // 并且通过串口输出断开连接信息
Serial.print(host);
} else { // 如果连接不成功则通过串口输出“连接失败”信息
Serial.println(" connection failed!");
client.stop();
}
}[/code]
回复
驴友花雕
作者
回复
- 没有更多了 -
驴友花雕
UID: 1737
2964
文章
158
粉丝
1.1万
获取喜欢
创作许可协议
本项目采用
None(不开放任何权利,保留所有权利)
进行许可。
相关推荐
DF创客社区2014年度编辑选择奖 教程篇
Ash1
3.9万
3
我的Q&A问答专栏
陈德熹
3
0
BLE Arduino开发神器 Bluno Beetle开启免费试用啦!
Ash1
2.3万
0
1、包含库:
#include
2、常量定义:
const char* host = "www.example.com";:定义要连接的服务器地址。
const int httpPort = 80;:定义HTTP端口,通常为80。
const char* ssid = "zhz3";:定义WiFi网络的SSID。
const char* password = "zy156721";:定义WiFi网络的密码。
3、初始化和连接WiFi:
Serial.begin(9600);:初始化串口通信,波特率为9600。
WiFi.mode(WIFI_STA);:设置ESP8266为无线终端模式。
WiFi.begin(ssid, password);:开始连接到指定的WiFi网络。
while (WiFi.status() != WL_CONNECTED) { ... }:等待WiFi连接成功,连接成功后打印“WiFi Connected!”。
4、发送HTTP请求:
WiFiClient client;:创建一个WiFi客户端对象。
String httpRequest = ...;:构建HTTP GET请求字符串。
Serial.print("Connecting to "); Serial.print(host);:通过串口输出连接的服务器地址。
if (client.connect(host, httpPort)) { ... }:尝试连接到服务器,连接成功后发送HTTP请求。
client.print(httpRequest);:发送HTTP请求。
Serial.println("Sending request: "); Serial.println(httpRequest);:通过串口输出HTTP请求内容。
while (client.connected() || client.available()) { ... }:读取并输出服务器的响应。
client.stop();:断开与服务器的连接。
Serial.print("Disconnected from "); Serial.print(host);:通过串口输出断开连接的信息。
5、连接失败处理:
else { Serial.println(" connection failed!"); client.stop(); }:如果连接失败,通过串口输出“连接失败”信息并断开连接。
6、运行结果
串口输出:
连接WiFi的过程和结果。
连接服务器的过程和结果。
发送的HTTP请求内容。
服务器的响应内容。
断开连接的信息。
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
实验项目之十六:ESP8266 使用WiFiClient库实现网络通讯
实验开源代码
[code]/*
【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
实验项目之十六:ESP8266 使用WiFiClient库实现网络通讯
*/
#include
// 网络服务器地址和端口
const char* host = "www.example.com"; // 网络服务器地址
const int httpPort = 80; // HTTP端口80
// 设置WiFi接入信息(请根据您的WiFi信息进行修改)
const char* ssid = "zhz3";
const char* password = "z156721";
void setup() {
// 初始化串口设置
Serial.begin(9600);
Serial.println("");
// 设置ESP8266工作模式为无线终端模式
WiFi.mode(WIFI_STA);
// 开始连接WiFi
WiFi.begin(ssid, password);
// 等待WiFi连接,连接成功后打印IP地址
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi Connected!");
// 发送HTTP请求
wifiClientRequest();
}
void loop(){
// 主循环为空,不执行任何操作
}
// 向服务器发送HTTP请求
void wifiClientRequest(){
// 建立WiFi客户端对象,对象名称为client
WiFiClient client;
// 建立HTTP请求字符串
String httpRequest = String("GET /") + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n" +
"\r\n";
// 通过串口输出连接服务器名称,以便查阅连接的服务器网址
Serial.print("Connecting to ");
Serial.print(host);
// 连接网络服务器,以下段落中的示例程序为本程序重点1
if (client.connect(host, httpPort)){
Serial.println(" Success!"); // 连接成功后串口输出“Success”信息
client.print(httpRequest); // 向服务器发送HTTP请求
Serial.println("Sending request: "); // 通过串口输出HTTP请求信息内容,以便查阅
Serial.println(httpRequest);
// 通过串口输出网络服务器响应信息,以下段落中的示例程序为本程序重点2
Serial.println("Web Server Response:");
while (client.connected() || client.available()){
if (client.available()){
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
client.stop(); // 断开与服务器的连接
Serial.print("Disconnected from "); // 并且通过串口输出断开连接信息
Serial.print(host);
} else { // 如果连接不成功则通过串口输出“连接失败”信息
Serial.println(" connection failed!");
client.stop();
}
}[/code]