在掌控板上搭建http服务器

devtools/2024/10/23 0:06: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/devtools/127994.html

相关文章

2019年计算机网络408真题解析

第一题&#xff1a; 解析&#xff1a;OSI参考模型第5层完成的功能 首先&#xff0c;我们需要对OSI参考模型很熟悉&#xff1a;从下到上依次是&#xff1a;物理层-数据链路层-网络层- 运输层-会话层-表示层-应用层&#xff0c;由此可知&#xff0c;题目要问的是会话层的主要功能…

独立构件风格

什么是独立构件风格&#xff1f; 独立构件风格是指在系统架构中&#xff0c;所有的构件&#xff08;也就是系统的各个部分&#xff09;都是相对独立的&#xff0c;它们之间不会直接进行通信&#xff0c;而是通过一些机制&#xff08;比如消息传递或事件触发&#xff09;来协调…

KASan部署、使用与原理分析

文章目录 前言1、概述2、使用方法3、测试用例3.1、检测加载的内核模块3.2、检测调用的内核模块3.3、通过系统调用检测3.4、检测编译到Linux内核中的内核模块 4、工作原理4.1、影子内存&#xff08;Shadow Memory&#xff09;4.2、内存状态&#xff08;Memory States&#xff09…

cmake的add_subdirectory()命令

当 CMake 在主目录的 CMakeLists.txt 中执行到 add_subdirectory() 命令时&#xff0c;它会跳转到对应子目录中的 CMakeLists.txt&#xff0c;并按照子目录中的指令来构建子项目。这一过程在整个项目的配置阶段&#xff08;即运行 cmake 命令时&#xff09;完成&#xff0c;确保…

低粉爆款!超级简单且很赚钱的一个AI赛道,学玩直接赚(附保姆级教程和提示词)

不知道还有多少人记得这张图片&#xff1f; 当时这张照片可以说在 AI 绘画和 AI 摄影圈掀起轩然大波&#xff0c;据说定制一张类似得宠物守护图片得排队&#xff0c;且单价高达999元。 之所以这么贵&#xff0c;一个是创意牛&#xff0c;还一个是因为在当时 AI 绘画技术上&am…

【linux】线程 (三)

13. 常见锁概念 &#xff08;一&#xff09;了解死锁 死锁是指在一组进程中的各个进程均占有不会释放的资源&#xff0c;但因互相申请被其他进程占有的&#xff0c;且不释放的资源&#xff0c;而处于的一种永久等待状态 &#xff08;二&#xff09;死锁四个必要条件 互斥条件…

简单谈谈 分布式基础理论 CAP、BASE、酸碱平衡

CAP 理论 在一个分布式系统中&#xff0c;最多只能同时满足 一致性&#xff08;C&#xff09;、可用性&#xff08;A&#xff09; 和分区容错&#xff08;P&#xff09;三项中的两项。 在CAP理论中&#xff0c;有且只可能有两种情况&#xff0c;分别是CP和AP 比如说在一个mysql…

深度学习-循环神经网络-LSTM对序列数据进行预测

项目简介: 使用LSTM模型, 对文本数据进行预测, 每次截取字符20, 对第二十一个字符进行预测, LSTM层: units100, activationrelu Dense层: units输入的文本中的字符种类, 比如我使用的文本有644个不同的字符, 那么units64 激活函数: 因为是多分类, 使用softmax 因为这是最…