xiuos/APP_Framework/Applications/app_test/test_webserver
Yao15921243763 bf505768e8 test webserver 2023-09-30 23:16:14 +08:00
..
photos test webserver 2023-09-30 23:16:14 +08:00
README.md test webserver 2023-09-30 23:16:14 +08:00
index.html test webserver 2023-09-30 23:16:14 +08:00
test_webserver.c test webserver 2023-09-30 23:16:14 +08:00
test_webserver.h test webserver 2023-09-30 23:16:14 +08:00

README.md

基于矽璓已实现的Lwip在ARM上实现基本的Web服务##

1. 简介

基于矽璓已实现的Lwip在ARM上实现基本的Web服务其功能支持IP、GateWay、DNS、子网掩码等网络参数的设置。 主要功能为web服务等待Http请求的到来解析Http报文后设置本机的网络参数信息在终端打印设置后的网络参数信息并返回浏览器客户端成功响应。

2. 数据结构设计说明

Server的网络结构参数为

struct ServerNet 
{
    char local_ip[20];
    char local_mask[20];
    char local_gw[20];
    char local_dns[20];
}ServerNet;

主要实现了以下几个函数:

TcpThread:  建立socket监听循环等待网络通信事件的到来
HandleHttpRequest处理并解析Http报文得到网络参数信息
AddrUpdate 根据到来的参数,更新本机网络参数;
LwipShowIP显示网络参数信息包括IP、GateWay、DNS、子网掩码
LwipSetIP 设置网络参数信息包括IP、GateWay、DNS、子网掩码
ShowDns: 显示dns网址 
SetDns 设置dns网址

除此之外,还包括两个工具函数:

SubstractServerNet 截取http报文的请求体格式为ip=192.168.1.9&netmask=255.255.255.0&iproute=192.168.1.1&dns=114.114.114.114
substring 截取字符串

3. 测试程序说明

  1. 通过数据线将开发板连接电脑,并通过网线连接使开发板接入家庭局域网。
  2. 将TestWebserver注册为shell 命令编译前通过menuconfig打开lwip和TestWebserver功能。
  3. 将编译成功的XiZi-edu-arm32.bin文件烧录到arm板子。烧录bin文件前需要将开发板boot引脚拉高(盖上跳帽)上电后再按下reset按键之后可以点击烧写工具的执行按钮等待烧写完成。
  4. 将boot引脚拉低摘下跳帽按下reset按键使用串口工具显示xiuos的命令行界面。
  5. 将开发板的本机ip通过setip命令设置为与电脑端在同一个局域网之下利用ping命令检测成功通信。
  6. 运行TestWebserver命令验证功能。

4. 运行结果(##需结合运行测试截图按步骤说明##

烧录程序boot引脚拉高按下reset按键。

点击执行烧录,程序烧录成功。

打开串口调试工具xiuos程序成功在开发板上运行。

利用setip命令修改开发板ip,使得开发板和电脑在同一个局域网内并使用ping命令测试。

在服务端运行TestWebserver命令打开index.html设置网络参数信息点击提交发送http请求。

web服务收到http请求后并打印post请求报文以及修改后的开发板的网络参数信息包括IP、子网掩码、GateWay和DNS。