测试内容:

1、A9作为客户端,在服务器主动断开连接或异常断开的时候,使用网络连接状态查询接口,能否获得准确的网络连接状态。

结果:

TCP: A9开多连接时,成功连接TCP服务器后,发送查询语句AT+CIPSTATUS? 返回内容:

+CIPSTATUS:
,CONNECT OK
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL

服务器网络调试助手点击断开(或右键直接退出应用),返回内容:

+TCPCLOSED:

OK

发送查询语句AT+CIPSTATUS? 返回内容:

+CIPSTATUS:
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL

网络调试助手版本:网络调试助手(CM精装版V3.7)

UDP:


TCP/UDP socket调试工具V2.3

开启UDP server后,然后UDP client 根据IP+port 连接udp,此时UDP server不能向client发送数据,只有client向server发送一条数据后,server之后才能向client发送数据。而果断时间后server又不能向client发送数据(client 没收到数据)

UDP协议,一样会在物理线路上创建一条“虚拟信道”,否则UDP协议无法传输数据!但是,当UDP协议传完数据后,这条“虚拟信道”就被立即注销了!因此,称UDP是不面向连接的协议! 

HTTP:连接方式IP+PORT  或 网址+port

长连接: http服务器与client 建立连接后,keep-alive  时间到了,服务器主动断开,A9返回内容:

+CME ERROR:

发送查询语句AT+CIPSTATUS? 返回内容:(多链接)

+CIPSTATUS:
,IP CLOSE
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL

如果服务器应用停止服务,发送查询语句AT+CIPSTATUS? 返回内容:(多链接)  这种情况下网络查询返回状态是错误的

+CIPSTATUS:
,CONNECT OK
,IP INITIAL
,IP INITIAL ,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL OK

这个时候如果A9发送连接HTTP server 命令,返回:

+CME ERROR:

因为A9认为已经连接成功了,再发送连接指令则认为连接无效。

原因可能:服务器关闭服务时,没有通知client, 短连接关闭服务时有通知client;

如果服务器应用直接退出EXIT,发送查询语句AT+CIPSTATUS? 返回内容:(多链接) 正确

+CIPSTATUS:
,IP CLOSE ,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL
,IP INITIAL OK

AT+CIPSEND指令:

ESP32S和A9是不一样的,下面是A9的:

"AT+CIPSEND=10"  指令发送成功后返回的内容不是"OK",是" >"  4个十六进制数:0D 0A 3E 

A9发送 "AT+CIPSEND=100"  随后STM32 通过串口发送不足100个字节的数据,并停止发送, 则目标收到的数据内容为:

STM32数据 + 0D 0A       

00的个数补足到100 为止;

例子:

AT+CIPSEND=
//发送内容:6个字节 不足10个字节
2B
//收到内容:
2B 0D 0A

ESP32、GPRS A9测试的更多相关文章

  1. GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术

    GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...

  2. PCB电路设计 altiumdesigner(项目软件总结)

    1.Altium designer 10在PCB里面复制粘贴,比CAD里面多一个动作,就是点击ctrl+C后,要左键点一下复制基点,比如某根线端点或者焊盘,再粘贴,就是基于刚才点的那个为基点粘贴了.2 ...

  3. 登录华科校园网,我用Socket

    登录华科校园网,我用Socket 导语: 找一个华科学生问一问,学校的网络怎么样?得到的大多数是负面回答.其实不论是从覆盖区域.网络稳定性.还是速度来说,华科做的都还是可以的(24:00断网除外).可 ...

  4. GSM Hacking:如何对GSM/GPRS网络测试进行测试

    写在前面 这里需要介绍的是GSM / GPRS网络测试的一些方法,随着现在硬件设备连网现象的普遍存在,例如智能电表.自动变速箱控制单元(TCU).POS机.报警系统等.这些设备通常需要与网络连接,GS ...

  5. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(云端电脑(Windows)安装配置数据库,使用本地Navicat for MySQL和手机APP 远程连接测试)

    3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试) 根据前面的教程把软件复制到云 ...

  6. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试)

    2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(数据库简单说明) https://www.mysql.com/ 咱用安装版的 我把自己下载的放在了这里 现在 ...

  7. 免花生壳 TCP测试 DTU测试 GPRS测试TCP服务器

    通常在学习GPRS或者DTU的时候,往往没有自己的服务器,很多时候我们只能用这个模块打个电话发个短信,但是随着移动互联的兴起,各行各业大家都开始弄移动接入.为了这个需求,这里提供TCP移动接入. 工作 ...

  8. 开发板测试-GPRS

    注意事项: 经过测试,为了使STM32和Air202的串口稳定通信,需要更改 以前电路感觉应该是三极管控制极4.7K电阻太大,又因为开关速度快,然后开关的时候导致不足以让三极管处于全部导通状态,所以电 ...

  9. 1.8 使用电脑测试MC20的GPRS功能

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

随机推荐

  1. python3-安装第三方模块

    在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Windows,请参考安装Python一节的内容 ...

  2. PHP简单的爬虫–原型

    1.PHP简单的爬虫–原型 爬虫的原理: 给定原始的url: 分析链接,根据设置的正则表达式获取链接中的内容: 有的会更新原始的url再进行分析链接,获取特定内容,周而复始. 将获取的内容保存在数据库 ...

  3. Python(3) 进制转换

    2进制 :0b8进制: 0o16进制: 0x10进制:原来的数据 进制转换:bin() 方法:转化为 2进制 >>> bin(10)'0b1010'oct() 方法:转化为 8进制& ...

  4. Bean的生命周期与JVM**

    案例: 在service里定义了一个全局变量,这类变量只能是final的.如果不是,在代码中一旦有地方给该变量进行业务赋值.当不满足赋值条件时变量仍然保留上次的赋值的值. 这是因为Bean没有销毁. ...

  5. 用Java写一个递归遍历目录下面的所有文件

    java获取文件的属性如文件大小和修改时间: long mysize = file.length();long lastModified = file.lastModified();System.ou ...

  6. MongoDB的分页排序

    我们已经学过MongoDB的 find() 查询功能了,在关系型数据库中的选取(limit),排序(sort) MongoDB中同样有,而且使用起来更是简单 首先我们看下添加几条Document进来 ...

  7. Python---Tkinter---贪吃蛇(稳定的外部环境,稳定的内心)

    # 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food - 上面代码不太 ...

  8. 使用Hybris Commerce User API读取用户信息时,电话字段没有返回

    在使用Hybris Commerce User API读取一个user信息时,我遇到一个问题,在API返回的结构里没有包含期望看到的Phone字段. 仔细观察Swagger里对response结构的说 ...

  9. Mysql数据库表类型

    MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种. 这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型.下面做个对比:   MyISA ...

  10. 【bzoj1336/1337/2823】最小圆覆盖

    题目描述: 给出平面上N个点,请求出一个半径最小的圆覆盖住所有的点 输入: 第一行给出数字N,现在N行,每行两个实数x,y表示其坐标. 输出: 输出最小半径,输出保留三位小数. 样例输入: 4 1 0 ...