当前位置: 首页 > news >正文

在掌控板上搭建http服务器

在掌控板上搭建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所示。
    在这里插入图片描述

    图1 连接wifi的过程

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

    在这里插入图片描述

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

相关文章:

在掌控板上搭建http服务器

在掌控板上搭建http服务器 打开Arduino IDE&#xff0c;并且已经添加了ESP32的支持库。以下是创建一个基本HTTP服务器的步骤&#xff1a; 包含必要的库&#xff1a; #include <WiFi.h> #include <WebServer.h>配置WiFi&#xff1a; 替换ssid和password为你的WiFi网…...

HCIA复习实验

实验要求 实验拓扑以及实验分析 第一步先划分网段 先对内网划分 192.168.1.0/24划分 192.168.1.0/26---骨干主线路 192.168.1.64/26---骨干备线路 ---192.168.1.128/25--vlan2 3汇总---便于减少路由表条目---在大型网络方便 192.168.1.128/26---vlan2 192.168.1.192/26---vla…...

生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程

1. LUSH流程简介 基因组测序通常用于分子诊断、分期和预后&#xff0c;而大量测序数据在分析时间方面提出了挑战。 对于从FASTQ到VCF的整个流程&#xff0c;LUSH流程在非GVCF和GVCF模式下都大大降低了运行时间&#xff0c;30 X WGS数据耗时不到2 h&#xff0c;从BAM到VCF约需…...

c#编写的各类应用程序、类库的引用(黑白盒)

001 课程简介&#xff0c;C# 语言简介&#xff0c;开发环境准备 (yuque.com)https://www.yuque.com/yuejiangliu/dotnet/timothy-csharp-001 一个Solution里包含多个Project 一、见识 C# 编写的各类应用程序 二、类库的引用&#xff08;黑/白盒引用&#xff09; 1、黑盒引用&a…...

计算机网络考研笔记

...

用感性的方式浅要了解什么是AI 与 大模型

什么是人工智能&#xff08;AI&#xff09;&#xff1f; 人工智能&#xff08;Artificial Intelligence&#xff0c;简称 AI&#xff09;是指由人制造出来的具有一定智能的系统&#xff0c;能够理解和学习人类的行为&#xff0c;并在某些任务上模仿人类的智能行为。这些任务包…...

Linux文件的查找和打包以及压缩

文件的查找 文件查找的用处&#xff0c;在我们需要文件但却又不知道文件在哪里的时候 文件查找存在着三种类型的查找 1、which或whereis&#xff1a;查找命令的程序文件位置 2、locate&#xff1a;也是一种文件查找&#xff0c;但是基于数据库的查找 3、find&#xff1a;针…...

专题十四_哈希表_算法专题详细解答

目录 哈希表简介 1. 两数之和&#xff08;easy&#xff09; 解析&#xff1a; 解法一&#xff1a;暴力&#xff1a; 解法二&#xff1a;哈希O(N) 总结&#xff1a; 2. 判断是否互为字符重排&#xff08;easy&#xff09; 解析&#xff1a; 哈希&#xff1a; 总结&…...

C++源码生成·序章

文章目录 C源码生成序章1 概述1.1 前言1.2 Python 易用性简介 2 使用 python 生成 c 源码2.1 运行脚本2.2 结果 3 项目启动3.1 项目概述3.2 环境准备3.3 克隆仓库3.4 查看标签&#xff08;Tags&#xff09;3.4 根据标签拉取代码3.5 后续步骤 C源码生成序章 1 概述 1.1 前言 …...

Android中的MVP模式

MVP&#xff08;Model-View-Presenter&#xff09;架构在 Android 开发中是一种流行的架构模式&#xff0c;它将业务逻辑和 UI 代码分离&#xff0c;通过 Presenter 来处理用户的操作和界面更新。MVP 提高了代码的可维护性和测试性&#xff0c;特别是 Presenter 中的逻辑可以单…...

kebuadm部署k8s集群

官方文档&#xff1a; Installing kubeadm | Kubernetes 切记要关闭防⽕墙、selinux、禁用交换空间&#xff0c; cpu核⼼数⾄少为2 内存4G kubeadm部署k8s⾼可用集群的官方文档&#xff1a; Creating Highly Available Clusters with kubeadm | Kubernetes 你需要在每台…...

Unity3D学习FPS游戏(2)简单场景、玩家移动控制

前言&#xff1a;上一篇的时候&#xff0c;我们已经导入了官方fps的素材&#xff0c;并且对三维模型有了一定了解。接下来我们要构建一个简单的场景让玩家能够有地方移动&#xff0c;然后写一个简单的玩家移动控制。 简单场景和玩家移动 简单场景玩家移动控制玩家模型视野-摄像…...

网上的 AQS 文章让我很失望

一、AQS 很多人都没有讲明白 &#x1f914; 翻看了网上的 AQS&#xff08;AbstractQueuedSynchronizer&#xff09;文章&#xff0c;质量参差不齐&#xff0c;大多数都是在关键处跳过、含糊其词&#xff0c;美其名曰 “传播知识” 。 大多数都是进行大段的源码粘贴和注释&…...

滑动窗口子串

文章目录 滑动窗口一、无重复字符的最长子串二、找到字符串中所有字母异位词 子串三、和为 K 的子数组四、滑动窗口最大值五、最小覆盖子串 滑动窗口 一、无重复字符的最长子串 题目链接 &#xff08;方法一&#xff1a;暴力枚举&#xff09; &#xff08;方法二&#xff…...

【windows11 提示“Microsoft Visual C++ Runtime Library Runtime Error】

windows11 提示“Microsoft Visual C++ Runtime Library Runtime Error” 问题描述解决方法郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: windows OS:windows11 问题描述 解决方法 下载VisualCppRedist_AIO_x86_x64.exe 安…...

【leetcode|哈希表、动态规划】最长连续序列、最大子数组和

目录 最长连续序列 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;优化解法一省去二层循环中不必要的遍历 复杂度 最大子数组和 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;贪心 复杂度 解法三&#xff1a;动态规划 复杂度 最长连续序列 输入输…...

【人工智能】掌握深度学习中的时间序列预测:深入解析RNN与LSTM的工作原理与应用

深度学习中的循环神经网络&#xff08;RNN&#xff09;和长短时记忆网络&#xff08;LSTM&#xff09;在处理时间序列数据方面具有重要作用。它们能够通过记忆前序信息&#xff0c;捕捉序列数据中的长期依赖性&#xff0c;广泛应用于金融市场预测、自然语言处理、语音识别等领域…...

今日开放!24下软考机考「模拟练习平台」操作指南来啦!

2024年下半年软考机考模拟练习平台今日开放&#xff0c;考生可以下载模拟作答系统并登录后进行模拟练习&#xff0c;熟悉答题流程及操作方法。 一、模拟练习时间 2024年下半年软考机考模拟练习平台开放时间为2024年10月23日9:00至11月6日17:00&#xff0c;共15天。 考生可以在…...

合并.md文档

需求&#xff1a;将多个.md文档合并成一个.md文档。 方法一&#xff1a;通过 type 命令 参考内容&#xff1a;多个md文件合并 步骤&#xff1a; 把需要合并的 .md 文档放入到一个文件夹内。修改需要合并的 .md 文档名&#xff0c;可以在文档名前加上 1.2.3 来表明顺序&#x…...

10月18日笔记(基于系统服务的权限提升)

系统内核漏洞提权 当目标系统存在该漏洞且没有更新安全补丁时&#xff0c;利用已知的系统内核漏洞进行提权&#xff0c;测试人员往往可以获得系统级别的访问权限。 查找系统潜在漏洞 手动寻找可用漏洞 在目标主机上执行以下命令&#xff0c;查看已安装的系统补丁。 system…...

从CUDA核心到Tensor Core:GPU计算单元的演进与实战解析

1. CUDA核心&#xff1a;通用计算的基石 我第一次接触CUDA核心是在2012年做图像处理项目时。当时用GTX 680显卡做图像渲染&#xff0c;发现它比CPU快了近20倍&#xff0c;这个性能差距让我震惊。后来才知道&#xff0c;这要归功于显卡里密密麻麻的CUDA核心。 CUDA核心本质上就是…...

Linux服务器运维:5个最容易被忽略的故障排查技巧(附实战命令)

Linux服务器运维&#xff1a;5个最容易被忽略的故障排查技巧&#xff08;附实战命令&#xff09; 在Linux服务器运维的日常工作中&#xff0c;有些故障排查点往往被工程师们忽视&#xff0c;直到问题爆发才追悔莫及。本文将揭示五个最容易被忽略但至关重要的排查技巧&#xff…...

告别频繁输密码!域环境下Windows软件静默安装的两种野路子(慎用)

告别频繁输密码&#xff01;域环境下Windows软件静默安装的两种野路子&#xff08;慎用&#xff09; 在中小企业IT运维的日常中&#xff0c;软件批量部署和远程协助安装堪称两大高频痛点。想象这样的场景&#xff1a;财务部急需更新报税软件&#xff0c;二十台电脑需要同时处理…...

2026论文降重神器盘点!毕业论文“AIGC痕迹”怎么破?

【CSDN技术引言&#xff1a;拒绝“开源背调”式的学术翻车】 哈喽各位同行和科研圈的战友们。最近后台私信快炸了&#xff0c;今年这届硕博生仿佛遭遇了“灭顶之灾”。某985高校前天出炉的抽检结果直接把大家看傻了&#xff1a;明明自己逐字逐句手敲的论文&#xff0c;知网查重…...

三菱PLC与MCGS组态农田智能灌溉系统:后发送产品包括梯形图原理图、IO分配及组态画面解析

基于三菱PLC和MCGS组态农田智能灌溉系统 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面上周刚把农田智能灌溉的项目收尾&#xff0c;把资料打包发给客户的时候&#xff0c;终于能瘫在椅子上喝杯冰可乐了。这个…...

win11 WSL ubuntu24.04 安装两个、重命名

导出&#xff1a; wsl --export Ubuntu-24.04 D:\Ubuntu-24.04.tar导入新镜像&#xff1a; wsl --import Ubuntu-24.04-2 D:\Ubuntu-24.04-2\Ubuntu-24.04-2 D:\Ubuntu-24.04.tar...

百川2-13B-4bits模型微调实践:提升OpenClaw特定任务准确率

百川2-13B-4bits模型微调实践&#xff1a;提升OpenClaw特定任务准确率 1. 为什么需要微调百川模型&#xff1f; 去年冬天&#xff0c;当我第一次用OpenClaw自动整理电脑上的技术文档时&#xff0c;发现了一个尴尬的问题&#xff1a;模型总是把Python代码片段误判为"待办…...

实战驱动:告诉快马你的vue项目类型,获取量身定制的环境与示例

最近在做一个Vue 3移动端H5项目时&#xff0c;发现环境配置和基础搭建特别耗时。经过几次实践&#xff0c;我总结出了一套高效的项目初始化方法&#xff0c;今天就来分享这个实战经验。 项目初始化与移动端适配 使用Vue CLI创建项目后&#xff0c;首先要解决的就是移动端适配问…...

OpenClaw深度配置:Qwen3.5-9B模型参数调优指南

OpenClaw深度配置&#xff1a;Qwen3.5-9B模型参数调优指南 1. 为什么需要关注模型参数调优&#xff1f; 第一次用OpenClaw对接Qwen3.5-9B模型时&#xff0c;我遇到了一个奇怪现象&#xff1a;同样的"整理桌面截图并分类归档"任务&#xff0c;白天执行成功率能达到8…...

UE4.62生成sln时失败:Missing .../DotNET/UnrealBuildTool/UnrealBuildTool/UnrealBuildTool.exe

问题1&#xff1a; vs编译报错&#xff0c;以为是热加载&#xff0c;把项目的几个文件删了&#xff0c;想右键点击Generate Visual Studio Project Files重构&#xff0c;报错。 解决方法&#xff1a;: 是看m0_62179790这个博主解决的。 只要把下面这行东西添加到你自己的UE…...