AT命令是用来控制终端设备(Terminal Equip-ment,TE)(如PC等用户终端)和 移动终端(Mobile Terminal,MT)(如移动台等移动终端)之间交互的规则。华为MC323是一款50引脚的B2B的2G模块产品,支持CDMA(CDMA800、CDMA1900)。MC323外部提供1个通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)接口,支持短消息、电话本、数据业务、嵌入式TCP/UDP等功能。MC323实现了3GPP TS 27.0073d0、3GPP TS 27.005320及ITU-T V.250等国际标准中的部分AT命令,同时还描述了终端设备实现的私有AT命令接口。
常用的AT指令见表4-4。
表4-4 常用的AT指令
(续)
下面举例如何使用AT指令进行TCP/IP通信。
首先,要先将模块与终端链接,模块与终端连接如图4-16所示。
图4-16 M2M模块与终端链接
一次完成的TCP/IP通信过程需要如下几个关键步骤:
•TCP/UDP连接初始化
•建立TCP/UDP链接
•TCP/UDP数据发送
•TCP/UDP接收数据缓存查询
•关闭TCP/IP链接
下面详细介绍每个步骤。
(1)TCP/UDP连接初始化
AT^IPINIT=,“用户名”,“密码”
OK
AT^IPINIT?
^IPINIT:1,10.0.10.87,,129.11.18.8,0.0.0.0,
OK
AT^IPINIT=,“用户名”,“密码”,连接初始化命令,后面三个参数为空格,用户名,密码。
AT^IPINIT?,查看网络信息。
^IPINIT:1,10.0.10.87,,129.11.18.8,0.0.0.0,返回的信息,本机IP地址为10.0.10.87,首选DNS为129.11.18.8,备选DNS无。
(2)建立TCP/UDP链接
AT^IPOPEN=1,"TCP","129.11.18.8",10000,9000
OK
AT^IPOPEN=2,"TCP","129.11.18.8",10000,8000
OK
AT^IPOPEN=3,"UDP","129.11.18.8",7000,6000
OK
AT^IPOPEN?
^IPOPEN:1,TCP,9000,129.11.18.8,10000
^IPOPEN:2,TCP,8000,129.11.18.8,10000
^IPOPEN:3,UDP,6000,129.11.18.8,7000
OK
AT^IPOPEN=1,"TCP","129.11.18.8",10000,9000,使用本地端口9000与129.11.18.8端口10000建立TCP链接1。
AT^IPOPEN=2,"TCP","129.11.18.8",10000,8000,使用本地端口8000与129.11.18.8端口10000建立TCP链接2。
AT^IPOPEN=3,"UDP","129.11.18.8",7000,6000,使用本地端口6000与129.11.18.8端口7000建立UDP链接3。
AT^IPOPEN?测试链接是否成功
^IPOPEN:1,TCP,9000,129.11.18.8,10000
^IPOPEN:2,TCP,8000,129.11.18.8,10000
^IPOPEN:3,UDP,6000,129.11.18.8,7000
返回的信息,链接成功,返回了相应链接的信息。
(3)TCP/UDP数据发送
AT^IPSEND=3,"ASDF"
^IPSEND:3
OK
AT^IPSEND=3,"ASDF",由链接3发送数据“ASDF”。
^IPSEND:3,返回的信息,此返回说明链路3发送成功。(www.xing528.com)
(4)TCP/UDP接收数据缓存查询
AT^IPGETDATA?
^IPGETDATA:0,2,4
^IPGETDATA:1,2,3
^IPGETDATA:2,3,4
OK
AT^IPGETDATA=0
^IPGETDATA:0,2,4,
1234
OK
AT^IPGETDATA=1
^IPGETDATA:1,2,3,
ADF
OK
AT^IPGETDATA?,查询是否接收到数据。
^IPGETDATA:0,2,4,返回的信息,index0中有数据,数据属于链路2,长度为4。
^IPGETDATA:1,2,3,返回的信息,index1中有数据,数据属于链路2,长度为3。
^IPGETDATA:2,3,4,返回的信息,index2中有数据,数据属于链路3,长度为4。
AT^IPGETDATA=0,提取index0中的数据。
^IPGETDATA:0,2,4,
1234
返回的信息,为链路2中的数据,长度4,数据为“1234”。
AT^IPGETDATA=1,接收index1中的数据。
^IPGETDATA:1,2,3,
ADF
返回的信息,链路2中的数据,长度为3,数据位“ADF”。
(5)或者可以用数据到达直接上报
^IPDATA:3,4,asdf
OK
当有数据到达时,直接上报,本例中是上报链接3,长度4的数据,内容为“asdf”。
(6)最后关闭TCP/IP链接
AT^IPCLOSE?
^IPCLOSE:1,1,1,0,0
OK
AT^IPCLOSE=1
OK
AT^IPCLOSE?
^IPCLOSE:0,1,1,0,0
OK
AT^IPCLOSE?,看链接状态,返回状态中链接123(即为前三个比特位)为打开。
AT^IPCLOSE=1,然后关闭链接1。
AT^IPCLOSE?,再次查看链接状态。
^IPCLOSE:0,1,1,0,0,返回的信息,可发现链接1已被关闭。
(7)或者可以打开透明传输使能
AT^IPENTRANS=1
OK
链接1打开透明传输使能,这样输入的数据将直接发动到链接1远端的用户。
(8)作为DTU使用
对于安装有点对点协议(Point to Point Protocol,PPP)协议的终端,可以用PPP协议与模块连接实现对网络的透明链接,此时模块相当于与数据传输单元(Data Transfer unit,DTU),这时在终端上即可进行相应的网络编程。
(9)如果使用M2M协议
如果使用M2M协议,如中国移动的WMMP,则需要在连接到网络的基础上,接入中国移动M2M平台。整个过程需要符合WMMP的要求,如接入M2M平台需要符合WMMP的M2M终端注册流程,出现异常状态的上报要符合WMMP的M2M终端上报告警数据要求。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。