ucos ii 下GPRS模块通过拨号方式进行tcp连接,不知如何下手?

时间:2021-09-05 03:03:43
    现在mcu是stm32 芯片,gprs模块是华为gtm900 ,通过查找资料如果不用模块内部的协议栈的话,自己得在ucos ii上实现ppp协议与tcp/ip协议栈,现在在网上下载了ucip1-0-3,里面就是src 目录下,有相关代码,里面还有makefile,似乎应该在linux下进行编译?我对ucos 不太熟悉,对相关的协议细节也不熟悉,仅仅有个框架的概念而已。我现在的想法是mcu串口与gtm900模块相连,然后ppp及tcp/ip由ucip来实现,不知道这样行不行?现在ucip下载下来了,有源码却不知如何下手?希望大家多提示下!
而且发现uc/ip的资料是相当少,里面自带的就是一个介绍的html,以前如果做的朋友有相关资料的话能否发点资料给我?E-mail:yanys113@163.com

7 个解决方案

#1


这个建议你还是直接利用模块本身的协议吧。。移植的协议问题,还是有一些的。。可以自己来实现,关键是你多熟悉以下UCOS和相关协议。

#2


gtm900内部已经集成了简单的协议栈了,为什么不用
自己用ppp拨号+自己的协议栈很麻烦的

既然你都不熟悉,还是用现成的吧

#3


gtm900使用内部协议发送数据很方便,只需要几条AT指令就行!

#4


同问,为什么不用内部协议栈呢?

用来学习的?那也建议先拿内部协议栈用用吧,一步步来。


自己做的话。
你要完成串口驱动,在串口驱动的基础上写cprs驱动。

上层的完成ppp协议栈和udp协议就可以了。

还有应用层的,看你用来做什么了。

#5


ucosII和ucIP都只是代码库而已~~~~~~~~~~

当成一个个函数调用就好了

#6


华为GPRS模块内置了TCPIP协议栈,给用户开发带来了极大的便利。 

详情请浏览网页 

www.letswireless.com.cn/  
咨询QQ:1013182577  

开机后: 

AT%TSIM  
%TSIM 1  

AT+COPS?  
+COPS: 0,0,"CHINA MOBILE  
OK  


AT+CSQ?  
+CSQ: 31, 99  
OK //以上是确认当前的网络和模块状态  
  

AT%IOMODE=1,1,0      //第一个参数 =1 模块对输入输出数据进行转换,这个时候用户也要对输入和输出数据进行相应转换。  
   //第二个参数 =1 当前使用单链接AT 命令  
   //第三个参数 =0 使用使用接收缓存  

AT+CGDCONT=1,”IP”,”CMNET”    //注册移动的CMNET网关  
OK  


AT+CGREG? 

+CGREG:0,1 // +CGREG:x,5 和+CGREG:x,1 都表示可以使用GPRS网络 


AT%ETCPIP=”user”,”gprs”    //注册用户名密码,GPRS初始化,并等分配IP  
OK          //收到ok后表示分配IP完成,这个时间根据网络有所不同,建议等待时间可以设定为10s,注册过程中做其它AT操作会注册不到IP  

AT%ETCPIP? //查询GPRS初始化是否成功  
%ETCPIP:1,"10.60.126.1",,"211.136.112.50","211.136.20.203"  
OK  

AT%IPOPEN="TCP","61.144.176.175",3000 //设置接收服务器的协议类型,IP,和 端口号  
CONNECT// 连接成功  

AT%IPSEND="31323334354142" //发送数据 12345AB  
%IPSEND:15  
OK  
%IPDATA:1,1,7 //收到数据  

AT%IPDR //读取数据  
%IPDR:1,1,7,"31323334354142" //数据为 12345AB  
OK  


www.letswireless.com.cn/  
咨询QQ:1013182577  
 
__________________________
深圳市鹏泰通讯设备有限公司 www.letswireless.com.cn   
华为正式授权代理渠道商   
华为GPRS模块:EM310,GTM900-C   
华为CDMA模块:EM200   
华为3G模块(WCDMA,EVDO,TD):EM770W,MU103,MC703,MC702,EM560 
技术推广QQ:1013182577  
 

#7


偶也在做这块  自己慢慢体会吧  资料太少了

#1


这个建议你还是直接利用模块本身的协议吧。。移植的协议问题,还是有一些的。。可以自己来实现,关键是你多熟悉以下UCOS和相关协议。

#2


gtm900内部已经集成了简单的协议栈了,为什么不用
自己用ppp拨号+自己的协议栈很麻烦的

既然你都不熟悉,还是用现成的吧

#3


gtm900使用内部协议发送数据很方便,只需要几条AT指令就行!

#4


同问,为什么不用内部协议栈呢?

用来学习的?那也建议先拿内部协议栈用用吧,一步步来。


自己做的话。
你要完成串口驱动,在串口驱动的基础上写cprs驱动。

上层的完成ppp协议栈和udp协议就可以了。

还有应用层的,看你用来做什么了。

#5


ucosII和ucIP都只是代码库而已~~~~~~~~~~

当成一个个函数调用就好了

#6


华为GPRS模块内置了TCPIP协议栈,给用户开发带来了极大的便利。 

详情请浏览网页 

www.letswireless.com.cn/  
咨询QQ:1013182577  

开机后: 

AT%TSIM  
%TSIM 1  

AT+COPS?  
+COPS: 0,0,"CHINA MOBILE  
OK  


AT+CSQ?  
+CSQ: 31, 99  
OK //以上是确认当前的网络和模块状态  
  

AT%IOMODE=1,1,0      //第一个参数 =1 模块对输入输出数据进行转换,这个时候用户也要对输入和输出数据进行相应转换。  
   //第二个参数 =1 当前使用单链接AT 命令  
   //第三个参数 =0 使用使用接收缓存  

AT+CGDCONT=1,”IP”,”CMNET”    //注册移动的CMNET网关  
OK  


AT+CGREG? 

+CGREG:0,1 // +CGREG:x,5 和+CGREG:x,1 都表示可以使用GPRS网络 


AT%ETCPIP=”user”,”gprs”    //注册用户名密码,GPRS初始化,并等分配IP  
OK          //收到ok后表示分配IP完成,这个时间根据网络有所不同,建议等待时间可以设定为10s,注册过程中做其它AT操作会注册不到IP  

AT%ETCPIP? //查询GPRS初始化是否成功  
%ETCPIP:1,"10.60.126.1",,"211.136.112.50","211.136.20.203"  
OK  

AT%IPOPEN="TCP","61.144.176.175",3000 //设置接收服务器的协议类型,IP,和 端口号  
CONNECT// 连接成功  

AT%IPSEND="31323334354142" //发送数据 12345AB  
%IPSEND:15  
OK  
%IPDATA:1,1,7 //收到数据  

AT%IPDR //读取数据  
%IPDR:1,1,7,"31323334354142" //数据为 12345AB  
OK  


www.letswireless.com.cn/  
咨询QQ:1013182577  
 
__________________________
深圳市鹏泰通讯设备有限公司 www.letswireless.com.cn   
华为正式授权代理渠道商   
华为GPRS模块:EM310,GTM900-C   
华为CDMA模块:EM200   
华为3G模块(WCDMA,EVDO,TD):EM770W,MU103,MC703,MC702,EM560 
技术推广QQ:1013182577  
 

#7


偶也在做这块  自己慢慢体会吧  资料太少了