1 数据访问模式说明 当前模块支持以下2种数据访问模式: ● 非透传 Buffer 模式。 ● 非透传 Push 模式 当使用 AT+LIPOPEN 打开 Socket 服务时, 可以通过参数<access_mode>来指定 Socket 的数据访问模式。 1. 非透传 Buffer 模式下,可以通过AT+LIPSEND命令发送数据。从网络接收数据时,模块会缓存所接收的数据,并直接上报URC:+LIPURC: <socket>,<type>,<type_data>,有数据到达时,type_data为当前一包的数据长度,之后用户可以通过 AT+LIPRD 命令来读取缓存数据。 2. 非透传 Push 模式下,可以通过AT+LIPSEND发送数据。从网络接收数据时,数据会以如下格式直接输出到COM 口上:+LIPURC:<socket>,<type>,<type_data>,recv_data。 2. Lierda NT35E&NT26E应用2.1. 与TCP Server连接
本文在具有公网IP的电脑上运行TCP/UDP Socket调试工具,令调试工具作为TCPServer运行。设定端口号6801,IP地址为114.55.52.96。先输入AT指令AT+LIPOPEN创建TCP客户端并与TCP Server连接,再使用AT+LIPSEND发送数据,调试工具界面上将显示收到的数据,调试工具向Lierda NT35E&NT26E模组发送数据,会在串口上以主动上报的AT指令的形式显示。调试工具收发数据的情况如下。 终端显示如下, 3. AT指令示例流程3.1. 上电检查流程(1)AT+CGMR //判断模组是否上电开机成功 (2)AT+CFUN=1 //关闭飞行模式 (3)AT+CEREG? //判断PS域附着状态,第二个参数为1或5表示附着正常 (4)AT+CGATT? //查询附着状态,确认是否已附着 (5)AT+CGPADDR //查询核心网是否已分配IP 3.2. TCP客户端在Buffer模式下的流程3.2.1. 创建客户端并进入Buffer模式AT+LIPSTATE?
OK AT+LIPOPEN="TCP","114.55.52.96",6801,0 //连接TCP服务器114.55.52.96,连接之前设备网络要激 OK 活,模式为Buffer模式。 +LIPOPEN:0,1 //连接成功,返回创建成功的socketID,等待URC: +LIPOPEN: <socket >,<result>响应建议等待60秒,若60秒内没响应,可以使AT+LIPCLOSE断开socket AT+LIPSTATE? //检查socket的连接状态 +LIPSTATE: 0,TCP,114.55.52.96,6801,10002,2,1 OK 3.2.2. Buffer 模式下发送字符串数据AT+LIPSEND=0,1,12,"thisis test" //在socketID为0的TCP链路上发送字符串数据 OK +LIPSEND: 0,12,1 //发送成功 AT+LIPSEND=0,1,12 //发送定长的字符串数据 > this istest //数据未达到指定长度时,30秒后超时退出,并上报ERROR OK +LIPSEND: 0,12,1 //发送成功 AT+LIPSEND=0,1 //发送不定长的字符串数据,当数据长度到达1024时自动发送 > this istest<ctrl+Z> //输入数据后按<ctrl+Z>,进行数据的发送或<esc>取消数 OK 据的发送。 +LIPSEND: 0,12,1 //数据发送成功 3.2.3. Buffer 模式下发送HEX数据AT+LIPSEND=0,0,10,"31313131313131323232" //发送HEX字符串数据 OK +LIPSEND: 0,10,1 //数据发送成功 AT+LIPSEND=0,0,11 //发送定长的HEX字符串数据 >3131313131313132323231 //数据未达到指定长度时,30秒后超时退出,并上报ERROR OK +LIPSEND: 0,11,1 //发送成功 AT+LIPSEND=0,0 //发送不定长的数据 >3131313131313132323231 //输入数据后按<ctrl+Z>,进行数据的发送或<esc>取消 OK 数据的发送. +LIPSEND: 0,11,1 //数据发送成功 3.2.4. Buffer模式接收到数据AT+LIPSEND=0,1,12,"thisis test" //开启透明回复后发送数据 OK +LIPSEND: 0,12,1 //数据发送成功 +LIPURC: 0,1,12 // 服务器接收到数据 AT+LIPRD=0,20 //读取数据 +LIPRD: 0,114.55.52.96,6801,12,thisis test,0 //返回读取数据的实际长度、数据内容,以及剩余数据长 度 OK AT+LIPRD=0,20 +LIPRD:0,0.0.0.0,0,0,0,0 //缓存里无数据 OK 3.2.5. 断开连接AT+LIPCLOSE=0 //断开<socketID>为 0 的连接。受网络状态影响,最大响应 OK 时间是 5 秒 CLOSE OK //断开成功 3.3. TCP客户端在Push模式下的流程3.3.1. 创建客户端并进入Push模式AT+LIPSTATE? OK AT+LIPOPEN="TCP","114.55.52.96",6801 //连接服务器114.55.52.96,连接之前设备网络要激活, OK 模式为Push模式,最后一个参数设置为1或者缺省默认为Push模式。。 +LIPOPEN:0,1 //连接成功,等待URC+LIPOPEN: <socket>,<result>响应建议等待60秒,若60秒内没响应,可以使AT+LIPCLOSE断开socket. AT+LIPOPEN="UDP","114.55.52.96",7000,0 //创建UDP链路,指定服务器114.55.52.96,端口为7000. OK +LIPOPEN:1,1 //链路创建成功 AT+LIPSTATE? //检查socket的连接状态 +LIPSTATE:1,UDP,114.55.52.96,7000,10002,2,0 //上报socket状态以及连接模式 +LIPSTATE:0,TCP,114.55.52.96,6801,10002,2,1 OK 3.3.2. Push 模式下发送字符串数据AT+LIPSEND=0,1,12,"thisis test" //发送字符串数据 OK +LIPSEND: 0,12,1 //发送成功 AT+LIPSEND=0,1,12 //发送定长的字符串数据 > this istest //数据未达到指定长度时,30秒后超时退出,并上报ERROR OK +LIPSEND: 0,12,1 //发送成功 AT+LIPSEND=0,1 //发送不定长的字符串数据,当数据长度到达1024时自动发送 > this istest<ctrl+Z> //输入数据后按<ctrl+Z>,进行数据的发送或<esc>取消数 OK 据的发送。 +LIPSEND: 0,12,1 //数据发送成功 3.3.3. Push 模式下发送HEX数据AT+LIPSEND=0,0,10,"31313131313131323232" //发送HEX字符串数据 OK +LIPSEND: 0,10,1 //数据发送成功 AT+LIPSEND=0,0,11 //发送定长的HEX字符串数据 >3131313131313132323231 //数据未达到指定长度时,30秒后超时退出,并上报ERROR OK +LIPSEND: 0,11,1 //发送成功 AT+LIPSEND=0,0 //发送不定长的数据 >3131313131313132323231<ctrl+Z> //输入数据后按<ctrl+Z>,进行数据的发送或<esc>取消 OK 数据的发送. +LIPSEND: 0,11,1 //数据发送成功 3.3.4. Push模式接收到数据AT+LIPSEND=0,1,12,"thisis test" //打开透明回复模式,发送数据 OK +LIPSEND: 0,12,1 //发送数据成功 +LIPURC:0,1,12,this is test //接收到数据常速及数据内容。 3.3.5. 断开连接AT+LIPCLOSE=0 //断开<socketID>为 0 的连接。受网络状态影响,最大响应 OK 时间是 5 秒 CLOSE OK //断开成功
|