搜索
bottom↓
回复: 18

华为GTM900B 数据传输相关问题寻求解答

[复制链接]

出0入0汤圆

发表于 2010-6-12 11:14:31 | 显示全部楼层 |阅读模式
这是我平时实验时的记录ourdev_561309.txt(文件大小:6K) (原文件名:新建 文本文档.txt)
这是不同连接方式的返回数据ourdev_561310.txt(文件大小:6K) (原文件名:新建 文本文档 (2).txt)
感谢苹果猫的提示,你的建议是对的!
1.传上去的那2个文本,就是我在实验过程中的流程和返回信息,我觉得数据是发送成功了,但是却不知道如何检测对方是否成功接收到数据;
2.用通过GPRS模块向我的PC机(ip地址为192.168.0.242内网地址或者117.95.55.89外网地址)向发数据,均是始终无法用“TCP”连接,只能“UDP”连接,可不知道是为什么;
3.想实现PC机通过ip地址“192.168.0.1”与GPRS模块互传数据,却不好定端口,而且我在网上看到过这样的描述“ 我们在做测试时,应当注意到如下事实:在采用公网的Apn(“cmnet”)的条件下,如果我们用f2103 IP Modem主动向公网上的一个静态公网IP地址发起TCP连接,只要这个公网上的机器确实有侦听相应的端口,这样是可以连上的;但是相反地,如果是由公网上的静态IP向f2103 IP Modem动态获得的IP地址主动发起的TCP连接将不会成功。这个现象的原因是:实际上f2103 IP Modem获得的动态IP地址是移动的一个特殊的内部网段上的地址,这个特殊内部网段里的地址如果要和外部网(公网)的地址进行TCP通信,必须通过一个类似于TCP代理(或者NAT)的设备进行通信的转发。换句话说,这个动态地址对于网络上的其他机器来说是不可访问的。 ”
不知道,您是怎样理解的这段话的,多谢赐教!
4.对于IP和其相应的端口,应该怎样使用,才不会导致返回
ERROR 5: TCP 连接超时,可能IP 和端口不正确
5.如果是用一个GPRS 模块作为主控中心,其余多于10台的GPRS模块作为子机,仅仅是子机自动联系主机,进行互发数据,子机之间不联系,那又该怎样设置呢?
虔诚请教!期待着大家的热情回复!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出1070入962汤圆

发表于 2010-6-12 11:39:20 | 显示全部楼层
1.传上去的那2个文本,就是我在实验过程中的流程和返回信息,我觉得数据是发送成功了,但是却不知道如何检测对方是否成功接收到数据;

我没仔细看那两个文档,我能确定的是,你的SIM卡正常,信号正常,注册正常,GPRS访问权正常,唯一确定有问题的是你的服务器。好像你连接别人的服务器都有回应,连接你自己的服务器没有成功。你自己的服务器需要在公网上开通一个端口,将你的服务器在公网的地址以及这个端口填入到IPSEND指令中去才能连接成功。你的服务器需要运行一个TCP服务软件,并且在你指定的这个端口进行监听,公网到你内网的端口,可能还要在路由器上做一个端口映射,具体看你是啥路由器。具体如何操作请看这个帖子http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4015814&bbs_page_no=1&bbs_id=3045

2.用通过GPRS模块向我的PC机(ip地址为192.168.0.242内网地址或者117.95.55.89外网地址)向发数据,均是始终无法用“TCP”连接,只能“UDP”连接,可不知道是为什么;

这个问题的原因同上。就是你的服务器有问题导致TCP无法连接,UDP不是面向连接的协议,所以不管服务器如何,它总能成功。

3.想实现PC机通过ip地址“192.168.0.1”与GPRS模块互传数据,却不好定端口,而且我在网上看到过这样的描述“ 我们在做测试时,应当注意到如下事实:在采用公网的Apn(“cmnet”)的条件下,如果我们用f2103 IP Modem主动向公网上的一个静态公网IP地址发起TCP连接,只要这个公网上的机器确实有侦听相应的端口,这样是可以连上的;但是相反地,如果是由公网上的静态IP向f2103 IP Modem动态获得的IP地址主动发起的TCP连接将不会成功。这个现象的原因是:实际上f2103 IP Modem获得的动态IP地址是移动的一个特殊的内部网段上的地址,这个特殊内部网段里的地址如果要和外部网(公网)的地址进行TCP通信,必须通过一个类似于TCP代理(或者NAT)的设备进行通信的转发。换句话说,这个动态地址对于网络上的其他机器来说是不可访问的。 ”
不知道,您是怎样理解的这段话的,多谢赐教!

就是说,GPRS模块访问公网上某个IP地址是可以的,倒过来就不行了。所以GPRS模块不能当作服务器。


4.对于IP和其相应的端口,应该怎样使用,才不会导致返回
ERROR 5: TCP 连接超时,可能IP 和端口不正确

解决了第1个问题,这个错误就不会出现了。

5.如果是用一个GPRS 模块作为主控中心,其余多于10台的GPRS模块作为子机,仅仅是子机自动联系主机,进行互发数据,子机之间不联系,那又该怎样设置呢?

GPRS模块之间是不能互相连接了,中移动不允许,中联通不清楚。但是不建议,你觉得一个GPRS模块能够强悍到作为主控中心来接受其他数十个模块的连接吗?所以还是公网的计算机做服务器,所有的GPRS模块连接这个服务器才是正道。

出0入0汤圆

发表于 2010-6-12 13:48:35 | 显示全部楼层
EM310上有个模块作为服务器监听的命令AT%IPLISTEN,最多可以同时开启三个客户端,按照Appcat的说法,就是这个功能实际上是没办法使用的是吧?
如果我申请专门的APN,SIM卡上绑定IP的话是否可以?

另外,能不能麻烦Appcat帮我看下我之前提过的问题:

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4088505&bbs_page_no=1&bbs_id=3045

出1070入962汤圆

发表于 2010-6-12 14:27:29 | 显示全部楼层
使用专用APN卡可以实现,不过这种有必要吗?

至于WAVECOM的模块,没有用过,不好回答。

出0入0汤圆

 楼主| 发表于 2010-6-12 16:21:01 | 显示全部楼层
回复【1楼】Appcat 苹果猫
-----------------------------------------------------------------------
首先,非常感谢您的回复啊!知道了原因出在哪里,就可以对症下药了。呵呵
另外,还有这几个疑问,

at+cgdcont?
+CGDCONT: 1,"IP","cmnet","",0,0

OK
at%etcpip=,,1
OK
%IPCLOSE: 5
at%etcpip?
%ETCPIP:0,,,,

OK
at%etcpip=,,1
OK
at%etcpip?
%ETCPIP:1,"172.16.34.99",,"221.6.4.66","221.6.4.67"

OK
at%ipopen="tcp","202.206.1.26",23
CONNECT
%IPDATA:3,"FFFD18"
%IPDATA:1024,"FFFA1801FFF0FFFB01FFFB03FFFB00FFFD1FFFFD001B5B481B5B4A1B5B6D1B5B31
3B31481B5B481B5B4A1B5B313B33366D2020202020202020202020202020202020202020201B5B33
316DA6E6201B5B33376DBBB6D3ADDDB0C1D9BAD3B1B1B4F3D1A7D1E0D5D4424253D5BE201B5B3331
6DA6E60D0A202020201B5B33346D57656C636F6D6520746F2059616E5A68616F2042756C6C657469
6E20426F6172642053797374656D202842425329206F6620486542656920556E6976657273697479
0D0A0D0A2020202020202020202020202020202020202020202020202020201B5B33316D5D652020
20202020202020202020202020202E7A2C0D0A20202020202020202020202020202020202020202E
7A7A2020202E6127202020202020202020202020202020206040270D0A2020202020202020202020
202020202020202020205D40202020644C5F5F2C20202020202020202020202020205D4020202020
202020294C0D0A202020202020202020202020202020202020205F7A61407E7E5D407E7E27202020
2020202020202020202020205D405F7A202020202064720D0A202020202020202020202020202020
202020202222602D5F2E644C20202E202020202020202020202020205F7A4040407E2060404C2E61
270D0A202020202020202020202020202020202020205F20296440407E7E27207C20202020202020
2020202020205D4040405B202020604040400D0A2020202020202020202020202020202020206040
202020205F5F5F202E4C7A27202020202020202020202020205D4040405B202060404C0D0A202020
20202020202020202020202020207A7A402029407E7E5D40505D402220202020202020202020205F
5F2D404022202020206440404C0D0A2020202020202020202020202020202020227E5D5F60405F5F
645B2E604C2020202020202020202E727E222E205D407A7A2C205D407E5D404C0D0A202020202020
2020202020202020202020205F645B207E407E7E2720207E4065202020202020202020202061205D
407222275D7E22206040500D0A2020202020202020202020202020202020297E2722202020202020
2020202020202020202020202020205D407A64405F2020272020202020270D0A2020202020202020
202020202020202020202020205F5F2020205F5F2C20202E5F2C202020202020202E257E7E7E7E7E
7A4C5F0D0A20202020202020202020202020202E5F7A22202020607E202020607E202020605D4062
20202020205F2527202020202020227E2D2D5F5F0D0A2020202020202020202020202020207E2720
2020202020202020202020202020207E272020202020222020202020202020202020207E40404040
40407A7A0D0A0D0A0D0A1B5B33326DBDCCD3FDCDF83A6262732E6862752E65"
%IPDATA:371,"64752E636E20B9ABD6DACDF83A6262732E6862752E636E202074656C6E6574B6CBB
FDA20323320777777B6CBBFDA2038301B5B6D0D0A1B5B32313B31481B5B6D1B5B6D1B5B313B33356
DBBB6D3ADB9E2C1D91B5B313B33336DA1BE20D1E0D5D442425320A1BF201B5B313B33326DB1BED5B
ED2BBB9B2BFC9D2D4C8C3201B5B313B33366D34303030301B5B6D201B5B313B33326DC8CBD7A2B2E
1CAB9D3C31B5B6D0D0A1B5B313B33326DC4BFC7B0C9CFD5BEC8CBCAFD3A201B5B313B33366D20373
5311B5B313B33326D5BD7EEB8DF3A1B5B313B33366D20313230351B5B313B33326D5D281B5B313B3
3366D3732391B5B313B33326D20575757204755455354292C61646420602E2720616674657220796
F757220494420666F7220424947351B5B6D0D0A1B5B313B33336DC7EBCAE4C8EBB4FABAC51B5B6D2
8CAD4D3C3C7EBCAE4C8EB20271B5B313B33366D67756573741B5B6D272CD7A2B2E1C7EBCAE4C8EB2
71B5B313B33316D6E65771B5B6D27293A20"
at%ipsend="0102030104ef"
%IPSEND:15

OK
%IPDATA:1,"EF"
at%ipsend="01020304ef"
%IPSEND:15

OK

OK
at%ipsend="0102030104ef"
%IPSEND:14

OK
at%ipsend="01020304ef"
%IPSEND:13

OK
at%iptxstate?
EXT: I

ERROR
at%xstate?
EXT: I

ERROR
at%txstate?
%TXSTATE:
1,4,1
2,0,0
3,0,0

OK

如上,刚连接上时,怎么会有一连串数据回返呢?
而且,之后发送4次数据,是否可以看出数据成功发送4次,可成功接受仅一次?
其中,第一次发送的,为何返回“%IPDATA:1,"EF"”,默认缓存不打开的情况,有效数据为何是“EF”呢,这怎样理解呢?


这是第二种端口连接:
at%ipopen="tcp","202.206.1.26",80
CONNECT
at%ipsend="01020304ef"
%IPSEND:15

OK
at%ipsend="0102030405ef"
%IPSEND:15

OK
at%txstate?
%TXSTATE:
1,2,2
2,0,0
3,0,0

OK
发现返回“发送窗口大小”始终是15,不像第一次那样依次减一。
不知道这两种返回数据又该怎样解释呢?
三:
而且,我实现不了你的这样返回结果
AT%IPSEND="683100310068c90896060000027400000100e416"

%IPSEND:15

OK
%IPDATA:20,"683100310068C90896060000027400000100E416"
我只能返回
%IPSEND:15

OK
就结束了,是哪里的设置不同吗?

出1070入962汤圆

发表于 2010-6-12 16:28:10 | 显示全部楼层
上面的问题就是,你访问的不是你自己的服务器,所以返回来的数据没有任何参考意义

先建立你自己的服务器,再来捋一边思路和问题,你就清楚了,GPRS刚刚上手,不要贪多

出0入0汤圆

 楼主| 发表于 2010-6-12 17:01:47 | 显示全部楼层
噢,好的!正在解决服务器的问题
非常感谢啊,呵呵!

出0入0汤圆

发表于 2010-6-18 14:12:31 | 显示全部楼层
回复【4楼】jwn1229
-----------------------------------------------------------------------
你在做测试,连接别人的服务器,默认是,有连接就发送数据
哈哈

出0入0汤圆

发表于 2010-6-21 13:30:16 | 显示全部楼层
搂主的问题,简单
www.cdbocon.com

出0入0汤圆

发表于 2010-8-14 15:10:00 | 显示全部楼层
还没学这么高深,先mark

出0入0汤圆

发表于 2010-8-19 13:17:45 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2011-3-11 15:26:56 | 显示全部楼层
回复【1楼】Appcat 苹果猫
-----------------------------------------------------------------------

哥 我在各大论坛搜索em310都能看到你活跃的身影,看来你还做过其他型号的无线网络通讯。马屁我就不拍了,现在有个问题想请教下大侠 我用em310做大批量数据传送,使用透明传输AT+TPS=4,1,3000,1024  可是,每当发送到大概不到12000个字节的时候em310缓冲区就满了 然后单片机发送的数据em310就接收不到了 然后我的程序就乱了。 不知道大侠做过这个没有,能不能监测缓冲区的情况? 想做大批量数据传输有什么好的方式? 希望能达到每秒钟几k个字节以上,直接回复或者发我邮箱 zhouwei0538@gmail.com 谢谢苹果猫了!!!!!!!

出1070入962汤圆

发表于 2011-3-11 15:42:39 | 显示全部楼层
楼上的朋友,对于EM310里边提供的透传指令,我没有做仔细测试,在简单使用过后决定放弃,完全是一个鸡肋功能。
那个指令的功能比使用IPSEND指令看似简单多了,但是不好控制,很多细节被包裹起来了、,而内部又没觉得很好的处理。

数据在跨越不同类型网络的时候有个MTU的说法,也就是一个网络封包装多少用户数据的问题,透传指令本质上还是在做分包。所以,IPSEND指令最长发送数据报长度是1024字节,也就是说EM310内部是按照1024字节来分包的。建议你考虑修改到IPSEND指令上来。这样,通过观测IPSEND指令回复的数据就能知道内部还有多少空余发送窗口,从而准确得到内部缓冲区的空闲情况,而这些是透传指令做不到的。

还有,中移动的GPRS上行数据只给一个信道,裸速率是14.3kbps,加上GPRS封包,TCPIP封包的开销,实际传输速率是不到1kByte/s的,所以你希望每秒钟传输几K字节是做不到的。做大数据量传输,就需要做好封包,配合应用层协议,保证每一包正确到达。

出0入0汤圆

发表于 2011-12-9 17:11:43 | 显示全部楼层
Appcat 苹果猫的回复总是那么有高度和深度。又学习了...

出0入0汤圆

发表于 2011-12-9 22:18:16 | 显示全部楼层
mark 非常佩服苹果猫 谢谢楼主

出0入0汤圆

发表于 2011-12-11 10:29:20 | 显示全部楼层
回复【12楼】Appcat 苹果猫
-----------------------------------------------------------------------

你自己的服务器需要在公网上开通一个端口,将你的服务器在公网的地址以及这个端口填入到IPSEND指令中去才能连接成功。这一部要怎么去操作呢??

出0入0汤圆

发表于 2012-7-25 20:28:14 | 显示全部楼层
我也遇到LZ同样的问题了,只能通过UDP发送数据,而且服务器接收到的是乱码,通过TCP只能由服务器给客服端发送数据,为什么呢?期待高手解答,感激不尽!

出0入0汤圆

发表于 2012-7-25 20:45:04 | 显示全部楼层
skypeshark 发表于 2011-12-11 10:29
回复【12楼】Appcat 苹果猫
-----------------------------------------------------------------------

同求知道啊

出0入0汤圆

发表于 2013-3-11 11:26:17 | 显示全部楼层
正在搞远程数据传输,学习了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 17:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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