简易版智能家居:lwIP TCP/IP协议栈在ARM开发板实现嵌入式网络服务器(上)
利用EK-LM3S8962开发板,我们可以开发出很多应用,比如移植一些嵌入式GUI、网络服务器、CAN通信等等。个人最喜欢的就是其中开发板中的以外网模块,而且LM3S8962这芯片业内置了Ethernet PHY层,对于学习网络及TCP/IP来说实在是利器。
这几天就在开发板上,移植了嵌入式TCP/IP协议栈: lwIP(light weight IP),实现了一个小型的嵌入式网络服务器,如下图所示:
本人是在Android手机上使用浏览器登陆服务器界面的,可以看出有明显的缺点,就是不适合在手机屏幕浏览,其原始的网页代码如下:
<!Doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
<!-- Copyright (c) 2009-2012 LongLuo. All rights reserved. -->
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>LL® lwIP WebServer</title>
</head>
<body>
<h1>Hello lwIP</h1>
<hr />
<h2>Web Server</h2>
<hr />
<p>
<center>Copyright © 2012 LongLuo. All Rights Reserved! </center>
</p>
</body>
</html>
目前来说,这个只是最简单的一个demo,也没加上任何功能。最终的目的是 实现通过在手机上通过web访问服务器从而实现对开发板的控制。
由于本人对html编程非常之不熟悉,什么CSS、javascript、php技术更是一窍不通,所以目前网页界面做的相当之烂,而且啥功能也没有,那是有原因滴。希望有web高手愿意指导我这个菜鸟下:-)
好吧,现在都是移动互联时代了,这个界面在移动设备上体验很不好,如何改进呢?
通过参考了一些网站的手机网页,完成了网页界面的2.0版本,如下所示:
---是不是好看多了呢?
---我也觉得!
网页2.0版本的源码如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Copyright (c) 2009-2012 LongLuo. All rights reserved. -->
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
<meta http-equiv="Cache-control" content="no-cache" />
<style type="text/css">
body
{
font-size:medium;
line-height:1.6em;
text-align:center
}
form {
margin:0;
padding:0
}
.a{
padding-top:6px;
margin-top:6px;
margin-bottom:6px
}
.h{
color:#c60a00
}
.s{
font-size:small
}
.b{
font-size:small;
color:#77C
}
</style>
<title>LL® lwIP WebServer</title>
</head>
<body>
<center>
<hr />
<h2>lwIP WebServer</h2>
<hr />
<span class="b">Copyright © 2012 LongLuo.</span>
</div></div>
</center>
</body>
</html>
开发板和路由器连接,通过DHCP协议自动获取局域网IP地址,我们在局域网内就可以访问此嵌入式网络服务器了。
有同学要问了,这个界面什么作用也没有啊?
没错,这个界面目前是一点用都没有,但是在后续我们会加上很多功能,实现可以通过网页在远程对开发板的外设进行监控以及让开发板可以连接到外部的Internet网,获取外网的数据......
完成这些需要大量的知识,
欲知后事如何,且听下回分解!
(作者:LL 出处:http://blog.csdn.net/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)