ESP32、GPRS A9测试
测试内容:
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测试的更多相关文章
- GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术
GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...
- PCB电路设计 altiumdesigner(项目软件总结)
1.Altium designer 10在PCB里面复制粘贴,比CAD里面多一个动作,就是点击ctrl+C后,要左键点一下复制基点,比如某根线端点或者焊盘,再粘贴,就是基于刚才点的那个为基点粘贴了.2 ...
- 登录华科校园网,我用Socket
登录华科校园网,我用Socket 导语: 找一个华科学生问一问,学校的网络怎么样?得到的大多数是负面回答.其实不论是从覆盖区域.网络稳定性.还是速度来说,华科做的都还是可以的(24:00断网除外).可 ...
- GSM Hacking:如何对GSM/GPRS网络测试进行测试
写在前面 这里需要介绍的是GSM / GPRS网络测试的一些方法,随着现在硬件设备连网现象的普遍存在,例如智能电表.自动变速箱控制单元(TCU).POS机.报警系统等.这些设备通常需要与网络连接,GS ...
- 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(云端电脑(Windows)安装配置数据库,使用本地Navicat for MySQL和手机APP 远程连接测试)
3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试) 根据前面的教程把软件复制到云 ...
- 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试)
2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(数据库简单说明) https://www.mysql.com/ 咱用安装版的 我把自己下载的放在了这里 现在 ...
- 免花生壳 TCP测试 DTU测试 GPRS测试TCP服务器
通常在学习GPRS或者DTU的时候,往往没有自己的服务器,很多时候我们只能用这个模块打个电话发个短信,但是随着移动互联的兴起,各行各业大家都开始弄移动接入.为了这个需求,这里提供TCP移动接入. 工作 ...
- 开发板测试-GPRS
注意事项: 经过测试,为了使STM32和Air202的串口稳定通信,需要更改 以前电路感觉应该是三极管控制极4.7K电阻太大,又因为开关速度快,然后开关的时候导致不足以让三极管处于全部导通状态,所以电 ...
- 1.8 使用电脑测试MC20的GPRS功能
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
随机推荐
- PHP 图片合成、仿微信群头像
PHP 图片合成.仿微信群头像 参考文章: 作者:凯歌~,php图片合成方法(多张图片合成一张). 经过测试,略作调整和注释,感谢分享. 欢迎提出改善优化意见! 示例代码: /** * 合成图片 * ...
- Ubuntu Text editor文本编辑器相关设置
刚开始不熟悉Ubuntu,设置个文本编辑界面都难找到: 打开后在顶上的导航栏,下拉框内有preferences: 里面可以设置视图.字体颜色等
- C++ GUI Qt4学习笔记01
C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...
- 锁,threading local,以及生产者和消费者模型
1.锁:Lock(一次放行一个) 线程安全,多线程操作时,内部会让所有的线程排队处理. 线程不安全:+人=>排队处理 以后锁代码块 v=[] lock=threading.Lock()#声明锁 ...
- python-抽象类和抽象方法
需要模块 import abc 抽象类不能实例化 import abc class Animal(metaclass=abc.ABCMeta): #抽象类 @abc.abstractmethod # ...
- SpringCloud学习系列-SpringCloud
SpringCloud是什么? SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶 SpringCloud,基于SpringBoot提供了一 ...
- Quartz常规操作
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11899532.html Project Directory Maven Dependency < ...
- 【leetcode】299. Bulls and Cows
题目如下: 解题思路:本题难度不太大,对时间复杂度也没有很高的要求.我的做法是用一个字典来保存每个字符出现的次数,用正数1记录标记secret中出现的字符,用负数1记录guess中出现的字符,这样每出 ...
- 判断Java对象存活的算法、垃圾回收算法
判断Java对象存活的算法 一.引用计数算法 给对象添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失效的时候就将计数器减1,任何时刻计数器为0的对象都不可再被使用.这种算法虽然简单 ...
- 倍增O(1)求区间&值与|值
;i<=n;++i) f[i][]=a[i],g[i][]=a[i]; ;(<<j)<=n;++j) ;(i+(<<j)-)<=n;i++) { f[i][j ...