竭诚为您提供优质文档/双击可除
stm32,tcp协议实现
篇一:基于stm32的串口服务器web功能实现
基于stm32
web功能实现
编制:陈志磊校对:审核:
日期:20xx-12-30
版本:V1.0
的串口服务器
说明:
本文主要说明通过web访问来配置串口服务器参数的功能,前提要求lwip和ucosii都已移植成功。实现b/s结构,须将串口服务器配置为webserver。
一.webserver文件以及相关技术简介
1.相关文件说明
st公司的官网上提供了通过lwip完成webserver配置
的例程,打开我们的工程文件夹“lwip1.4.1移植stm32V1.8”,
在lwip-app/web_server_demo文件夹下的文件如图所示:各个文件的说明见下表:
2.网页制作及网页数组数据转换
(1)网页制作
使用dreamweaver进行网页制作,交互方式主要是通过表单来完成,注意对于使用了需要使用ssi技术来嵌入数据的,需要将网页后缀设为shtml、shtm、stm等。st的例程默认使用首页索引在httpd.c中g_psdefaultFilenames[]
数组里表示,该数组如下:
constdefault_filenameg_psdefaultFilenames[]={{"/ind ex.shtml",false},{"/index.ssi",true},{"/index.shtm" ,true},{"/index.html",false},{"/index.htm",false}};
该数据表示支持首页索引为index.shtml、index.html、index.htm的网页文件输入。在网
页设计时,需考虑以下两个方面:
a.表单的操作设计,表单提交的方法为post,表单的处理设为对应的cgi。
b.ssi标签的嵌入。在需要嵌入信息的位置插入ssi标签。关于cgi和ssi稍后将会简要说明。
(2)网页数组数据转换
在makefsdata文件夹下的fs文件为网页源文件,如下图:
由于网页源文件不能直接放到stm32里面,所以要做一
个转换,这里通过makefsdata.exe这个工具将原始网页文件转换成.c格式的网页数组,这样就可以添加到工程中了,makefsdata是用来将编辑好的网页文件转换成二进制数的
一个工具。接下来我们讲解一下这个工具的使用方法下面我们讲解makefsdata工具的使用。
(1)新建一个名为fs的文件夹,将编辑好的网页源文件放到fs文件夹下,里面包含了编辑好的html和.shtml等网页文件,其中image文件夹里面是我们使用到的图片。
(2)将fs文件夹和makefsdada.exe工具放到同一文件夹下,此处为makefsdata文件夹,打开
makefsdata文件夹,如下图所示。图中的echotool.exe 和tftpd32-3.51-setup.exe为其他工具,这里没有使用到,cmd.reg稍后我们会讲到。
(3)在makefsdata文件夹上点击鼠标右键,然后点击”在此位置打开cmd”选项,打开后结果如图所示。此时会打开一个cmd命令窗口。如果点击右键没有”在此位置打开cmd”选型的话,请使用makefsdata文件夹下的cmd.reg文件导入注册表注册,双击打开cmd.reg,然后一路确定下去就可以了。
(4)在打开的cmd命令窗口中输入:makefsdata–i命令,按回车键。就会生成fsdata.c文件,将该文件拷贝到web_server_demo
文件下,然后以头文件的方式包含到工程
中即可。
3.cgi技术简介
公共网关接口cgi(commongatewayinterface)是www技术中最重要的技术之一,有着不可替代的重要地位。cgi是外部应用程序与web服务器之间的接口标准,是在cgi程序和web服务器之间传递信息的规程。cgi规范允许web服务器执行外部程序,并将它们的输出发送给web浏览器,cgi 在物理上是一段程序,运行在服务器上,提供同客户端html 页面的接口。
绝大多数的cgi程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器,cgi程序使网页具有交互功能。比如通过web来处理提交的数据,用的就是cgi技术。cgi示意图如下:
4.ssi技术简介
服务器端嵌入:serversideinclude,是一种类似于asp 的基于服务器的网页制作技术。大多数的web服务器等均支持ssi命令。将内容发送到浏览器之前,可以使用“服务器端包含(ssi)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用ssi包含时间/日期戳、版权声明或供客户填写并返回的表单。
对于在多个文件中重复出现的文本或图形,使用包含文
件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示web服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。因为包含ssi指令的文件要求特殊处理,所以必须为所有ssi文件赋予ssi文件扩展名。默认扩展名
是.stm、.shtm和.shtml。ssi是为web服务器提供的一套命令,这些命令只要直接嵌入到html文档的注释内容之中即可。如:就是一条ssi指令,其作用是将"info.htm"
的内容拷贝到当前
篇二:stm32F407_dp83848_lwip移植方法
前段时间做项目用到百兆网通信,用到了lwip,一开始
是参照原子的例程做移植,因为原子的例程中使用的是
lan8720,为了改成dp83848,改寄存器地址,改位定义,改速
度计算公式,折腾了好多天也没成功,最后只好听从网友的
建议,修改st官方的一个例程,几天下来,竟然成功了,现在将步骤分享给大家,感觉实际工程中用dp83848的还是大多数..其实本文并不是移植lwip,只是将st官方的例程改成我们项目所需要的,然后我们再在这个基础上完成自己的项目即可,这对新接触lwip又急着做项目的人比较适合,没必要去了解lwip的具体实现,会用就行了..
本文作者:武汉普创科技--易宇--转载请注明出处