关于西门子GPRS模块应用遇到的问题
看大家用西门子的GPRS模块挺多的,目前我在试用西门子的MC52i,遇到很多问题,想请教一下大家:
1、GPRS模块开机侦听基站信息,然后发送入网请求,通过鉴权后就相当于“有信号了”。开机连接基站过程应该是这样吧?以前用Wavecom的Q24plus的时候,这个过程只需要10秒左右,而现在的MC52i居然至少需要40秒,动辄47-55秒,这个时间相差也太多了吧。然后用示波器看连接基站过程的波形。发现Q24plus开机后只侦听大概5秒左右(电流小),就开始发入网请求(大电流出现),然后10秒左右成功入网;再看MC52i的波形,发现它居然一直侦听30-40秒,然后才出现大电流,发入网请求。为什么时间会相差这么多?难道是模块设置的问题?可看文档时又没有发现什么命令与这个有关系,请大侠指点下
--------------------------------------------------------------------------
用西门子的MC52i做实验,若干个GPRS模块一起,服务器是自己写的基于socket的小软件,流程大概是这样:
1、每隔5分钟向服务器发送一组数据
2、服务器采用异步多线程方式,监听端口,收到连接请求便开新线程处理
3、服务器收到数据最后的结束标志后,认为完全接收完数据,便主动释放连接
4、服务器主动释放连接后,GPRS模块会得到一组提示,得到提示后便直接断电,进行下一个循环,否则一直等待提示信息,超时(大概3分钟)也直接断电
(因为只是试验,没有作重传处理,也可暴漏GPRS传输数据中会出现的问题)
理论上,服务器收到数据,主动断开连接,然后GPRS模块收到提示,随即断电,这才是正常流程。偶尔有这样的现象:
GPRS已经连接到服务器,GPRS收到正确状态提示后开始发送数据,但数据已经发送(已经通过串口发到GPRS模块),而服务器一直没有收到数据,如此一来两边便都开始无尽的等待……直到GPRS模块超时断电,服务器异常,释放连接。
好吧,虽然可以进行重传处理,但是还有几个问题如下:
1、实际上我并不知道数据什么时候或者有没有通过移动的空中接口发送出去,因为我只是通过单片机串口,将数据传到了GPRS模块,然后便是链路层处理了,是这样吧
2、以前有前辈说过,要在应用层‘控制’我们并不能控制的链路层,目前想到的解决方法就是超时重传。不知道还有没有其他的办法?
3、这个真的是链路层的问题么?因为试验中若干模块只有一个这样的现象多一些
4、如果真的是链路层问题,那到底是哪部分或者哪个流程出现问题了呢?模块向基站传送?基站向网关传送?网关向路由传送?路由向服务器传送????
5、以前用网友提供的TCP/IP服务器软件,有时也有这样的问题,挂上连接,显示有数据传过来了,显示得却是一片空白(我发送的都是可见字符),莫非是我的服务器软件相对没问题,绝对就有问题了:-D,哈
[解决办法]
对我来说都是高级的,就接触国TC35
[解决办法]
有人么……