关于LWIP用法之HTTPD:基于STM32F4搭建web服务器

这篇具有很好参考价值的文章主要介绍了关于LWIP用法之HTTPD:基于STM32F4搭建web服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,STM32CUBEMX配置(使用的是6.4.0版本)

前提是在配置好LWIP的情况下(能ping通你的开发板),使能HTTPD功能。

然后是使能LWIP_HTTPD_CGI,

使能:LWIP_HTTPD_SUPPORT_POST(),

使能 :HTTPD_USE_CUSTOM_FSDATA。

会发现fs.c这个文件的#include HTTPD_FSDATA_FILE,这一句编译报错,解决办法:1)

在KEIL中lwipopts.h中找到HTTPD_USE_CUSTOM_FSDATA宏定义开关,关闭即可。

2)../Third Party/Lwip/src/apps/http 路径下添加 fsdata_custom.c文件。这个文件就是自己用来实现网页的文件。如果找不到就把;里面的fsdata.c文件复制一份重命名为fsdata_custom.c

关于LWIP用法之HTTPD:基于STM32F4搭建web服务器

 关于LWIP用法之HTTPD:基于STM32F4搭建web服务器

二,流程分析

1) httpd_init();  web服务器初始化函数

功能:为搭建web服务器做准备,包括申请网络结构体、设置80端口号、监听数据、设置接收数据回调函数

2) http_accept();   接收数据回调函数

功能:函数中主要配置一些回调函数,比如接收,轮询,发送

3) http_recv();  接收数据处理函数

功能: 函数主要工作将接收到的数据放入 http_parse_request() 函数进行解析,然后把网页数据发送出去

4) http_parse_request();  接收数据解析函数

功能:解析网页发送过来的数据。根据收到的url 找到要出重要的字符串,

5)读取对应网页数据函数 http_find_file();

功能:根据字符串找到网页要发送的内容(第一次网页发过来的数据是'/' ,)再默认的网页文件中寻找这个字符串,找到后返回找到的名字 (file_name = httpd_default_filenames[loop].name;)

6)fs_open(); 打开某个文件

功能:根据找到的名字在fsdata.c中找到对应的网页信息,返回打开文件的状态(成功或者失败)

如果没有找到文件,判断是否有参数,有参数则找到

如果定义了LWIP_HTTPD_CGI 则执行相关的操作。

7)http_init_file();  将网页文件数据赋值给http_state结构体,之后发送出去

功能:使用要发送的文件初始化http连接

三,部分功能实现(待完善)

四,效果展示

关于LWIP用法之HTTPD:基于STM32F4搭建web服务器文章来源地址https://www.toymoban.com/news/detail-403597.html

到了这里,关于关于LWIP用法之HTTPD:基于STM32F4搭建web服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于STM32F4开发的智能台灯

    写这篇博客的目的有2个,首先是记录一下学习STM32大半年来的第一个自己动手开发的项目,整理一下开发过程和思路;其次也是希望可以和更多的同行交流开发经验,有什么问题可以多多讨论,集思广益,共同进步~ 开发的智能台灯功能有2个: 1.手动模式:可通过按键调节

    2024年02月05日
    浏览(33)
  • 基于STM32F4的多摩川协议通讯

    1、介绍        之前项目刚好有用到禹衡家的17位绝对值编码器,趁着周末有时间整理一下开发思路,同时也分享出来给有需要的人做做参考。        说回编码器,我们都知道在伺服控制中,为了获取更高的位置精度,完成更精细的绝对定位,通常会采用绝对式光电编码

    2024年02月11日
    浏览(36)
  • STM32F4 基于USART串口的蓝牙通信

    目录 一、硬件资源 连接方案 其他配置 二、实验原理 基本定义 USART介绍 USART工作原理 数据发送 数据接收 蓝牙HM-10配置 三、代码部分 usart.c usart.h Serial.c Serial.h main.c 结语 STM32F401,OLED,蓝牙hm10 连接方案 设备1的TX与设备2的RX连接,这样设备1发送的数据可以被设备2接收到。

    2024年01月17日
    浏览(39)
  • 【stm32开发笔记】基于HAL库的STM32F4添加DSP库

    本文分两种方法添加DSP库:1.CubeMX直接配置ioc添加; 2.KEIL内添加; 简述:补齐全部lib库-添加DSP包-使能DSP勾选-添加头文件及魔术棒配置-测试 1.补齐lib库。( 如果使用直接默认添加的库,是不支持FPU的,所以需要补齐后找到所需的lib文件进行替换,在MX的工程管理栏,选择复制所

    2024年02月16日
    浏览(44)
  • 基于STM32F4的CANOpen移植教程(超级详细)

    本专题相关教程: 基于STM32F4的CANOpen移植教程 基于STM32F4的CANopen快速SDO通信 linux下CANopen for python的使用 基于Linux C的CANopen移植 CANopen补充–时间计算出错 CANopen补充–主站检测节点是否在线 为了在STM32F4上能够运行CANopen(CanFestival),跟着网上的教程操作,发现总是不够详细。

    2024年02月02日
    浏览(38)
  • 运动控制器设计——基于FreeModbus在STM32F4平台实现ModbusTCP和ModbusRTU

    本文笔者最近的项目是设计一款运动控制器,MCU使用的是STM32F429,要求是通过Modbus TCP协议实现与示教器通讯,并通过ModbusRTU实现与触摸屏通讯。 本文将介绍在STM32F4上实现 ModbusTCP和ModbusRTU通讯 的过程。笔者才疏学浅,如有错误还请指正。 Modbus协议是典型的主-从通讯结构,链

    2024年02月05日
    浏览(41)
  • STM32F4-ETH通信(lwip)——学习笔记

    一、关键知识点: 1、国际标准组织将整个以太网通信结构制定了 OSI 模型,总共分层七个层,分别 为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层,每个层功能不同,通信 中各司其职,整个模型包括硬件和软件定义。OSI 模型是理想分层,一般的网络系

    2024年02月03日
    浏览(33)
  • GD32F4移植STM32F4

    近期在项目中采用了GD32F407VET6替换原项目中的STM32F407VET6,网传GD的兼容性很好,之前也用F1系统的替换了一下,按照CSND各位大佬的经验一步步改进了代码,测试直接通过,现在也一直在项目中实际应用了,一直没有出问题。 所以这SMT时,嘉立创没有STM的货果断换成了GD,可换时

    2024年02月16日
    浏览(72)
  • 基于STM32F4的FFT+测频率幅值相位差,波形显示,示波器,时域频域分析相关工程

    一入电赛深似海,此话不假,个人感觉很累,但是收获确实多。本人去年参加了国赛,电赛提前半个月就开始着手准备了,只记得那时候不是调试就是在调试的路上,也因此留下了宝贵的我姑且称之为“经验”,作为一名小白,借此机会跟各位老白和小白分享一下。我训练较

    2024年02月03日
    浏览(39)
  • 【STM32】STM32F4 GPIO详解与配置

    GPIO是通用输入输出端口的简称,为STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32芯片的GPIO被分成很多组,每组有16个引脚,所有的GPIO引脚都有基本的输入输出功能。 其中保护二极管使GPIO能够5V电压容忍。在

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包