開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread版本為4.0.3。
以RT-Thread中Lan8720和lwip協(xié)議棧的使用文章創(chuàng)建的工程為基礎(chǔ)。
httpd(The Apache HTTP Server)的官方網(wǎng)址。
在rtthread工程中新建文件夾webserver,存放webserver相關(guān)文件。
在正點(diǎn)原子例程網(wǎng)絡(luò)實(shí)驗(yàn)10 NETCONN_WEBserver實(shí)驗(yàn)中的LWIPlwip_appweb_server_demo 文件夾 下的文件拷貝到文件夾webserver。如下圖:
對(duì)工程進(jìn)行編譯,工程報(bào)錯(cuò)。根據(jù)報(bào)錯(cuò)提示進(jìn)行修改。修改過程如下:
STEP1:錯(cuò)誤提示 httpd.c8623: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"
保存,編譯
STEP2 :錯(cuò)誤提示:httpd_cgi_ssi.c523: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"。同時(shí)屏蔽掉//#include "led.h" //#include "tsensor.h" //#include "rtc.h" //#include "lcd.h"
修改httpd_cgi_ssi.c文件中的內(nèi)容,將xxx_Handler函數(shù)中內(nèi)容屏蔽掉,只保留定義。比如RTCdate_Handler函數(shù)。LEDS_CGI_Handler函數(shù)只保留return "/STM32_LED_OFF_BEEP_OFF.shtml";
編譯報(bào)錯(cuò),提示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 排除構(gòu)建
新建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);
編譯,下載到開發(fā)板。啟動(dòng)后輸入webserver_start指令,打開瀏覽器輸入ip地址,效果 如下:
-
STM32
+關(guān)注
關(guān)注
2272文章
10923瀏覽量
357550 -
RTC
+關(guān)注
關(guān)注
2文章
542瀏覽量
67027 -
LwIP協(xié)議棧
+關(guān)注
關(guān)注
0文章
19瀏覽量
7417 -
STM32F407
+關(guān)注
關(guān)注
15文章
188瀏覽量
29650 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1305瀏覽量
40383
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論