如果你的结果是仅仅返回OK,我会说这远远不够的,因为这只是说你的指令格式是正确的,你必须at+cipstatus查看一下状态,如果是connect ok,才真的是OK了,否则可能是Connecting状态,表示一直在连接。
在一个问题就是你的卡虽然支持GPRS,但是不代表就一定能实现你的数传模式。因为GPRS接入方式有两种:CMNET和CMWAP。默认的情况是CMNET,当然你可以设置,如果你的卡不支持CMNET方式接入的话,那你是一直Connect Fail,还会出现你上面的情况。如果是CNWAP模式的话,你只能上Wap,不过通过代理,你还是可以上web的,就是说你的手机随能上网,但是就是无法实现GPRS CMNET数传.

一下是我个人的一些理解和总结,希望对你有帮助:
Sim300 GPRS应用相关AT CMD

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然后加一个回车符 <CR>,就会出现个命令提示符>(当然这个可以设置),然后就是你的发送数据,最后加个结束符 <Ctrl+Z>。当然你也可以发送定长数据串,这样就不需要结束符了。

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,别混淆了)

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命令,回到一个可连接的状态。

非常感谢elusa的指点。但是还有几个问题要请教一下。我用AT+CIFSR指令,能得到移动分配给我的ip 地址。我的卡能支持CMNET,但是为什么我还是链接不到服务器呢?我用AT+CIPSTATUS,总是显示TCP CONNECTING,然间是显示连接失败。请问以您的经验,问题会出在哪里呢?

NO CARRIER 的意思是没有载体为什么会出现这种情况呢?
原因是:
当你发送ADT*99***1#指令后
会出现一大堆乱码,而且是重复的(大概10次)
这些乱码其实是服务器向你发送进行LCP协商的请求信息,因为是你没有应答,所以对方会不断的请求,直到请求10次后,对方认为你没有响应,就会NO CARRIER.

你没有应答的解决方法:
1.因为你的gprs模块没有自带ppp协议,只要去买块带ppp协议的gprs模块就可以解决这个问题,比如mc55模块.
2.也可以自己实现ppp协议,自己写或者去网上下ppp协议的代码.

该怎么应答??
1.自带ppp协议的模块,你可以不考虑这个问题
2.你还是使用原来的模块的话,就需要了解PPP链路的建立的过程,以及ppp协议的结构.网上 有很多资料.

sim300的一些知识点相关推荐

  1. 解释型语言与编译型的必须知识点

    解释型语言与编译型的必须知识点 概念: 计算机不能理解直接理解高级语言,只能理解机器语言,所以必须把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种: 编译 解释 两种翻译 ...

  2. YOLOV4知识点分析(二)

    YOLOV4知识点分析(二) 数据增强相关-mixup 论文名称:mixup: BEYOND EMPIRICAL RISK MINIMIZATION 论文地址:https://arxiv.org/ab ...

  3. YOLOV4知识点分析(一)

    YOLOV4知识点分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:https://arx ...

  4. 你需要掌握的有关.NET DateTime类型的知识点和坑位 都在这里

    引言    DateTime数据类型是一个复杂的问题,复杂到足以让你在编写[将日期从Web服务器返回到浏览器]简单代码时感到困惑. ASP.NET MVC 5和 Web API 2/ASP.NETCo ...

  5. 简练软考知识点整理-范围确认易混概念

    与确认范围容易混淆的知识点包括,确认范围与核实产品.质量控制.项目收尾,下面进行比较分析. (1)确认范围与核实产品 核实产品是针对产品是否完成,在项目(或阶段)结束时由发起人或客户来验证,强调产品是 ...

  6. 朴素贝叶斯知识点概括

    1. 简述 贝叶斯是典型的生成学习方法 对于给定的训练数据集,首先,基于特征条件独立假设,学习输入/输出的联合概率分布:然后,基于此模型,对于给定的输入x,根据贝叶斯定理求后验概率最大的输出y 术语说 ...

  7. 计算机二级函数知识,2017年全国计算机二级考试MS Office高级应用知识点:INDIRECT函数...

    INDIRECT函数知识点 适用考试:全国计算机二级考试 考试科目:MS Office高级应用 科目知识点:INDIRECT函数 INDIRECT函数立即对引用进行计算,并显示其内容.当需要更改公式中 ...

  8. python如何创建一个类_python (知识点:类)简单的创建一个类

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...

  9. 全国计算机二级vfp知识点,全国计算机二级VFP知识点总结

    全国计算机二级 Visual FoxPro 数据库程序设计 --知识点整理资料 文件扩展名及备注文件扩展名 文件 项目 表 程序 单索引 查询 菜单定义格式 扩展名 .pjx .dbf .prg .i ...

最新文章

  1. Linux TCP拥塞控制算法原理解析
  2. post请求与get请求的差别
  3. git 常用命令以及其他使用笔记
  4. 学机械可以转计算机吗,本人合工大车辆工程大一新生,但是机械类前景都不太好,我要不要转计算机,求教?...
  5. Python中文件读写之 w+ 与 r+ 到底有啥区别?
  6. 手写识别底层原理_LinkedList底层原理和手写单链表
  7. 【C++基础】STL迭代器
  8. 常见排序之——插入排序
  9. 一些比较有用的SQL操作,2011最新整理
  10. 如果战斗机飞行员弹出,自动驾驶仪会接管飞机安全降落么?
  11. 传言成真 天融信收购傲天动联
  12. android数据分析班,android缓存数据 分析
  13. 拓端tecdat|R语言阈值模型代码示例
  14. 跨境电商ERP的主要功能和模块
  15. java代码意思,[求助]java代码的意思?
  16. CocosCreator快速接入bugly
  17. ansible的安装
  18. uniapp 实现微信小程序全局分享及自定义分享按钮样式
  19. 懂车帝:2018汽车行业大数据报告(附下载)
  20. C++ 什么是继承和派生

热门文章

  1. 2018.8.4T3(大容斥)
  2. 王者荣耀最失败的英雄是?失败英雄应该有哪些特征?
  3. [原创]个人收集有关计算机视觉和模式识别相关的网址
  4. 做个网页游戏送女票当情侣礼物
  5. 《马向阳下乡记》看完了,你对谁的印象最深
  6. 【Java面试题】把数组排成最小的数
  7. python2.7+selenium2实现淘宝滑块自动认证
  8. java对文件进行压缩的两种方法
  9. 【Python】asyncio的使用(async、await关键字)
  10. labview 添加自定义Lib