首页 / 行业
怎样用ESP32创建一个Web服务器 并将其连接到Wi-Fi获取IP地址
2019-07-26 09:15:00
入门
客户端与客户端之间的连接webserver是使用HTTP协议建立的。 HTTP协议如下所示:HTTP/1.1 200 OK r nContent-Type:text/html r n r n“。
”HTTP/1.1 200 OK“表示服务器已接受请求并已回复“200 OK”,这是状态代码,后跟“ r n”,这是HTTP协议的约束。
“Content-Type:text/html r n“表示响应内容类型为HTML格式,后跟” r n“
在HTTP协议结束时,网络服务器将返回显示”Hello world“的网页。
代码
#include
const char* wifi_name = “Tenda_31BC98”; //Your Wifi name
const char* wifi_pass = “barcelona”; //Your Wifi password
WiFiServer server(80); //Port 80
void setup()
{
Serial.begin(115200);
// Let‘s connect to wifi network
Serial.print(“Connecting to ”);
Serial.print(wifi_name);
WiFi.begin(wifi_name, wifi_pass); //Connecting to wifi network
while (WiFi.status() != WL_CONNECTED) { //Waiting for the responce of wifi network
delay(500);
Serial.print(“。”);
}
Serial.println(“”);
Serial.println(“Connection Successful”);
Serial.print(“IP address: ”);
Serial.println(WiFi.localIP()); //Getting the IP address at which our webserver will be created
Serial.println(“Put the above IP address into a browser search bar”);
server.begin(); //Starting the server
}
void loop()
{
WiFiClient client = server.available(); //Checking for incoming clients
if (client)
{
Serial.println(“new client”);
String currentLine = “”; //Storing the incoming data in the string
while (client.connected())
{
if (client.available()) //if there is some client data available
{
char c = client.read(); //read a byte
Serial.print(c);
if (c == ’ ‘) //check for newline character,
{
if (currentLine.length() == 0) //if line is blank it means its the end of the client HTTP request
{
client.print(“”);
client.print(“
Hello World
”);
break; //Going out of the while loop
}
else
{
currentLine = “”; //if you got a newline, then clear currentLine
}
}
else if (c != ’ ‘)
{
currentLine += c; //if you got anything else but a carriage return character,
}
}
}
}
delay(2000);
}
代码说明
首先,我们加入了Wi-Fi库,它将帮助我们创建网络服务器。然后我们存储了Wi-Fi名称和密码,以便我们可以连接到这个Wi-Fi网络。之后,我们定义了我们要将数据发送到的端口。
const char* wifi_name = “Tenda_31BC98”; //Your Wifi name
const char* wifi_pass = “barcelona”; //Your Wifi password
WiFiServer server(80); //Port 80
在setu中p功能,我们使用上面提供的Wi-Fi信息将ESP32连接到我们的Wi-Fi网络。如果与Wi-Fi网络的连接成功,则“连接成功”将显示在串行监视器上。否则,它将继续尝试,直到它将连接到Wi-Fi网络。
Serial.print(“Connecting to ”);
Serial.print(wifi_name);
WiFi.begin(wifi_name, wifi_pass); //Connecting to wifi network
while (WiFi.status() != WL_CONNECTED) { //Waiting for the responce of wifi network
delay(500);
Serial.print(“。”);
}
Serial.println(“”);
Serial.println(“Connection Successful”);
以下命令将获取IP地址,我们将在串行监视器上显示它。
Serial.println(WiFi.localIP());
然后我们启动了服务器,以便我们可以获取数据并将数据发送到浏览器。
server.begin( );
在循环函数中,我们检查了是否有客户端发送了http请求。如果有任何客户端请求可用,它将存储在字符中并显示在串行监视器上。在请求结束时,我们将发送HTML命令,它将在网页上打印“Hello world”。
WiFiClient client = server.available(); //Checking for incoming clients
if (client)
{
Serial.println(“new client”);
String currentLine = “”; //Storing the incoming data in the string
while (client.connected())
{
if (client.available()) //if there is some client data available
{
char c = client.read(); //read a byte
Serial.print(c);
if (c == ’ ‘) //check for newline character,
{
if (currentLine.length() == 0) //if line is blank it means it’s the end of the client HTTP request
{
client.print(“
”);
client.print(“
Hello World
”);
break; //Going out of the while loop
}
如何运行代码
使用您的Wi-Fi名称和密码更改代码中的Wi-Fi名称和密码。然后上传代码并打开串行监视器。串行监视器将显示IP地址,如下图所示。在浏览器中输入此IP地址。
输入IP地址后,网页将如下所示。
最新内容
手机 |
相关内容
射频连接器使用技巧与注意事项
射频连接器使用技巧与注意事项,连接器,选择,频率,类型,连接,传输,射频连接器是一种用于连接射频电路的电子元件,常用于无线通信系统电流互感器作用 电流互感器为什么
电流互感器作用 电流互感器为什么一端要接地?,作用,误差,原因,连接,测量,短路故障,电流互感器(Current Transformer,简称CT)是一种用于低耗能,小安派-LRW-TH1传感器通用板
低耗能,小安派-LRW-TH1传感器通用板,一块板即可连接多种传感器!,传感器,多种,连接,一块,通用,接口,小安派-LRW-TH1传感器通用板是一款人形机器人风起,连接器待势乘时
人形机器人风起,连接器待势乘时,连接器,人形机器人,工作效率,性强,研发,光纤,近年来,人形机器人在人工智能领域取得了巨大的进展。随工业物联网数据采集:从Modbus到MQTT
工业物联网数据采集:从Modbus到MQTT,数据采集,物联网,模式,网关,协议,数据,工业物联网(Industrial Internet of Things,IIoT)的核心任务振弦传感器智能化:电子标签模块
振弦传感器智能化:电子标签模块,模块,传感器,操作,连接,安装,控制,mbrs360t3g振弦传感器是一种常用的测量设备,用于检测物体的振动。全极性霍尔芯片LM224DR2G可实现共
全极性霍尔芯片LM224DR2G可实现共享充电宝中位置检测功能,位置,检测,充电,宝中,芯片,输出,全极性霍尔芯片LM224DR2G是一种用于位置新能源高压连接器高压互锁(HVIL)功
新能源高压连接器高压互锁(HVIL)功能详解,高压,详解,连接器,新能源,电动汽车,状态,新能源高压连接器是一种用于连接电动汽车或混合