当前位置:
工控论坛
> >
产品
>
工业互联
>
无线通讯
我要发帖
GR47发送数据长度问题?请高手解决
点击:
1639
| 回复:
13
satellite111
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 2回
年度积分:0
历史总积分:5
注册:2004年9月23日
发表于:2004-09-23 09:30:00
楼主
GR47在进行GPRS发送时发现,发送大于255字节的数据GR47将进行内部以255字节进行分包,在接收端PC机发现,接收并不是一次接收,而是多次接收,每次最大为255字节。多次接收的总长度与发送长度相同。 更改通信参数AT*E2IPS=1,2,1,1024 后,大于255字节的数据仍不能以一帧数据发送出去,GR47还要对其分包 请问能否让GR47把大于255<1000字节的数据一次且不要分包,发送出去
分享到:
收藏
邀请回答
回复楼主
举报
yjd99
关注
私信
精华:0帖
求助:0帖
帖子:5帖 | 13回
年度积分:0
历史总积分:31
注册:2003年7月11日
发表于:2004-10-11 17:55:00
1楼
不知你用的是TCP还是UDP,如果是UDP,那么每包只能到255个字节,如果多余的话,GR47会自动打包,如果是TCP,那么第一次是只能发255个字节,以后可以发255-1000个字节,不过最好不要超过800个字节,而且如果传输数据量大的话,每帧的发送间隔时间要长一些。 我们是索爱M2M产品的亚太区代理,您有什么问题或要求可以联系我们。电话:010-82572242/2252 联系人:于先生
回复
引用
举报
思雪
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 10回
年度积分:0
历史总积分:16
注册:2004年10月10日
发表于:2004-10-11 19:06:00
2楼
设置最大传输单元,就可以修正每次最大传输的字节,我试过,可以传输1024字节。 我编的GPRS远程数据采集及传输质量控制系统可以自动判定下位数据长度,到DSC(数据中心)可以自动还原,在UDP协议下也能实现永不掉包。 http://gprsgos.21e.cn
回复
引用
举报
林湘建
关注
私信
精华:18帖
求助:0帖
帖子:49帖 | 1012回
年度积分:0
历史总积分:1686
注册:2003年4月07日
发表于:2004-10-12 11:45:00
3楼
yjd99: 那么TCP的呢?请赐教! 厦门桑荣科技有限公司 手 机:13328783071(联通)13950074071(移动) 直线电话: 0592-5908790 技术交流:MSN: lxj7871@tom.com QQ:17817807
回复
引用
举报
思雪
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 10回
年度积分:0
历史总积分:16
注册:2004年10月10日
发表于:2004-10-12 12:58:00
4楼
很简单,TCP与UDP是Transfer Layer的,而MTU(最大传输单元)是Physical Layer的,设置了MTU后,无论是TCP还是UDP都适用,前面所论UDP最多只能传输255字节是错误的。 在数据采集最常大的情况下,也就是流量很大的情况下,比如地震记录采集,如果使用TCP则网络承载非常大。因为TCP和UDP的最大区别在于,TCP的每一个帧都要ACK(确认),如果在一定的时间内得不到ACK则要重发,这样极易造成网络DOWN。建议在数据流量大时采用UDP,通过其他手段达到Qos保证。
回复
引用
举报
yjd99
关注
私信
精华:0帖
求助:0帖
帖子:5帖 | 13回
年度积分:0
历史总积分:31
注册:2003年7月11日
发表于:2004-10-12 16:26:00
5楼
re:林湘建 GR47在进行tcp传输时,一帧最大为1024个字节 To:思雪 不知道您说的MTU如何设置?能否告知您用的是GR47吗?
回复
引用
举报
思雪
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 10回
年度积分:0
历史总积分:16
注册:2004年10月10日
发表于:2004-10-12 17:22:00
6楼
查使用说明书,肯定有这一设置,MTU(最大传输单元)的有效范围应用是0-1000,这里是指真正的有用数据,不包括帧头和校验位,也就是发向GPRS DTU的数据最大位是1000。我对此作了修正,将接收的数据转为16进制表示,如255表示为FF,只占一位,65536表示为FFFF,只占两位,这样处理后,可以扩展很多。不过这样做涉及到编码和封装,技术要求较高,且要用自己的程序去封装和解包。如果你只作为使用方,其实你无需关心长度是512还是1000.如果下位来的数据长度为900,最大传输单元为512,在传输时自动就分成512+388,在DSC就成了两个帧的数据,不过要求第三方分析软件应该能识别才能,如何不能识别就说明其移殖性不好,就需要引入传输质量控制系统。
回复
引用
举报
wohozo
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 4回
年度积分:0
历史总积分:7
注册:2003年8月01日
发表于:2004-10-13 14:41:00
7楼
根据经验每次传输的数据祯越长,越容易丢失,是不是确实如此???
回复
引用
举报
twodiamond
关注
私信
精华:1帖
求助:0帖
帖子:3帖 | 9回
年度积分:0
历史总积分:28
注册:2005年9月01日
发表于:2005-09-15 12:22:00
8楼
请教林工、yjd99和宇航 : GR47的文档的确说是支持最大的TCP包为1020、UDP包为255。但是采用TCP协议时,任何一次发送,只要数据长度大于255,肯定会被拆包,被拆包的第一个总是255长度,所以我怀疑yjd99说的:第一次是只能发255个字节,以后可以发255-1000个字节,的意思应该是每次吧。 我用GR47的DEMO板也是这种情况,我想可能是哪个地方没设置对。请大家赐教,特别是宇航兄,不知是否已经解决问题。 非常感谢!
回复
引用
举报
绯色
关注
私信
精华:1帖
求助:0帖
帖子:3帖 | 52回
年度积分:0
历史总积分:73
注册:2005年6月17日
发表于:2005-09-15 13:58:00
9楼
TCP:第一次只能是255,后面每次可以为255—1020,可以通过参数AT*E2IPS来设置以后传送的包的最大长度。只能说GR47是可以这样进行设置的 UDP:每次只能255
回复
引用
举报
twodiamond
关注
私信
精华:1帖
求助:0帖
帖子:3帖 | 9回
年度积分:0
历史总积分:28
注册:2005年9月01日
发表于:2005-09-15 17:03:00
10楼
请教绯色: 文档里是这样说的,可以通过参数AT*E2IPS来设置以后传送的包的最大长度, 其实它默认的设置就是最大TCP包长为1020,不知道应该怎样改动这个设置? 另外能否请绯色指教,用DEMO板测试时,需要怎样设置GR47的E2IPS命令? 谢谢!
回复
引用
举报
绯色
关注
私信
精华:1帖
求助:0帖
帖子:3帖 | 52回
年度积分:0
历史总积分:73
注册:2005年6月17日
发表于:2005-09-15 17:22:00
11楼
AT*E2IPS: 2,10,2,包的长度,0;后面如果有第5个参数就照抄;如果没有就不用 使用DEMO板时只需在串口用AT命令修改就可以啊。 如果还是不明白请直接给我打电话,我们是索爱模块总代理,可以为你解答 010—58816076-806 郝先生
回复
引用
举报
littleke
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 10回
年度积分:0
历史总积分:20
注册:2003年1月08日
发表于:2005-09-20 12:25:00
12楼
其实数据量的限制是因为缓存大小引起的。为了系统稳定,数据传输的实时性和可靠性我建议在上位机控制程序中将数据分包发送。
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-09-27 18:15:00
13楼
别用了,越用你越会感到恐怖,只玩3、5片还可以,用多了,哭都来不及。 几种常见的通讯模块,我们都批量用过,根本就是骗子,尤其是gr47.
回复
引用
举报
热门招聘
相关主题
一致性软件与SST板卡安装手记...
[1820]
综述:现场总线之争是国际大公...
[2407]
现场总线P-NET
[2049]
SPC3和SPC4、SPC4-1、SPC4-2的...
[2521]
热点: 用铜线实现宽带接入
[4079]
我想学习现场总线,不知道哪种...
[1728]
高效逻辑环
[1599]
[2696]
应用现场总线若干问题的思考
[5839]
原创:数据帧校验总结(CRC_LR...
[7278]
官方公众号
智造工程师
客服
小程序
公众号