AT命令控制上网 PDP

news/2024/11/25 21:19:39/

AT命令控制上网 PDP

 

1. AT+CGATT=1 (Attach or detach from GPRS service, GPRS 附着状态)

说的简单点,这一步就是让SGSN (服务GPRS节点,你可以把它理解成与基站紧密相连的一台设备,他可能记录你的移动终端的位置,状态等等很多很多信息)知道你的存在并且认为你拥有GPRS功能。由于GSM和GPRS用的都是相同的基站,所以通常你的MS开启,注册上网络了,你就已经是GSM的一个节点了,可以打电话了。但是,如果你想使用GPRS数据业务,你就要附着GPRS服务,这个命令就是干这个的。

 

2. AT+CGDCONT=1,"IP","CMNET" (Define PDP context, 定义PDP 上下文)

如果打算用PDP(Packet Data Protocol )传输数据,你就要为他建立一个背景,就是所谓的上下文,你得告诉SGSN和GGSN (网关GPRS节点,可以把它理解成一台与SGSN和INTERNET紧密相连的设备,它把从SGSN的一些信息处理后发送到INTERNET的服务器同时把服务器的信息处理后再发送给SGSN,SGSN再给你的终端设备)一些基本信息,比如你的本地标识(cid),你希望的pdp_type(这里就是IP),还有你的接入点信息。这里的接入点是CMNET,实际上他应该是一台服务器,是INTERNET和SGSN的纽带。而中国移动公司提供了一个名字CMNET(China Mobile NET),我们通过它就能连接INTERNET了。而在国外,这个参数通常是一个域名性质的东西。另外,得特别注意,就是中国移动人为的分出两种就如方式,我们刚刚使用的是CMNET,另一种是CMWAP,很明显,这个只能上WAP,但是通过他们的HTTP代理服务器,我们已能够上INTERNET,但是仅仅局限于HTTP而已。(有些移动的SIMCARD不支持CMNET接入方式,所以要特别小心,)

 

3. at+CGACT=1,1 (PDP context activate or deactivate, 激活或解除PDP 移动场景)

前面的定义PDP 上下文其实只是说我们有一种想要使用GPRS通信的想法,并且声明了我们想如何使用,但是这仅仅是个概念,如果你真的想付诸实施,就必须让网络知道你的意愿,并且记录你的信息,为你分配资源等等,所以,激活他吧。这个命令里的第一个参数,就是我们前面定义的cid标识值,第二个就是激活状态,如果你想激活,就设置1,如果你想解除就设置0。

 

4. AT+CIPSTART="TCP", ”111.111.111.111”,” 2222”( Start up TCP or UDP connection, 建立TCP 连接或注册UDP 端口号)

如果说前面的都是前期准备工作的话,那么现在就要尝试TCP连接了。这个命令很简单,第一个参数指定连接方式,第二个参数是IP地址,第三个参数是端口号。跟在计算机上写程序是一样的。

 

5. AT+CIPSEND( Send data through TCP or UDP connection, 发送数据)

如果前面连接建立成功你就可以发送数据了,AT+CIPSEND然后加一个回车符,就会出现个命令提示符>(当然这个可以设置),然后就是你的发送数据,最后加个结束符。当然你也可以发送定长数据串,这样就不需要结束符了。

 

6. AT+CIPCLOSE( Close TCP or UDP Connection, 关闭TCP 或UDP 连接)

关闭连接仅仅意味着你的这个连接通道断开了,但是你还可以建立新的连接,同时也意味着你的本地的IP地址并没有变。你的IP地址是在激活的时候分配的。

 

7. AT+CIPSHUT( Disconnect wireless connection, Close Moving Scene)

关闭移动场景,当你执行这个的时候你就进入IP INITIAL 状态,如果你再重新尝试连接的时候你的本地IP地址很可能已经就不是原来的了。

 

需要注意的一些问题:

1. 通常上面提到的前三个命令我们基本不需要使用,因为默认值都符合我们刚刚的要求,而芯片基本把这些事情都做了。可以通过相应的查询命令获得这些信息,如果有不符合的,可以另行处理。

 

2. 有些移动的SIMCARD不支持CMNET接入方式,所以要特别小心,当你发现你所有的参数都正确,能够发送短信和打电话,就是无法连接或者连接总是失败,你就该检查你一下你的卡到底支不支持CMNET接入方式。全球通基本两种接入方式都支持,而动感地带和神州行就不一定了。

 

3. 如果你查询的状态总是+PDP: DEACT,就是说无法激活,那你应该看看天线是否接牢固或者是否有断线的地方。

 

4. 在进入业务操作之前,确保你的模块没有工作在最小功能模式(minimum functionality),你可以通过AT+CFUN查询模块的工作状态。

 

5. 在尝试连接一个服务器和某个端口之前,最好先在计算机上用SOCKET工具连接一下,看看是否是通的,有些网络和防火墙很可能会封杀端口的,如果你寻找或调试了一天后,发现是这个问题,唉,大家知道会有多郁闷。(另外SP可以为你的ADSL分配动态或者固定公网IP,有些在ipconfig或者网络设置里显示两个IP,别混淆了)

socket 调试工具下载地址:http://www.onlinedown.net/soft/55038.htm

 

 

6. 在尝试连接(AT+CIPSTART)之前,一定要查询(AT+CIPSTATUS)当前状态,一共有下面几种状态

0 IP INITIAL Initializing state

1 IP START Starting State

2 IP CONFIG Configure Scene

3 IP IND Accept Scene Configuration

4 IP GPRSACT Scene Activated

5 IP STATUS Get Local IP Address

6 TCP/UDP CONNECTING establish connection state with SERVER

7 IP CLOSE Connection has been closed

8 CONNECT OK Connection Established Successfully

9 PDP DEACT Detach from GPRS network

而AT+CIPSTART只在IP_INITIAL、IP_CLOSE、IP_STATUS三种状态下才能正确建立连接,否则返回ERROR。所以有时候会连接失败(比如信号不好等原因),而模块通常会进入TCP/UDP CONNECTING状态,就是一直不停的尝试连接,而此时如果执行连接命令就会返回错误信息。虽然此时的状态是TCP/UDP CONNECTING,但是实际上很多模块已经不再连接了。只不过处在连接状态上而已,这时你最好通过CIPCLOSE或者CIPSHUT命令,回到一个可连接的状态。

  edit by LongMaosen

 

 

 

上面的步骤在SIM508上并未成功,做以下修正

 

AT+CGDCONT=1,"IP","CMNET"  

OK  

 

AT+CGCLASS?  

 

+CGCLASS: "B"  

 

OK  

 

AT+CGATT?  

 

+CGATT: 1  

 

OK  

 

AT+CGACT=1,1 

 

OK  

AT+CIPSTART="TCP","202.???.??.??","2020"  

OK  

 

CONNECT OK(这个OK与CONNECT OK之间有一定时间间隔的,多等等) 

AT+CIPSEND 

> HELLO 

SEND OK 

 

 

**************************************************************************************************************************************************************************

 

未整理

 

AT+CIPHEAD 在接受到的数据前 添加IP 地址

 

PDP :分组数据协议

 

英文名称:

packet data protocol;PDP 

定义:

移动通信用户在发送和接收分组数据时应用的协议。 

请问什么是Servlet上下文? ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。如,做一个购物类的网站,要从数据库中提取物品信息,如果用session保存这些物品信息,每个用户都访问一便数据库,效率就太低了;所以要用来Servlet上下文来保存,在服务器开始时,就访问数据库,将物品信息存入Servlet上下文中,这样,每个用户只用从上下文中读入物品信息就行了


http://www.ppmy.cn/news/814193.html

相关文章

ML之PDP:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用DT决策树RF随机森林+PDP部分依赖图可视化实现模型可解释性之详细攻略

ML之PDP:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用DT决策树&RF随机森林PDP部分依赖图可视化实现模型可解释性之详细攻略 目录 基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用DT…

Pdp11 simh 虚拟机 运行 unix V6

原文地址:https://github.com/ikarishinjieva/unixV6-code-analyze-chs/wiki/Pdp11%E8%99%9A%E6%8B%9F%E6%9C%BA Table of Contents 概述启动使用调试 调试常用命令 概述 由于源代码分析中,有一些分析基于调试环境,所以在此介绍一下所使用的…

5.2 部分依赖图 (Partial Dependence Plot, PDP)

部分依赖图(短 PDP 或 PD 图)显示了一个或两个特征对机器学习模型的预测结果的边际效应 (J. H. Friedman 200127)。 部分依赖图可以显示目标和特征之间的关系是线性的、单调的还是更复杂的。 例如,当应用于线性回归模型时,部分依赖…

PDP上下文和PDP地址

MS要接入外部PDN,MS还应具有与该PDN相应的地址,称为PDP地址,PDP地址是用于外部分组数据网识别MS的PDP上下文时使用的地址。如用手机上GPRS时,就会给你分配PDP报文,可以理解成由PDP context得到IP地址上网,它是保存与一条数据传输路由相关的所有参数,它包含的参数随着在无线网中…

Paper:可解释性之ICE/PDP《Peeking Inside the Black Box: Visualizing Statisti窥视黑盒内部:用个体条件期望ICE图可视化统计学习》翻译与解读

Paper:可解释性之ICE/PDP《Peeking Inside the Black Box: Visualizing Statistical Learning with Plots of Individual Conditional Expectation-窥视黑盒内部:用个体条件期望ICE图可视化统计学习》翻译与解读 目录 Paper:《Peeking Inside the Black…

GPRS PDP APN

**GPRS 中的PDP上下文名词解释 PPP,PDP原理以及同socket的关系 APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。对于手机用户来说,可以访问的外部网络类型有很多,例如&#…

Java设计模式之创建型-单例模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色分析 四、案例分析 1、饿汉模式 2、懒汉模式(线程不安全) 3、懒汉模式(线程安全) 4、双重检索模式 5、静态内部类 6、枚举 五、总结 一、基础概念 单例模式确保一个类只有一个…

pdp部分依赖图

目录 一、作用 二、存在的问题 三、代码 3.1 单特征对预测结果的边际效应 3.2 两个特征对预测结果的边际效应 一、作用 【定义一】:部分依赖图(Partial Dependence Plot)显示了一个或两个特征对机器学习模型的预测结果的边际效应 【定…