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上下文中,这样,每个用户只用从上下文中读入物品信息就行了

AT命令控制上网 PDP相关推荐

  1. AT:AT命令控制上网 PDP

    https://blog.csdn.net/weixin_33890499/article/details/85999272

  2. 探讨如何在Linux上通过windows的域控制上网( by quqi99 )

    探讨如何在Linux上通过windows的域控制上网( by quqi99 ) 作者:张华  发表于:2012-05-08 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及 ...

  3. ros控制上网时间,网络定时通断

    单位控制上网,原因有二, 一是0点还在上网,将影响身体健康和第二天工作. 只有加入ARP列表的电脑才可以上网.作用有二,一是双绑,作用就不用我多做解释,二是只能到我这来登记注册才可以上网,做到人.机. ...

  4. linux终端上网,ubuntu中上网-如何使用ubuntu下用命令行上网?ubuntu下用命令行上网, 爱问知识人...

    2013-08-01 09:07:16 用于基本接口与IP配置的ifconfig ifconfig工具(interface configurator,接口配置器)提供了一些非常基本但是非常重要的功能. ...

  5. adb bugreport保存位置_图文教程:PC利用adb工具通过CMD命令控制手机动作(备忘笔记)...

    一.通过以下链接下载adb工具包 http://adbshell.com/downloads 1.ADB Kits (525 KB) 2.ADB Driver Installer 二.把两个压缩包解压 ...

  6. adb指令通过uid控制_图文教程:PC利用adb工具通过CMD命令控制手机动作(备忘笔记)...

    一.通过以下链接下载adb工具包 http://adbshell.com/downloads 1.ADB Kits (525 KB) 2.ADB Driver Installer 二.把两个压缩包解压 ...

  7. 控制上网!!!(版本之1.0)

    控制上网! 控制上网!(放到开机启动项中) package com.sxz.timecontroal;import java.util.Calendar;/*** @author sxz 2012/0 ...

  8. 命令控制之Telegram

    文章前言 使用涉交网络作为C2 Server有两个好处,一方面是因为社交网络的服务器稳定,另一个方面是因为在于其通信的数据可以隐藏在正常的流量中,不容易被发现,本节主要是"站在巨人的肩膀&q ...

  9. Am3358增加Uboot的logo显示 增加Uboot自定义命令控制LCD

    本文的内容如下: 一. 简单介绍一下AM335x的时钟域的概念,然后讲解如何配置LCDC的时钟 二. 讲解LCDC的寄存器的内容和如何根据所选的LCD屏的特性进行时序上的配置 三. 介绍用bmpToR ...

最新文章

  1. matplotlib01-plot折线图、scatter散点图
  2. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释
  3. golang 字符串 去首尾字符
  4. python语言及其应用-[读书笔记] Python语言及其应用
  5. win10下使用wget
  6. MVC学习之简单的CRUD
  7. linux 删旧内核,Ubuntu 删除旧内核的方法
  8. 如何将hive查询结果导出成txt文件
  9. 搭建 ELK 问题排查
  10. 跟着大彬读源码 - Redis 1 - 启动服务,程序都干了什么?
  11. wxpython frame鼠标拖动_Python wxpython模块响应鼠标拖动事件操作示例
  12. 【风电功率预测】基于matlab粒子群算法优化BP神经网络风电功率预测【含Matlab源码 347期】
  13. 使用servlet技术与前端进行交互,出现乱码的解决方案,创建一个类,如下:
  14. eclipse JSP页面中的JS代码为黑色,JS单独文件是OK的
  15. 深度学习 视频目标跟踪
  16. 国外互联网公司大数据技术架构研究
  17. 模拟实现strlen
  18. python中 F “{表达式}”的用法【详细】
  19. 学习笔记25 --贴有图片或者二维码的gazebo模型创建
  20. java(spring boot)通过exchange邮箱发送邮件

热门文章

  1. PoE、PoE+、PoE++ 三款交换机如何选择?一文带你了解
  2. 中文写程序,何陋之有?
  3. postgres/pgadmin的使用
  4. 【MCU】单片机看门狗工作原理
  5. 51单片机学习笔记之数码管工作原理
  6. Tuscany是什么?
  7. Redis地理算法GEO解析和应用
  8. Long类型的数据转换
  9. ubuntu 查看usb设备
  10. 前端 | 前端设计设计及代码收集