RT-Thread移植使用webserver (lwip+httpd)

开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,rt-thread版本为4.0.3。
以rt-thread中lan8720和lwip协议栈的使用文章创建的工程为基础。
httpd(the apache http server)的官方网址。
在rtthread工程中新建文件夹webserver,存放webserver相关文件。
在正点原子例程网络实验10 netconn_webserver实验中的lwiplwip_appweb_server_demo 文件夹 下的文件拷贝到文件夹webserver。如下图:
对工程进行编译,工程报错。根据报错提示进行修改。修改过程如下:
step1:错误提示 httpd.c8623: fatal error: lwip_comm.h: no such file or directory。屏蔽掉头文件 //#include lwip_comm.h
保存,编译
step2 :错误提示:httpd_cgi_ssi.c523: fatal error: lwip_comm.h: no such file or directory。屏蔽掉头文件 //#include lwip_comm.h。同时屏蔽掉//#include led.h //#include tsensor.h //#include rtc.h //#include lcd.h
修改httpd_cgi_ssi.c文件中的内容,将xxx_handler函数中内容屏蔽掉,只保留定义。比如rtcdate_handler函数。leds_cgi_handler函数只保留return /stm32_led_off_beep_off.shtml;
编译报错,提示fsdata.o:(.rodata.file__image_head_jpg+0x0): multiple definition offileimage_head_jpg’ ;fs.o:(.rodata.fileimage_head_jpg+0x0): first defined here`
将fsdata.c 排除构建
新建web_server.c文件,添加代码如下:
void webserver_start(void)
{
rt_kprintf(nntnow, initializing the web file system...n);
/* httpd init /
httpd_init();
/ 配置 ssi 处理程序 /
httpd_ssi_init();
/ 配置 cgi 处理器 */
httpd_cgi_init();
rt_kprintf(tnow, starting the web server thread...n);
}
msh_cmd_export(webserver_start, start web server);
编译,下载到开发板。启动后输入webserver_start指令,打开浏览器输入ip地址,效果 如下:

随着国内安防企业的快速发展,民族安防品牌国际化速度在加快
为什么戴森的产品这么贵还有人买单
为什么说全新一代途锐并非是大众版Q7,而是大众版的卡宴呢?
RFID领域软件构件化开发技术你知道吗
流体组装技术将提升Micro LED外延片芯片利用率
RT-Thread移植使用webserver (lwip+httpd)
Linux内核架构--基本概念
雷声技术公司正在研究先进的射频混合模式电路设计
5G时代下,未来线下能否进一步智能化?
HTC One X详细拆解过程 超强四核处理器
液压伺服系统如何选用控制阀?
串口传输速率低于波特率的原因和解决方法
物联网开发为企业带来的五大贡献
如何看待LED屏扫描方式?
飞凌嵌入式亮相德国纽伦堡Embedded World 2023!
高压放大器在改良电形成制备GV的交流电场参数优化研究
基于AT89C51智能型稳压电源的设计
2017智能家居产业发展十大猜想
用于评估不同平台上的定位和建图精度的多传感器校园数据集
并联电阻器基础认识