搜索
bottom↓
回复: 243

CGI、SSI动态STM32F107的Http网络web服务器(lwip)

  [复制链接]

出0入0汤圆

发表于 2013-4-9 17:48:31 | 显示全部楼层 |阅读模式
本帖最后由 zhangpisces 于 2013-4-10 13:50 编辑

之前是在LM3s上调试通过的http,但是由于LM3S那款要停产了,出于成本考虑公司将使用STM32。将以前lm3s平台全部改成STM32平台,苦逼的任务就落在了我的身上。由于stm32官方历程很简单,个人感觉操作也很麻烦,没有用CGI和SSI,于是就想将LM3s的处理流程移植到stm32上面来。经过对代码的查看,只是httpd.c的处理方式不一样,于是就大胆的就将lm3s工程里的httpd.c复制了过来,还有fs.c的处理方式也不一样,在lm3s工程中是重新定义了个fs文件,叫lmi_fs.c,,还有些相关的文件fsdata.c、fsdata.h、httpd.h、enet_io.c也复制过来,将原来的httpd.c、httpd.h覆盖掉.

工程中的webpage文件夹里是(网页)html源文件,其他就不多说了,请看工程文件

下面简单的讲解一下怎样将html网页加入到stm32中的:
1.首先将网页源文件编写好,如工程中webpage文件夹下的文件。
2.将makefsfile工具和webpage放在一个文件夹内.
3.运行cmd,进入到makefsfile工具的目录。
4.使用makefsfile -i webpage -o io_fsdata.h -r -h 命令生成一个 io_fsdata.h文件
5.将 io_fsdata.h包含在lmi_fs.c中

没有基础的请先看这里

工程源码

效果图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2013-4-9 17:54:30 | 显示全部楼层
自己的沙发,欢迎讨论

出0入90汤圆

发表于 2013-4-9 18:02:23 | 显示全部楼层
不错啊,支持

出0入0汤圆

发表于 2013-4-9 18:11:34 | 显示全部楼层
很不错啊,不知道同时多个浏览器一起刷新网页的话,是不是会很卡

出0入0汤圆

发表于 2013-4-9 18:20:30 | 显示全部楼层
mark留着备用,谢谢分享

出0入0汤圆

发表于 2013-4-9 18:59:05 | 显示全部楼层
不错,好东西,收藏下

出0入46汤圆

发表于 2013-4-9 19:20:00 | 显示全部楼层
很不错,学习了!

出0入0汤圆

发表于 2013-4-9 20:05:04 | 显示全部楼层
顶,是祼机的吗

出0入0汤圆

发表于 2013-4-9 22:02:24 | 显示全部楼层
不错,好东西,mark

出0入0汤圆

发表于 2013-4-9 23:31:47 | 显示全部楼层
很好的资料 记号一下

出0入0汤圆

 楼主| 发表于 2013-4-10 13:16:03 | 显示全部楼层
honami520 发表于 2013-4-9 18:02
不错啊,支持

多谢支持

出0入0汤圆

 楼主| 发表于 2013-4-10 13:18:25 | 显示全部楼层
菜包 发表于 2013-4-9 18:11
很不错啊,不知道同时多个浏览器一起刷新网页的话,是不是会很卡

这个每个网页都有个刷新时间的,,不是很卡的,给我感觉好像只有当前网页才刷新样,这个得看HTML语言了,看是不是多个网页同事刷新的。

出0入0汤圆

 楼主| 发表于 2013-4-10 13:18:48 | 显示全部楼层
SNOOKER 发表于 2013-4-9 20:05
顶,是祼机的吗

在LWIP上做的

出0入0汤圆

 楼主| 发表于 2013-4-10 13:19:27 | 显示全部楼层
ersha4877 发表于 2013-4-9 18:20
mark留着备用,谢谢分享

只有大家都分享才是好的

出0入0汤圆

 楼主| 发表于 2013-4-10 13:20:26 | 显示全部楼层
dzlemon 发表于 2013-4-9 23:31
很好的资料 记号一下

欢迎标记

出0入0汤圆

发表于 2013-4-10 13:30:19 | 显示全部楼层
界面不错啊

出0入0汤圆

发表于 2013-4-10 13:37:22 | 显示全部楼层
顶一下
又不会怀孕

出0入0汤圆

 楼主| 发表于 2013-4-10 13:41:47 | 显示全部楼层
怀了 找你

出0入0汤圆

发表于 2013-4-10 13:55:31 | 显示全部楼层
LZ用的什么网络接口芯片?几层板?有没有原理图?

出0入0汤圆

发表于 2013-4-10 13:59:25 | 显示全部楼层
本帖最后由 ljt80158015 于 2013-4-10 20:16 编辑

显示异常  ........

出0入0汤圆

 楼主| 发表于 2013-4-10 14:00:49 | 显示全部楼层
请用IE打开看看

出0入0汤圆

 楼主| 发表于 2013-4-10 14:02:11 | 显示全部楼层
ljt80158015 发表于 2013-4-10 13:59
显示异常  ........

请用IE打开看看 ,,,请发图片是不要把公司log和名称显示出来,谢谢

出0入0汤圆

 楼主| 发表于 2013-4-10 14:07:47 | 显示全部楼层
aworker 发表于 2013-4-10 13:55
LZ用的什么网络接口芯片?几层板?有没有原理图?

目前是在金龙开发板上调试的

出0入0汤圆

发表于 2013-4-10 14:11:23 | 显示全部楼层
zhangpisces 发表于 2013-4-10 14:00
请用IE打开看看

就是用IE打开的

出0入0汤圆

发表于 2013-4-10 14:11:30 | 显示全部楼层
好东西,st官方例程也有个http服务,记得打开网页可以点亮灯,测量温度!

出0入0汤圆

发表于 2013-4-10 14:13:26 | 显示全部楼层
看来是用的DP83848CVV

出0入0汤圆

 楼主| 发表于 2013-4-10 14:13:38 | 显示全部楼层
embeddev_1 发表于 2013-4-10 14:11
好东西,st官方例程也有个http服务,记得打开网页可以点亮灯,测量温度!

就是基于官方该的

出0入0汤圆

 楼主| 发表于 2013-4-10 14:15:47 | 显示全部楼层
ljt80158015 发表于 2013-4-10 14:11
就是用IE打开的

你是重新编译生成了io_fsdata.h 文件吗?如果是的话可能是webpage里面的图片位置旋转了

出0入0汤圆

 楼主| 发表于 2013-4-10 14:16:23 | 显示全部楼层
aworker 发表于 2013-4-10 14:13
看来是用的DP83848CVV

是的,就是他

出0入0汤圆

发表于 2013-4-10 14:24:53 | 显示全部楼层
好东西,必须收藏下

出0入0汤圆

 楼主| 发表于 2013-4-10 14:30:35 | 显示全部楼层
source.ant 发表于 2013-4-10 14:24
好东西,必须收藏下

谢谢捧场

出0入0汤圆

发表于 2013-4-10 15:45:03 | 显示全部楼层
用SSI,然后不断刷新,这样做非常不好!

出0入0汤圆

发表于 2013-4-10 15:59:20 | 显示全部楼层
先标记一下

出0入0汤圆

发表于 2013-4-10 16:35:30 | 显示全部楼层
很好的资料,标记一下

出0入0汤圆

发表于 2013-4-10 16:45:54 | 显示全部楼层
代码里似乎只处理了HTTP的GET请求,没有处理POST请求,不知道这个是怎么处理表单的提交的?把表单的method都写成“GET”?

出50入0汤圆

发表于 2013-4-10 16:58:24 | 显示全部楼层
很好的资料,学习了!

出0入0汤圆

 楼主| 发表于 2013-4-10 17:55:42 | 显示全部楼层
myqiang1990 发表于 2013-4-10 15:45
用SSI,然后不断刷新,这样做非常不好!

请教更好的方法

出0入0汤圆

 楼主| 发表于 2013-4-10 17:57:31 | 显示全部楼层
qllaoda1 发表于 2013-4-10 16:45
代码里似乎只处理了HTTP的GET请求,没有处理POST请求,不知道这个是怎么处理表单的提交的?把表单的method ...

是的<form action="attachSet.cgi" method="get" id = "attach">

出0入0汤圆

 楼主| 发表于 2013-4-10 17:58:48 | 显示全部楼层
ljt80158015 发表于 2013-4-10 13:59
显示异常  ........

请把你发的图片的标题删了,,谢谢!!!

出0入0汤圆

发表于 2013-4-10 18:52:48 | 显示全部楼层
本帖最后由 myqiang1990 于 2013-4-10 18:55 编辑
zhangpisces 发表于 2013-4-10 17:58
请把你发的图片的标题删了,,谢谢!!!


AJAX..............看我发的关于WEB的帖子,,SSI这种方法如果遇到大页面,多标签,肯定慢到让你你受不了。。页面还会一闪一闪的。。。

出0入0汤圆

发表于 2013-4-10 19:01:58 | 显示全部楼层
mark                                               

出0入0汤圆

 楼主| 发表于 2013-4-11 14:39:40 | 显示全部楼层
myqiang1990 发表于 2013-4-10 18:52
AJAX..............看我发的关于WEB的帖子,,SSI这种方法如果遇到大页面,多标签,肯定慢到让你你受不了 ...

谢谢,我已查看了你的相关帖子,还是有点糊涂啊,希望你能应坛友邀请来个例子最好不过了,,,在此谢过!!!

出0入0汤圆

发表于 2013-4-11 15:01:44 | 显示全部楼层
好东西,顶一下

出0入0汤圆

发表于 2013-4-11 15:51:02 | 显示全部楼层
顶起来吧

出0入0汤圆

发表于 2013-4-11 16:39:46 | 显示全部楼层
顶一下啊!

出0入0汤圆

发表于 2013-4-11 17:35:39 | 显示全部楼层
下来看看,最近捣鼓lwip,占用空间很大哟

出0入0汤圆

 楼主| 发表于 2013-4-11 17:55:34 | 显示全部楼层
7802848 发表于 2013-4-11 17:35
下来看看,最近捣鼓lwip,占用空间很大哟

stm32还是够跑LWIP了

出0入0汤圆

发表于 2013-4-11 18:02:20 | 显示全部楼层
zhangpisces 发表于 2013-4-11 17:55
stm32还是够跑LWIP了

还有其他哟,ucgui,ucos II,还有其他测控功能哦

出0入0汤圆

 楼主| 发表于 2013-4-11 18:03:47 | 显示全部楼层
7802848 发表于 2013-4-11 18:02
还有其他哟,ucgui,ucos II,还有其他测控功能哦

那就将内存分配小点

出0入0汤圆

发表于 2013-4-11 18:04:50 | 显示全部楼层
7802848 发表于 2013-4-11 18:02
还有其他哟,ucgui,ucos II,还有其他测控功能哦

你在做什么产品?

出0入0汤圆

发表于 2013-4-29 18:50:42 | 显示全部楼层
支持CGI吗,支持POST表单提交方式吗

出0入0汤圆

 楼主| 发表于 2013-4-29 19:48:00 | 显示全部楼层
lchunsong 发表于 2013-4-29 18:50
支持CGI吗,支持POST表单提交方式吗

GET表单提交方式,不是POST

出0入0汤圆

发表于 2013-5-3 15:30:34 | 显示全部楼层
获取数据包的工具是什么,能上传一下吗,辛苦啦

出0入0汤圆

发表于 2013-5-3 15:56:19 | 显示全部楼层
能告知你的QQ吗,急需得到你的帮助,我的QQ:783438215

出0入0汤圆

发表于 2013-5-3 16:36:02 | 显示全部楼层
mark,对CGI和SSI一窍不通啊,不知道什么东西。只会写个简单webserver啊。

出0入0汤圆

发表于 2013-5-3 17:41:44 | 显示全部楼层
mark,好帖子!

出0入0汤圆

发表于 2013-5-6 14:35:20 | 显示全部楼层
zhangpisces,可以告知你的联系方式吗,加上我的qq就可以啦,qq:783438215

出0入0汤圆

 楼主| 发表于 2013-5-6 15:12:53 | 显示全部楼层
lchunsong 发表于 2013-5-6 14:35
zhangpisces,可以告知你的联系方式吗,加上我的qq就可以啦,qq:783438215

你这样是要被封ID的,,有问题论坛里讨论哈

出0入0汤圆

发表于 2013-5-6 15:41:54 | 显示全部楼层
能上传一下数据包分析工具吗?

出0入0汤圆

 楼主| 发表于 2013-5-6 16:07:35 | 显示全部楼层
lchunsong 发表于 2013-5-6 15:41
能上传一下数据包分析工具吗?

就TCP/IP抓包工具啊?网上多的很

出0入0汤圆

发表于 2013-5-6 16:39:59 | 显示全部楼层
zhangpisces 发表于 2013-5-6 16:07
就TCP/IP抓包工具啊?网上多的很

如果要在你的基础上加上操作系统UCOSII,该如何操作?你那儿有例子吗?网上都是基于UCOS移植LWIP,不知能否基于LWIP移植UCOS

出0入0汤圆

 楼主| 发表于 2013-5-6 18:07:10 | 显示全部楼层
lchunsong 发表于 2013-5-6 16:39
如果要在你的基础上加上操作系统UCOSII,该如何操作?你那儿有例子吗?网上都是基于UCOS移植LWIP,不知能 ...

是一样的吧,只要在ucos上能跑LWIP,,那么HTTP就没问题撒

出0入0汤圆

 楼主| 发表于 2013-5-6 22:23:49 | 显示全部楼层
lchunsong 发表于 2013-5-6 16:39
如果要在你的基础上加上操作系统UCOSII,该如何操作?你那儿有例子吗?网上都是基于UCOS移植LWIP,不知能 ...

你要添加UCOS的话,你先讲LWIP移植到ucos上,然后按照帖子的首页写的将httpd.c、httpd.h、fs.h等文件移植过来就可以了吧!你可以用我帖子给的fsdata.h测试你移植成功了没有的。好运!!!

出0入0汤圆

 楼主| 发表于 2013-5-6 22:29:32 | 显示全部楼层
lchunsong 发表于 2013-5-6 15:41
能上传一下数据包分析工具吗?



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-5-7 00:36:45 | 显示全部楼层
MARK 一下1
!!

出20入118汤圆

发表于 2013-5-7 07:25:01 | 显示全部楼层
这个必须mark

出0入0汤圆

发表于 2013-5-7 07:36:19 | 显示全部楼层
正在做这个,MARK。

出0入0汤圆

发表于 2013-5-7 08:40:45 | 显示全部楼层
正好在做类似的!谢谢资料分享,mark

出0入0汤圆

 楼主| 发表于 2013-5-7 09:03:28 | 显示全部楼层
DiaoMao_Huang 发表于 2013-5-7 00:36
MARK 一下1
!!

谢谢支持

出0入0汤圆

 楼主| 发表于 2013-5-7 09:03:53 | 显示全部楼层
ztg328 发表于 2013-5-7 07:25
这个必须mark

这么早就来逛论坛了

出0入0汤圆

 楼主| 发表于 2013-5-7 09:04:10 | 显示全部楼层
reynoldxmh 发表于 2013-5-7 08:40
正好在做类似的!谢谢资料分享,mark

希望对你有帮助

出0入0汤圆

发表于 2013-5-7 10:34:52 | 显示全部楼层
zhangpisces 发表于 2013-5-6 22:23
你要添加UCOS的话,你先讲LWIP移植到ucos上,然后按照帖子的首页写的将httpd.c、httpd.h、fs.h等文件移植 ...

你加我的qq,不小心误操作,没加上,再加一遍好吗?

出0入0汤圆

发表于 2013-5-7 10:37:13 | 显示全部楼层
zhangpisces 发表于 2013-5-6 22:29

谢谢,我用用看

出0入0汤圆

发表于 2013-5-7 10:56:22 | 显示全部楼层
这里有一个移植UCOS和LWIP的实例,我这里webserver出不来,你帮我测测看UCOS和LWIP移植是否成功,好吗

出0入0汤圆

 楼主| 发表于 2013-5-7 12:22:59 | 显示全部楼层
lchunsong 发表于 2013-5-7 10:56
这里有一个移植UCOS和LWIP的实例,我这里webserver出不来,你帮我测测看UCOS和LWIP移植是否成功,好吗 ...

我手上没有板子,之前用的是公司买的开发板。所以不能帮你测试了,抱歉

出0入0汤圆

 楼主| 发表于 2013-5-7 12:31:27 | 显示全部楼层
lchunsong 发表于 2013-5-7 10:56
这里有一个移植UCOS和LWIP的实例,我这里webserver出不来,你帮我测测看UCOS和LWIP移植是否成功,好吗 ...

其实测试移植是否成功很简单的,建立一个TCP链接,收到什么数据返回什么数据。用tcp/ip测试工具测试一下看是否正常工作就可以了

出0入0汤圆

发表于 2013-5-8 15:01:51 | 显示全部楼层
zhangpisces 发表于 2013-5-7 12:31
其实测试移植是否成功很简单的,建立一个TCP链接,收到什么数据返回什么数据。用tcp/ip测试工具测试一下 ...

我的是在金龙上调的,你的好像也是的,是吧

出0入0汤圆

发表于 2013-5-8 15:17:36 | 显示全部楼层
看金龙上的helloworld是否实现也可以吧

出0入0汤圆

发表于 2013-5-8 16:35:49 | 显示全部楼层
mark  考试完了  来研究研究

出0入0汤圆

 楼主| 发表于 2013-5-8 16:47:12 | 显示全部楼层
lchunsong 发表于 2013-5-8 15:17
看金龙上的helloworld是否实现也可以吧

恩,你移植好后,就用这个程序测试看看移植好了没?其实移植LWIP到UCOS上网上有很多例子的。

出0入0汤圆

发表于 2013-5-12 16:06:52 | 显示全部楼层
zhangpisces 发表于 2013-5-8 16:47
恩,你移植好后,就用这个程序测试看看移植好了没?其实移植LWIP到UCOS上网上有很多例子的。 ...

我有uCOS+LWIP的例子,可是没有webserver+uCOS+LWIP的,不知怎么样弄webserver,不知你那儿有这样的例子吗

出0入0汤圆

发表于 2013-5-12 16:09:50 | 显示全部楼层
我·发给你例子,请你看看这个例子移植是否正确

出0入0汤圆

 楼主| 发表于 2013-5-12 16:09:59 | 显示全部楼层
lchunsong 发表于 2013-5-12 16:06
我有uCOS+LWIP的例子,可是没有webserver+uCOS+LWIP的,不知怎么样弄webserver,不知你那儿有这样的例子 ...

只要ucos移植好了lwip,其他webserver的功能跟有没有ucos都是一样的撒

出0入0汤圆

 楼主| 发表于 2013-5-12 16:12:05 | 显示全部楼层
lchunsong 发表于 2013-5-12 16:09
我·发给你例子,请你看看这个例子移植是否正确

那你发一个吧

出0入0汤圆

发表于 2013-5-12 16:15:53 | 显示全部楼层
zhangpisces ,发过去了吗?

出0入0汤圆

发表于 2013-5-12 16:18:44 | 显示全部楼层
要是没发过去,zhangpisces,你再加加我的qq好吗?783438215

出0入0汤圆

发表于 2013-5-15 10:46:41 | 显示全部楼层
有单板的吗?

出0入0汤圆

发表于 2013-5-16 22:05:25 | 显示全部楼层
一直想用STM32+ENC28J60  跑lwip实现数据采集功能,不知道方案是否行得通,恳请大侠给个建议!

出0入0汤圆

 楼主| 发表于 2013-5-17 12:15:16 | 显示全部楼层
moonlight11 发表于 2013-5-16 22:05
一直想用STM32+ENC28J60  跑lwip实现数据采集功能,不知道方案是否行得通,恳请大侠给个建议! ...

肯定行的,stm32f103+ENC28J60  ,,,有很多103的开发板都实现了的吧

出0入0汤圆

发表于 2013-5-17 18:06:07 | 显示全部楼层
嗯,谢谢你的回复,开发板上基本上都是实现了uip1.0的,我想用来跑个lwip看,看速度各个方面怎么样。

出0入0汤圆

发表于 2013-5-23 22:50:15 | 显示全部楼层
谢谢!没用过stm32f107,之前对网页也一窍不通!现在在用stm32f103+ENC28J60做!还在研究怎么移植。。。

出0入0汤圆

发表于 2013-5-24 00:32:46 | 显示全部楼层
关注 STM32 网页服务器

出0入0汤圆

发表于 2013-6-2 17:50:45 | 显示全部楼层
如何在网页中加入自己的图片数据到STM32内存中???

出0入0汤圆

发表于 2013-6-2 22:18:00 来自手机 | 显示全部楼层
支持一下下

出0入0汤圆

发表于 2013-6-2 22:45:28 | 显示全部楼层

很好的资料,学习了!

出0入0汤圆

发表于 2013-6-3 02:54:54 | 显示全部楼层
zhangpisces 发表于 2013-4-9 17:54
自己的沙发,欢迎讨论

能说一下lwip极限最小占用么....
比如一个IE访问时最小占用多少SRAM

出0入0汤圆

 楼主| 发表于 2013-6-3 12:44:33 | 显示全部楼层
adce 发表于 2013-6-3 02:54
能说一下lwip极限最小占用么....
比如一个IE访问时最小占用多少SRAM

这个还没关注过,,不过你了解LWIP最小占用内存为多少,应该可以了解到

出0入0汤圆

 楼主| 发表于 2013-6-3 12:46:30 | 显示全部楼层
青檐铃风 发表于 2013-6-2 17:50
如何在网页中加入自己的图片数据到STM32内存中???

这个要通过前面说的工具makefsfile.exe转成16进制数组,在把这个数组包含在工程中

出0入0汤圆

发表于 2013-6-3 14:14:18 | 显示全部楼层

这个很不错,先学习了

出0入0汤圆

发表于 2013-6-9 11:31:23 | 显示全部楼层
好资料,学习了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 07:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表