OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3763|回复: 3

分享下我的MINIV3移植的FUIPV2.3,支持DHCP,接入龙剑奋斗的服务器实现远程控制。

[复制链接]

9

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
金钱
285
注册时间
2015-4-19
在线时间
75 小时
发表于 2015-12-17 22:02:26 | 显示全部楼层 |阅读模式
/********************************************************************/
本程序仅供学习参考,未经作者允许,不得用于任何商业用途                           
FuIP专为单片机而定制的TCP/IP协议栈,适用于任何8,16,32位单片机
技术论坛:www.fuhome.net/bbs/
FuIP可用于,客户端,服务端,亦可接入fuhome.net 平台进行远程控制  
版本:v2.3 正式版 2015年4月7日                                                                               
龙剑奋斗                                                                                                                        
定期更新,敬请关注——开放,交流,深入,进步                                             
Copyright fuhome.net 未来之家 实验室,让科技融入生活                                
/********************************************************************/
键人是从51学习过来的,充分考虑了8位 16位 32位单片机平台特性,采用最易移植写法,因此特别适合任何有单片机基础的网友轻松控制家用电器等,其他扩展fuhome.net 平台会逐步完善。


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

V1.3 改写了命令识别写法,使用更加简单,效率提高了。(网友yht7891984提出 )

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

v2.1 更新日志
1、修复了ARP回应bug(网友林海雪原提出)
2、对于TCP/UDP数据不再限制于偶数长度了,奇数偶数均可。

v2.2 更新日志
1、修复了TCP发送检验bug,数据传输bug
2、结合实用,及网友建议,特此做了调整。TCP仅支持被动连接,若需要单片机主动连接(见2.1版本可以访问百度网页)
3、增加了web服务功能,可以实现用网页发送消息给单片机
4、UDP仍然支持主动,被动模式。
5、合并发送接收缓冲区,统一DATA[ ]数组。默认长度为255字节。

v2.3 更新日志(20150112)
1、增加DHCP协议,可以自动获取IP,以补充固定IP的不足之处(如不需要请用 v2.2版本其采用固定IP,视个人情况而定)。
2、改善数据报长度只能在255以内的限制,可以扩大到TCP/IP规定的最大数据报。

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


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

2.3版本采用自动获取IP


内存分配机制:

以太网首部: EN_Head[14]
IP首部:        IP_Head[20]
UDP伪首部: UDP_False[12]
UDP首部:   UDP_Head[8]
TCP伪首部: TCP_False[12]
TCP首部:   TCP_Head[20]
ARP数据:   ARP_Data[28]
ICMP数据:  ICMP[40]

发送数据缓冲,DATA数据:  DATA[255](键人默认长度255,可改,不同版本不同,v2.3为了适应需要改善了数据报长度的限制)
接收包缓冲同上公用(包含ETHERNET头,IP头,TCP/UDP首部)
DATA[255](默认长度255,可改,但是为了接收,长度至少TCP>=54,UDP>=42)
(本demo占用RAM大约500Byte,还是要看缓冲你的设定值)



例程采用STC12单片机,因此用了STC文件替换keil4的包了。大家可用到这里下载替换包,用于其他单片机就不用了,自己移植即可。

FuIP协议栈例程标配硬件原理图链接:http://fuhome.net/bbs/forum.php?mod=viewthread&tid=2034


本人用的是miniv3+enc28j60模块,移植的fuipv2.3,通过udp协议与龙剑奋斗的服务器通信,实现远程控制,为保护隐私,所以将程序中的密码修改了,如果移植了请自行修改!!


stm32-fuip.zip

385.27 KB, 下载次数: 222

学习学习。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-12-18 08:27:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

4

主题

42

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1727
金钱
1727
注册时间
2016-2-14
在线时间
258 小时
发表于 2016-10-21 19:21:16 | 显示全部楼层
学习了,谢谢..
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-10-22
在线时间
7 小时
发表于 2016-10-22 10:34:58 | 显示全部楼层
跟着大牛一起学习!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 06:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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