"TCP/IP_EX指令例程展示了4G通讯模块如何使用AT指令进行TCP/IP和UDP连接,包括数据收发、透传模式以及时间同步。该文档特别关注了AT+QIOPEN指令,用于建立网络连接,支持TCP客户端、UDP客户端、TCP服务器监听和UDP服务模式。" 在物联网应用中,4G通讯模块扮演着至关重要的角色,它们通过TCP/IP协议栈与网络进行通信。TCP/IP_EX流程涉及到的关键知识点包括: 1. **AT指令集**:这是通信模块与上位机之间交互的命令语言,用于控制和配置模块功能。AT+QIOPEN是AT指令集中用于网络连接的一个重要指令。 2. **AT+QIOPEN指令详解**: - `<contextID>`:标识网络上下文,是网络连接的唯一标识符,通常用于多路复用不同的网络连接。 - `<connectID>`:SocketID,用来标识不同的TCP或UDP连接,允许同时维护多个连接。 - `<service_type>`:定义连接类型,如TCP客户端、UDP客户端、TCP服务器(TCPLISTENER)或UDP服务。 - `<IP_address>`/`<domain_name>`:远程服务器的IP地址或域名,用于建立连接。 - `<remote_port>`:远程服务器的端口号,对于TCP和UDP连接是必需的。 - `<local_port>`:本地端口,对于监听和服务模式必须指定,否则对于TCP和UDP连接可由系统自动分配。 - `<access_mode>`:访问模式选择,0代表缓冲区访问,1为直接推送,2是透明访问,决定了数据处理方式。 3. **TCP连接**: - 客户端TCP连接(TCP):模块作为客户端发起连接请求,需要提供远程服务器的IP和端口。 - 服务器监听模式(TCPLISTENER):模块监听特定端口,等待来自其他设备的连接请求。 4. **UDP连接**: - UDP客户端(UDP):模块向远程服务器发送数据,无需建立连接。 - UDP服务(UDP服务):模块作为服务端,等待接收来自其他设备的数据。 5. **数据收发与透传模式**:在TCP/IP_EX流程中,数据收发可能涉及两种模式,即缓冲区访问模式和直接推送模式。缓冲区访问模式允许数据在后台处理,而直接推送模式则要求数据立即处理。透明访问模式可能指的是数据无修改地通过网络传输,不涉及额外的编码或解码过程。 6. **时间同步**:在物联网应用中,时间同步是确保设备间操作协调的重要环节,可能是通过NTP(Network Time Protocol)等协议实现的。 这些知识点构成了4G通讯模块进行TCP/IP通信的基础,理解并正确运用这些概念对于开发和维护物联网设备及其应用程序至关重要。
*/-----------------------------------------------AT+QIOPEN指令格式介绍 -----------------------------------------------/*
AT+QIOPEN=<contextID>,<connectID>,<service_type>,<IP_address>/<domain_name>,<remote_port>[,<local_po rt>[,<access_mode>]]
<contextID> 整数类型。context ID。范围是1-16。
<connectID> 整数类型。Socket ID索引。范围是0-11.
<service_type> 字符串类型。Socket类型
“TCP” 作为客户端启动TCP连接
“UDP” 作为客户端启动UDP连接
“TCPLISTENER” 启动TCP服务器以侦听TCP连接
“UDP服务” 启动UDP服务
<IP_address> 字符串类型.
如果<service_type>是TCP或UDP,则表示远程服务器的IP地址,如“220.180.239.212”。
如果<service_type>是TCP侦听器或UDP服务,请输入“127.0.0.1”。
<domain_name> 字符串类型。远程服务器的域名地址。
<remote_port> 远程服务器的端口,仅当<service_type>是“TCP”或“UDP”时有效。范围是0-65535。
<local_port> 本地端口。范围是0-65535.
如果<service_type>是“TCP LISTENER”或“UDP service”,则必须指定此参数。
如果<service_type>是“TCP”或“UDP”,如果<local_port>是0,则会自动分配本地端口。否则,将按指定方式分配本地端口。
<access_mode> 整数类型。Sokcet访问模式。
0 缓冲区访问模式
1 直接推送模式
2 透明访问模式
*/----------------------------------------------- 普通模式收发数据,以缓存方式 -----------------------------------------------/*
OK
AT+QIACT=1 //激活PDP 1。根据网络的不同,最大响应时间为150秒。
OK /激活成功
AT+QIACT? //查询激活状态
+QIACT: 1,1,1,"10.7.157.1"
OK
AT+QIOPEN=1,0,"TCP","116.247.69.94", 4222,0,0 //链接服务器,PDP激活的为1,SocketID为0,最后一个参数0为:缓存模式
OK
+QIOPEN: 0,0 //链接成功,超时150s,+QIOPEN:<Socket ID>,<err>,如果在150秒内无法收到URC响应,可以使用AT+QICLOSE关闭Socket
AT+QISTATE=1,0 //查询链接的SocketID是否为0,第一个参数1为:指定Sokcet 查询,第二个参数0为:指定的Socket ID
+QISTATE: 0,"TCP","220.180.239.201",8705,65514,2,1,0,0,"usbmodem"
OK
AT+QISEND=0 //发送数据。可以通过AT+QISEND=0,0查询数据是否到达服务器。
>test1<ctrl+Z>
SEND OK
AT+QISEND=0,4 //发送固定长度数据
>test
SEND OK
AT+QISEND=0,0 //查询发送数据的长度。
+QISEND: 9,9,0
OK
AT+QISENDEX=0,"3132333435" //发送HEX格式数据。
SEND OK
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦