在掌控板上搭建http服务器

news/2024/10/21 6:42:35/
http://www.w3.org/2000/svg" style="display: none;">

http_0">在掌控板上搭建http服务器

打开Arduino IDE,并且已经添加了ESP32的支持库。以下是创建一个基本HTTP服务器的步骤:

  1. 包含必要的库

    #include <WiFi.h>
    #include <WebServer.h>
    
  2. 配置WiFi
    替换ssidpassword为你的WiFi网络名称和密码。

    const char* ssid = "your_SSID";
    const char* password = "your_PASSWORD";
    
  3. 初始化Web服务器
    创建一个监听80端口的Web服务器实例。

    WebServer server(80);
    
  4. 定义处理函数
    为不同的URL路径定义处理函数。例如,当用户访问根目录时的处理函数。

    void handleRoot() {server.send(200, "text/html", "<h1>Welcome to32 Web Server</h1>");
    }
    
  5. 设置路由
    setup()函数中,设置路由和启动服务器

    void setup() {Serial.begin(115200);WiFi.begin(ssid, password);// 等待WiFi连接while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}// 打印ESP32的IP地址Serial.println("");Serial.println("WiFi connected.");Serial.println("IP address: ");Serial.println(WiFi.localIP());// 定义根目录的处理函数server.on("/", handleRoot);// 启动服务器server.begin();Serial.println("HTTP server started.");
    }
    
  6. 处理客户端请求
    loop()函数中,不断处理客户端的请求。

    void loop() {server.handleClient();
    }
    
  7. 上传代码到ESP32
    使用Arduino IDE上传代码到你的ESP32开发板。

  8. 访问HTTP服务器
    打开浏览器,输入ESP32的IP地址(你可以通过串口监视器查看),你将看到由你的HTTP服务器返回的欢迎信息。

  9. 完整的代码如下

    #include <WiFi.h>
    #include <WebServer.h>
    const char* ssid = "your_SSID";   #将your_SSID替换成使用的wifi的SSID
    const char* password = "your_PASSWORD";    #将your_PASSWORD替换成使用的wifi的密码
    WebServer server(80);void handleRoot() {server.send(200, "text/html", "<h1>Welcome to ESP32 Web Server</h1>");
    }void setup() {Serial.begin(115200);WiFi.begin(ssid, password);// 等待WiFi连接while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}// 打印ESP32的IP地址Serial.println("");Serial.println("WiFi connected.");Serial.println("IP address: ");Serial.println(WiFi.localIP());// 定义根目录的处理函数server.on("/", handleRoot);// 启动服务器server.begin();Serial.println("HTTP server started.");
    }void loop() {server.handleClient();
    }
    
    1. 运行结果

    将代码编译上传后,打开Arduino IDE的串口监视器,可以看到连接WiFi的过程,并打印出esp32 http服务器所在的IP地址,如图1所示。
    https://i-blog.csdnimg.cn/direct/84210923b9f44068aabe06a57cc2affa.png#pic_center" alt="在这里插入图片描述" />

    图1 连接wifi的过程

    使用浏览器连接esp32 http服务器,运行结果如下:

    https://i-blog.csdnimg.cn/direct/f3b38500b7d641a7a42b9156fb50aa5b.png#pic_center" alt="在这里插入图片描述" />

图2 使用浏览器登陆esp32 http服务器

http://www.ppmy.cn/news/1540721.html

相关文章

【02】RabbitMQ客户端应用开发实战

1、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持&#xff0c;这里只分析Java语言的客户端。在上一章节提供了一个简单的RabbitMQ的客户端的实现&#xff0c;下面就以此为基础&#xff0c;了解RabbitMQ客户端开发的基础流程。 1.1 Maven依赖 amqp是一种…

设备ESD防静电监控仪助力自动化产线设备稳定运行

在现代自动化生产线中&#xff0c;设备的稳定运行至关重要。而静电放电&#xff08;ESD&#xff09;常常是导致这些问题的隐患之一。许多企业在生产管理中面临着设备接地状况不明、漏电检测困难、人工点检耗时巨大的难题。这些问题不仅影响生产效率&#xff0c;更可能造成潜在的…

华为OD机试2024年真题(基站维修工程师)

基站维修工程师&#xff08;200分&#xff09; 小王是一名基站维护工程师&#xff0c;负责某区域的基站维护。 某地方有n个基站(1<n<10)&#xff0c;已知各基站之间的距离s(0<s<500)&#xff0c;并且基站x到基站y的距离&#xff0c;与基站y到基站x的距离并不一定会…

Git推送被拒

今天开发完成一个新的需求&#xff0c;将自己的分支合并到test分支后&#xff0c;推送到远程仓库&#xff0c;结果显示推送被拒&#xff1a; 原因是因为有人更新了test分支的代码&#xff0c;我在合并之前没有拉取最新的test分支代码&#xff0c;所以他提示我“推送前需要合并…

java计算机毕设课设—飞机大战游戏(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式再最下方 java计算机毕设课设—飞机大战游戏(附源码、文章、相关截图、部署视频) 基于Java的飞机大战游戏是一款经典的射击类游戏&#xff0c;主要包含我方飞机、敌方飞机、子弹、特殊NPC、开始背景、结束背景以及背景音乐等元素。我方…

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…

analysis-ik分词器

analysis-ik分词器 1、安装离线在线 2、使用配置拓展词典 3、测试ik_smartik_max_word 1、安装 离线 使用离线安装下载地址https://release.infinilabs.com/analysis-ik/stable/找到对应es版本的ik分词器、下载zip后放到/elasticsearch/plugins/ik文件夹下。重启es即可生效 …

使用Python-pptx轻松批量添加水印

哈喽,大家好,我是木头左! 本文将详细介绍如何使用Python-pptx库批量添加文字或图片水印到每张幻灯片上。 安装Python-pptx库 确保你已经安装了Python-pptx库。如果没有,可以使用以下命令进行安装: pip install python-pptx创建一个简单的PPT文件 在开始之前,需要创建…