ESP32 ESP-IDF http_server_simple


陈拓 2021/12/14-2021/12/15

1. 简介

  • 官方文档

https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/protocols/esp_http_server.html

  • 官方例程

https://gitee.com/EspressifSystems/esp-idf/tree/master/examples/protocols/http_server/simple

Simple HTTPD Server Example

该示例包括HTTPD服务器演示和URI处理的演示:

1) URI\hello for GET命令返回“hello World!”信息

2) POST命令的URI\echo回显POST发布的消息

2. 开发环境

《Win10启用Linux子系统安装Ubuntu》

https://blog.csdn.net/chentuo2000/article/details/112131624

《用乐鑫国内Gitee镜像搭建ESP32开发环境》

https://blog.csdn.net/chentuo2000/article/details/113424934

3. 构建项目

  • 复制官方例程

将官方例子项目复制到ESP-IDF开发工具之外,更名为esp32_gatt_client:

cp -r ~/esp/esp-idf/examples/protocols/http_server/simple ~/esp/http_server_simple

  • 项目树

cd ~/esp/http_server_simple

  • 刷新esp-idf环境

get_idf

  • 配置项目

idf.py menuconfig

保存,退出。

  • 编译项目

idf.py build

  • 烧写项目

连接设备时我PC将USB-SERIAL识别为COM3。

idf.py -p /dev/ttyS3 -b 115200 flash

4. 测试

4.1 上电启动

  • 查看串口输出

4.2 命令行测试cURL

cURL是一个利用URL语法在命令行下工作的文件传输工具。

1) GET测试

curl 192.168.0.102:80/hello

测试GET "\hello"处理。

串口显示:

2) POST测试

curl -X POST --data-binary @mqtt_cinfig.txt 192.168.0.102:80/echo > tmpfile

发送当前目录下测文件mqtt_cinfig.txt,文件内容:

username: ct

password: 12345678

串口显示:

发送的文件被服务器的echo命令返回,在当前目录保存为tmpfile。两个文件是一样的。

3) 禁用/hello和/echo处理

curl -X PUT -d "0" 192.168.0.102:80/ctrl

这时再执行curl 192.168.0.102:80/hello命令:

返回404错误。

同样再执行

curl -X POST --data-binary @mqtt_cinfig.txt 192.168.0.102:80/echo > tmpfile

命令:

也返回404错误。

4) 启用/hello和/echo处理

curl -X PUT -d "1" 192.168.0.102:80/ctrl

4.3 浏览器测试

在浏览器输入http://192.168.0.102

串口显示:

浏览器显示

修改配置:

idf.py menuconfig

Component config -> HTTP Server -> Max HTTP Request Header Length

将512改成1024。

编译烧写,再测试:

在浏览器输入http://192.168.0.102

串口显示:

浏览器显示

5. 读取URL请求串和参数

  • 请求hello,带3个参数

http://192.168.0.102:80/hello?query1=abc&query2=ABD&query3=123

  • 浏览器输入

 

  • 串口响应

 

  • 处理代码

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: esp32-wroom-32e_devkitc 是一款基于 ESP32-WROOM-32E 模组的开发板,它采用了开放源代码的 ESP-IDF 开发框架,支持 Wi-Fi 和蓝牙通信。中文参考手册为开发者提供了详细的技术规格和使用指南。 这份参考手册首先介绍了 ESP32-WROOM-32E 模组的硬件组成和技术规格。模组具有双核 Tensilica LX6 处理器,主频高达 240MHz,支持多种外设接口,如 GPIO、UART、SPI、I2C 等,使其具备了丰富的扩展性。此外,模组还具备 Wi-Fi 802.11 b/g/n/e/i 和蓝牙 4.2 支持。 接着,参考手册详细介绍了如何搭建开发环境和配置开发板。它详细阐述了如何下载和安装 ESP-IDF 开发框架,以及如何配置开发环境和编译项目。开发者可以按照参考手册提供的步骤来快速搭建开发环境。 在使用手册的后续部分,详细描述了开发板的各个方面。它包括如何使用 Wi-Fi 进行连接和通信,如何使用蓝牙进行数据传输,以及如何通过 GPIO 与外部设备进行交互等。此外,手册还提供了丰富的示例代码和代码解释,帮助开发者更好地理解和应用相关功能。 最后,手册还介绍了开发板的固件更新方法,以及一些建议和常见问题解答。开发者可以根据手册中提供的信息和指南来解决常见问题,也可以参考手册获取开发者社区的相关资源和支持。 综上所述,esp32-wroom-32e_devkitc 中文参考手册是一份非常详细和全面的开发指南,可以帮助开发者快速上手和开发基于 ESP32-WROOM-32E 的应用程序。 ### 回答2: esp32-wroom-32e_devkitc 中文参考手册是一个详细介绍 ESP32-WROOM-32E 开发板的使用手册。手册从硬件介绍、软件开发环境搭建、编程语言和连接方式等多个方面对开发板进行了全面讲解。 首先,手册介绍了 ESP32-WROOM-32E 开发板的硬件配置,包括板载的芯片、外设、接口等。通过详细的硬件介绍,开发者可以了解到开发板的基本构造和硬件特性,为后续的软件开发提供基础。 接着,手册详细介绍了软件开发环境的搭建过程。它包括了开发环境的安装方法、编译调试工具的配置以及对应的驱动程序等。开发者可以按照手册中的指引,快速搭建开发环境,并开始进行软件开发。 在编程方面,手册提供了多种编程语言的使用说明,包括 C 语言和 MicroPython。每种语言都有详细的语法介绍和示例代码,方便开发者快速上手。此外,手册还介绍了如何使用各种库函数和API接口,以及涉及到的常用开发工具和调试方法。 最后,手册还展示了一些常见的连接方式和示例应用,例如如何与传感器、无线通信模块和云平台进行连接,并进行数据传输和控制。这些示例可以帮助开发者理解和应用 ESP32-WROOM-32E 开发板在实际项目中的应用场景。 总之,esp32-wroom-32e_devkitc 中文参考手册对 ESP32-WROOM-32E 开发板进行了全面而详尽的介绍,包括硬件和软件开发环境,编程语言和连接方式等。对于使用这款开发板的开发者来说,手册是一份非常宝贵的参考资料,可以帮助他们快速入门和顺利开展项目开发。 ### 回答3: ESP32-WROOM-32E DevKitC是一种基于ESP32-WROOM-32E模组的开发板,它集成了丰富的功能和接口,方便开发者进行硬件和软件开发。 这份中文参考手册为使用者提供了关于开发板硬件和软件方面的详细信息和指导。首先,手册介绍了开发板的硬件组成,包括主控芯片、存储器、引脚布局等。通过详细的图表和说明,使用者可以清楚了解各个组件的功能和连接方式。 接下来,手册介绍了开发板的软件开发环境搭建,包括开发工具的安装、驱动程序的配置等。使用者可以按照手册提供的步骤,轻松地搭建好开发环境,为后续的软件开发做好准备。 手册还提供了关于开发板的软件开发方法和示例代码。使用者可以了解如何使用ESP-IDF开发框架进行开发,并按照示例代码进行实验和测试。手册中还提供了丰富的代码注释和详细的参数说明,帮助使用者理解代码逻辑和功能实现。 此外,手册还包含了开发板的测试和调试方法,以及对常见问题的解答。这些信息可以帮助使用者在开发过程中遇到问题时迅速定位和解决,提高开发效率。 总而言之,ESP32-WROOM-32E DevKitC中文参考手册为使用者提供了全面的开发指南,包含了硬件和软件方面的详细信息和指导。使用者可以通过这份手册,快速上手开发,实现自己的创意和想法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值