5883|13

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

GPRS拨号上网,加分ing.... [复制链接]

用的TC35模块,用AT指令呼叫拨号

at
OK
AT+CGMR            
533c09gg.2C2 1752988 062802 17:21

OK
AT+CGCLASS="B"            
OK
AT+CGDCONT=1,"IP","CMNET"  
OK
AT+CSQ
+CSQ: 30,0

OK

AT+CGACT=1,1               
OK
AT+CGREG?                  
+CGREG: 0, 5                  //查了很多资料说“0,1”为正常 ,但是我呼叫的一致时0,5不知道是什么意思?请教!

OK

ATD*99#       //之后收固定的乱码大约6,7行样子,就NO CARRIER了,呼叫*99***1#结果是一样的

请教下,为什么?怎么才能让GPRS网络连接上不断呢?是不是我的AT指令有问题?

最新回复

ok 谢谢大家~~~解决了,自己写了个协议栈一切都搞定~不过公司改用带协议栈的模块了...我的个妈呀,逗我...  详情 回复 发表于 2009-5-11 09:20
点赞 关注

回复
举报

57

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
GPRS模块在Linux平台上ppp拨号上网总结与心得

[url=http://blog.chinaunix.net/u2/76263/showart_1870934.html][/url]
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
只通过超级终端拨号是不能成功的,因为在你ATD*99#以后,网络会给你发送过来一系列的握手信息,你必须要及时回应网络,否则就会给你发送NO CARRIER了。这些握手动作可以由具体的协议来支持,如果你想拨号并建立连接,那就要自己调用TAPI来编程实现了,比如lineConfigDialogEdit这些函数,或者更上一层的话,调用RAS来建立连接,不知楼主采用的是哪一款操作系统呢?我以上是按CE的方法来说的。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 Roy_ly 的回复:
只通过超级终端拨号是不能成功的,因为在你ATD*99#以后,网络会给你发送过来一系列的握手信息,你必须要及时回应网络,否则就会给你发送NO CARRIER了。这些握手动作可以由具体的协议来支持,如果你想拨号并建立连接,那就要自己调用TAPI来编程实现了,比如lineConfigDialogEdit这些函数,或者更上一层的话,调用RAS来建立连接,不知楼主采用的是哪一款操作系统呢?我以上是按CE的方法来说的。



恩,确实,如果使用上的话应该是在wince5或wince6下使用,现在在pc上用TC35来叫AT指令,来测试,现在用系统自带的拨号能连上,但是想要自己用AT指令来完成呼叫的事,不知道能不能给点指教,
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
AT
OK
AT+CGDCONT=1,IP,"CMNET",010.000.000.172
OK
AT+CGDCONT?
+CGDCONT: 1,"IP","CMNET","10.0.0.172",0,0
OK
AT+CGQREQ=1,2
OK
AT+CGATT=1
OK
AT+CGATT?
+CGATT: 1

OK
AT+CGATT=?
+CGATT: (0,1)

OK
AT+CGACT=1,1 (此处有几次是AT+CGACT=1,1 返回OK。但依然在CONNECT后...NO CARRIER)
ERROR
AT+CGACT=?
+CGACT: (0,1)

OK
AT+CGACT?
+CGACT: 1,0

OK
AT+CGDATA=PPP,1
CONNECT
~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'
衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}
"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~
~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'
衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}
"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~
~ }#?}!}#} }=}!}$}'衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~~ }#?}!}#} }=}!}$}'
衹"}&} }*} } }'}"}(}"}%}&m?)}#}%?}%.'~
NO CARRIER
出现"NO CARRIER"应该是没有连接上,但我不知道为什么出现这种情况,而且如果我直接用ATD*99#拨号,最后也会出现NO CARRIER,不知为什么?


再说的详细点吧,就是这样的,看别人的帖子有的说要自己来定ppp协议栈?不是吧,在wince平台上打算用C#语言来实现的,不知道可行不可行,莫非必须用到C++/c?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
你这里使用ATD*99#和ATD*99***1#其实在程序中实现是一样的.
出现NO CARRIER的原因是进行PPP协商时,串口这边未给网络端回复PPP协商包。
你可以使用调制解调器创建一个拨号连接来实现拨号上网;
或者可以使用AT命令建立链接,向服务器端发送和接收数据。
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 liuxu2559 的回复:
你这里使用ATD*99#和ATD*99***1#其实在程序中实现是一样的.
出现NO CARRIER的原因是进行PPP协商时,串口这边未给网络端回复PPP协商包。
你可以使用调制解调器创建一个拨号连接来实现拨号上网;
或者可以使用AT命令建立链接,向服务器端发送和接收数据。



请教下,这个怎么实现?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
不好意思,我在TC35的AT指令集中没有找到相关的命令.
各模块厂家在这块还是有比较大的差异的。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

9
 
TC35I不带TCP/IP协议栈,必须自己写。
拨号指令ATD后,要自己写PPP协议进行握手联网。
PPP协议有3个主要的部分:  
1.完成链路建立,配置的数据链路控制协议(LCP)。
2.用户认证(PAP/CHAP)
3.为网络层协议族配置不同的网络层协议的网络控制协议(NCP/IPCP)。

获取移动内部网络IP 10.x.x.x后完成PPP协商。这时就可以进行TCP/IP操作了。

具体协议参考RFC文档:RFC1661、RFC1994、RFC1332、TCP-IP详解卷1
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
要实现拨号上网,不能用串口敲AT命令的方式实现。
必须用已有软件,或者自写软件,当AT返回连接成功时,立即以符合TCP/IP协议的网络接口来进行通讯。

如果不想用已有软件或自写软件,那么就需要寻找内建TCP/IP协议栈的模块,国内的龙旗、展讯等都有。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 lengqing1309 的回复:
TC35I不带TCP/IP协议栈,必须自己写。
拨号指令ATD后,要自己写PPP协议进行握手联网。
PPP协议有3个主要的部分:  
1.完成链路建立,配置的数据链路控制协议(LCP)。
2.用户认证(PAP/CHAP)
3.为网络层协议族配置不同的网络层协议的网络控制协议(NCP/IPCP)。

获取移动内部网络IP 10.x.x.x后完成PPP协商。这时就可以进行TCP/IP操作了。

具体协议参考RFC文档:RFC1661、RFC1994、RFC1332、TCP-IP详解卷1


就像楼上两位说的,我想要的就是自己用AT指令来建立连接,之后的握手自己来写,主要是这个握手怎么来做,以前没有做过类似的东西,有点蒙,哪位能给个例子什么的,不胜感激,可以发到我邮箱butterflyle@21cn.com谢谢了
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
用串口助手调试了下,看见乱码的16进制显示时这样的,但是不明白什么意思,抽取其中一行发上来了,其他行内容也一样

7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 36 7D 21 7D 24 7D 25 DC 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 26 B4 7E
不明白什么意思.在ATD*99***1#之后出现的.
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

13
 
可以参考一下PPP协议.
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

14
 
ok
谢谢大家~~~解决了,自己写了个协议栈一切都搞定~不过公司改用带协议栈的模块了...我的个妈呀,逗我...
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表