开源,FuIP3.0单片机专用联网协议栈 51+ENC28J60,其他MCU自己移植
本帖最后由 lovewind 于 2017-1-8 11:09 编辑作者写的:
FuIP协议栈,专为单片机联网而写的,不管你是什么单片机,想联网都容易,FuIP的出现主要是因为当你我没搞懂uIP,实在是糊里糊涂,不知道从何下嘴,不对,下手哈哈。主要还是外国人写的,注释也看的费劲。
从2014到经过几个版本的迭代之后,由于主要去做app和微信及服务器开发了,在网友乘简的努力下,推出了具备产品化基础的FuIP3.0版本。
为了让搞单片机的都看得懂,所以用51作为例子
Fuhome.net未来之家实验室推出,FuIP3.0协议栈单片机专用联网开源程序MCU+ENC28J60,
51,STM32,AVR均可简单一直使用。不限连接数(每个连接仅占用16字节RAM),TCP服务端TCP客户端,UDP均可,多种角色共存同时工作,可DHCP自动获取IP或者固定IP
样例采用STC12单片机,ping,乘简已经30天24小时测试,应用在其产品上。
3.0版本应用很简单明了,看说明即会。如果还有什么要了解,可以看我的啰嗦视频,这样更直观操作。
FuIP3.0协议栈单片机专用联网开源程序应用教程MCU+ENC28J60
讲解视频地址:http://v.youku.com/v_show/id_XMTkzMzIxODU3Mg==.html
v3.0 更新日志
1、整合2.2与2.3,用参数来设置是固定IP还是动态获取IP
2、修改一个BUG,当UDP包大于FU_LEN时,截断为多个UDP包处理数据
3、重建工程,不用手工添加STC数据库也可以进行编译
4、修改两个enc28j60模块互相通讯时,arp不成功的一个BUG
5、修改子网掩码算法,在ARP时不会出错
6、增加多路通讯,多个TCP(服务端,客户端),多个UDP(服务端,客户端)同时通信,之前是只支持1路通讯
使用方法(发送接收数据指有效数据,不包括各种协议头部):
1、if(ReHost.Stat==CONNECTED)//这一个用来判断当前连接与否,TCP服务和客户端均可,UDP没有连接一说,所以只能判断首次被连接否。
2、断开连接:CloseTCP(n);//主动断开TCP连接,用于对方没有正常断开就断电,掉线的情况,自己可以根据情况断开连接。
每次连接断开超时3s断开完全。取决于不同软件完善应答与否。
3、发送数据: Send_Data(n,len);//n连接的标号1-5,len有效数据长度
4、接收数据:接收TCP,UDP函数在fu_receive.c,分别为UDP TCP
5、处理数据:fu_app.c文件内 App_Bag(U8 p[],U16 len),p[]是缓存区指针,len长度
6、PS.连接数FU_CONN,数据缓冲FU_LEN,根据RAM大小自定义,一个连接占用16字节
单次发送长度不超过:TCP=1500-20-20=1460 UDP=1500-20-8=1472(实际使用暂未添加分包)
接收长度不受此限制,会自动组包从ENC28J60分步读完,案例是串口发出
Ethernet的最高MTU值则是1500,
而在Internet上,默认的MTU大小是576字节
实际UDP的包长度不要超过MTU值,一般不建议超过1K。
恭喜楼主,贺喜楼主,膜拜。 看来的买个小板回来玩玩 谢谢!!!~~~ 恭喜!有stm32f407的移植例程没? 先收藏,搭个个电路玩一下 Excellence 发表于 2017-1-8 11:54
恭喜!有stm32f407的移植例程没?
我不相信你不会移植哈哈,那个社区有老版本的移植stm32的帖子,其实都差不多的,定时器 IO 改一下就行了,当然stm32可以硬件spi 标记,谢谢楼主分享~! 强烈支持{:smile:} 谢谢楼主分享!!!! 恭喜。联网是趋势,不可抵挡。 不错呀,都出3.0版了 lovewind 发表于 2017-1-8 13:54
我不相信你不会移植哈哈,那个社区有老版本的移植stm32的帖子,其实都差不多的,定时器 IO 改一下就行了 ...
呵呵!。。。。。。。 不错,感谢分享,请教些问题,
1、FuIP3.0 联网是很方便了,但是这个服务器怎么解决呢,如果是真正做产品的话,服务器在别人手上,总感觉不大靠谱。
2、服务器能不能自己可以架设的,然后你们的服务器软件是可以按设备数量收费、或者是按时间来收费.... 等等,如此之类的。 stm32f107+外部phy能不能用? 公众号看到这文章,成功的令我买了一个小板{:lol:} 非常感谢LZ无私奉献,膜拜一下 支持了,楼主辛苦 cocalli 发表于 2017-1-8 21:20
这个是作何不做区别,不会搞搞就差不多了。
哈哈,说的有道理是 zxq6 发表于 2017-1-8 21:33
stm32f107+外部phy能不能用?
自己参考,应该是可以的,非自带协议栈的都可以自己移植 厉害,先参考参考。以后说不定可以用到 kation122 发表于 2017-1-8 21:07
不错,感谢分享,请教些问题,
1、FuIP3.0 联网是很方便了,但是这个服务器怎么解决呢,如果是真正做产品的 ...
你搞混了,FUIP仅仅是一个联网协议栈,是单独的作品,你说的是fuhome物联服务,两者没有什么关系,当然你可以利用fuip开发设备接入服务器,你所看到的fuhome那是面向个人的免费服务,企业用户你要私下跟人家谈,这年头不都是为了经济效益嘛 奇怪了,解压出错。。。winrar重新安装和crack了,也不行?{:sweat:} wkman 发表于 2017-1-9 11:37
奇怪了,解压出错。。。winrar重新安装和crack了,也不行?
你的工具太落后了?我用的好压,其他也有人遇到过,用好压就解决了 lovewind 发表于 2017-1-9 15:18
你的工具太落后了?我用的好压,其他也有人遇到过,用好压就解决了
多谢{:handshake:} 。用7zip,可以解压,删除乱码部分后。编译正常 {:victory:} 。。。{:lol:} 偶用winrar一直没有更新过快10年了吧{:titter:} 感谢分享,膜拜下大神 今天模块应该收到了,晚上回去试试 膜拜大神!学习中! 膜拜!!很早就知道有FUIP了,只是一直没尝试,惭愧! 这个不错;还未用过;学习了 再学习中,感谢楼主分享 不错,了解一下,现在在用LWIP,耗费好多资源 标记.感谢分享! nice.试试看 谢谢楼主无私分享 51小车然后连上网,6的飞起。 楼主,IP首部标识偏移 分片的两个字节怎么是0呢,没发现在赋值0后还在哪里重新处理这两个字节的数据 IP_Head=0;IP_Head=0; dianzidianzi 发表于 2017-2-10 11:29
楼主,IP首部标识偏移 分片的两个字节怎么是0呢,没发现在赋值0后还在哪里重新处理这两个字节的数据 IP_ ...
有可能不支持分片?这部分是别人做的,你需要问本人 好东西,谢谢楼主! 有点发热,后面 就没有考虑使用. 程序不稳定 也最最头疼的. 感谢分享!
页:
[1]