[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
正在学习中,非常感谢楼主的资料, 感谢楼主的资料! 好东西,要顶! 顶一个! 注释很详细,好
如果能用结构体指针封装包,则协议的层次感、立体感强很多,代码结构清晰明了、优雅 sunliezhi 发表于 2014-10-16 09:35
注释很详细,好
如果能用结构体指针封装包,则协议的层次感、立体感强很多,代码结构清晰明了、优雅 ...
之后会考虑的,主要是给初级入门单片机的同学也看的懂{:lol:} 这个很好,学习一下。 这个里面能不能加上个web页面进行几个led灯的打开和关闭的控制,这样手机或者电脑用自带的浏览器就可以直接简单控制了
页:
[1]