longjane 发表于 2014-10-16 08:25:29

[FuIP协议栈更新2.1]专为单片机联网的开源TCP/IP协议栈FuIP

本帖最后由 longjane 于 2014-10-16 08:31 编辑

    之前已经发过帖子,但是bug会有的,功能会增加的,性能会优化的,请大家持续关注。

/********************************************************************/
本程序仅供学习参考,未经作者允许,不得用于任何商业用途                           
FuIP专为单片机而定制的TCP/IP协议栈,适用于任何8,16,32位单片机
技术论坛:www.fuhome.net/bbs/
FuIP可用于,客户端,服务端,亦可接入fuhome.net 平台进行远程控制
版本:v2.1 2014年10月15日                                                                              
龙剑奋斗                                                                                                                        
定期更新,敬请关注——开放,交流,深入,进步                                             
Copyright fuhome.net 未来之家 实验室,让科技融入生活                              
/********************************************************************/
键人是从51学习过来的,充分考虑了8位 16位 32位单片机平台特性,采用最易移植写法,因此特别适合任何有单片机基础的网友轻松控制家用电器等,其他扩展fuhome.net 平台会逐步完善。


V1.2版本支持与特性:
1,支持ARP请求、应答(获取目的IP的MAC)
2,支持ICMP_Ping请求,应答(ping命令)
3,支持TCP主动连接,断开,被动连接,断开,数据发送
4,支持UDP发送,接收数据

V1.3 改写了命令识别写法,使用更加简单,效率提高了。

v2.0 更新提示
1、由于单片机RAM完全够用,为了用来方便接入互联网,接收缓冲不再与发送缓冲公用
2、修复TCP连接过程的一些问题,更加兼容不同主机的数据格式。
3、增加了访问外网主机的功能,完善了TCP连接协议,这一点是重大改变。
4、命令识别,发送采用特殊函数,提升了执行效率。
(本demo直接下载到单片机,默认访问百度首页,可以从串口看到数据。
v2.1 更新日志
1、修复了ARP回应bug
2、对于TCP/UDP数据不再限制于偶数长度了,奇数偶数均可。


PS.利用fuhome.net网站平台,互联网(电脑,手机)控制单片机,详情fuhome.net/bbs/演示视频教程)
灰常简单,目前实现了远程控制(手机APP和web网页控制,并且带返回信息),传感器数据上传显示,众多爱好者一起在努力开发更多好玩的有趣的扩展


IP采用固定IP,
本机IP:192.168.1.150
默认网关是家庭常用的:192.168.1.1
如果家里的路由器网关是其他如:192.168.0.1,请自行修改网关IP、本机IP


内存分配机制:

以太网首部: EN_Head
IP首部:      IP_Head
UDP伪首部: UDP_False
UDP首部:   UDP_Head
TCP伪首部: TCP_False
TCP首部:   TCP_Head
ARP数据:   ARP_Data
ICMP数据:ICMP

发送数据缓冲,DATA数据:DATA(键人默认长度200,可改)
接收包缓冲(包含ETHERNET头,IP头,TCP/UDP首部)
Re_DATA(默认长度200,可改,但是为了接收,长度至少TCP>=54,UDP>=42)
(本demo占用RAM大约570Byte如果RAM有限可以合并一个使用,减少到360Byte左右,还是要看缓冲你的设定值 因为收发不同时发生)


例程采用STC12单片机,因此用了STC文件替换keil4的包了。大家可用到这里下载替换包,用于其他单片机就不用了,自己移植即可。
http://www.fuhome.net/bbs/forum.php?mod=viewthread&tid=2032

附件如果不能下载或者需要积分:可以到原社区:http://www.fuhome.net/bbs/forum.php?mod=viewthread&tid=1

FuIP协议栈v2.1

FuIP协议栈v2.1使用说明书

更多研究成果,更新,进度,通知,演示请关注微信:fu_home


dianqi2007013 发表于 2014-10-16 09:00:27

正在学习中,非常感谢楼主的资料,

liuruoshui 发表于 2014-10-16 09:03:40

感谢楼主的资料!

yebx 发表于 2014-10-16 09:10:43

好东西,要顶!

voidwalker2012 发表于 2014-10-16 09:16:36

顶一个!

sunliezhi 发表于 2014-10-16 09:35:22

注释很详细,好
如果能用结构体指针封装包,则协议的层次感、立体感强很多,代码结构清晰明了、优雅

longjane 发表于 2014-10-16 14:10:10

sunliezhi 发表于 2014-10-16 09:35
注释很详细,好
如果能用结构体指针封装包,则协议的层次感、立体感强很多,代码结构清晰明了、优雅 ...

之后会考虑的,主要是给初级入门单片机的同学也看的懂{:lol:}

qdyuyan 发表于 2014-10-16 15:49:49

这个很好,学习一下。

newywx 发表于 2014-10-17 09:15:48

这个里面能不能加上个web页面进行几个led灯的打开和关闭的控制,这样手机或者电脑用自带的浏览器就可以直接简单控制了
页: [1]
查看完整版本: [FuIP协议栈更新2.1]专为单片机联网的开源TCP/IP协议栈FuIP