Thttpd
是一个由C语言编写的轻量级web server,详情请参考thttpd。
目前仅Cloud_STM32F429IGTx_FRIE
开发板支持Thttpd
,下面以该开发板为例,讲解如何在LiteOS
的shell
命令行运行Thttpd
,使客户端浏览器可以访问该web server
。
在LiteOS源码根目录下运行make menuconfig
命令,按如下菜单路径使能shell
和thttpd
组件:
1.使能shell
Debug ---> [*] Enable a Debug Version ---> [*] Enable Shell
2.使能thttpd
Components ---> Utility ---> [*] Enable Thttpd
使能Thttpd
组件后会自动使能所依赖的Lwip
组件和FATFS
组件,FATFS
文件系统默认使用SD
卡存储模式。
保存退出后,会从github上自动下载Thttpd
源码,并从gitee上下载适配于LiteOS系统的patch包,并打入patch。详细流程在components/download.sh
文件中。
注意: 下载需要Linux主机可以访问互联网,并安装git
。
操作步骤如下:
1.在thttpd-2.27/config.h文件中设置web server
端的web根目录(其中/fatfs为FATFS文件系统的挂载点,不支持修改),地址(与开发板的IP
地址保持一致),端口(端口范围1-65535,设置其中一个未被占用的端口即可)等信息。本示例设置如下:
#define THTTP_WWWROOT_DIR "/fatfs/wwwroot"
#define THTTPD_IPADDR (192<<24|168<<16|3<<8|92)
#define THTTPD_PORT 80
2.在SD卡的根目录中新建web根目录,例如根据步骤1中的默认设置,应创建名为wwwroot
的文件夹。
3.将thttpd/index.html,thttpd/favicon.ico文件拷贝到web根目录下。
4.将SD卡插入开发板的卡槽内。
5.将路由器与开发板网口连接。
6.在LiteOS源码根目录下执行make clean ; make -j
命令编译LiteOS工程,编译成功后将在out/Cloud_STM32F429IGTx_FIRE/lib
目录下生成组件静态库文件libthttpd.a
,系统镜像文件为Huawei_LiteOS.bin
。 烧录系统镜像文件到开发板后,复位重启开发板,查看Thttpd
组件是否已经运行:
使用串口调试工具,进入shell
命令行界面,输入help
命令,如果显示thttpd
命令,则表示已经生效。
Huawei LiteOS # help
*******************shell commands:*************************
date free help hwi log memcheck swtmr systeminfo task thttpd uname watch
Huawei LiteOS #
1.在开发板的shell
命令行界面中执行thttpd
命令,启动web server
,此时可以在开发板串口上看到如下信息输出,表示已经成功启动web server
:
Huawei LiteOS # thttpd
file system mount success
thttpd/2.27 19Oct2015 starting on port 80
Huawei LiteOS #
2.打开客户端浏览器请求web server
端目标页面(本示例为 192.168.3.92:80/index.html),浏览器获取页面如下:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。