西门子GPRS模块开发详解 西门子200plc指令详解

以模块MC55为例,MC55是SIEMENS(西门子)公司推出的GSM/GPRS三频模块,主要为语音传输、短消息和GPRS数据业务提供无线接口。MC55集成了完整的RF射频电路和GSM的基带处理器,十分适合开发一些基于GSM/GPRS的无线应用产品,如监控、调度、车载、遥控、远程测量、定位和导航等领域的系统和产品,应用范围十分广泛。用户只需投入少量的研发费用,就可以在较短的研发周期内集成自己的应用系统。

常用的AT命令如下表所示:

功能名称

AT命令

解释

厂家认证

AT+CGMI

获得厂家的标识

模式认证

AT+CGMM

查询支持频段

修订认证

AT+CGMR

查询软件版本

生产序号

AT+CGSN

查询IMEI序号

查询IMSI

AT+CIMI

查询国际移动电话支持认证

卡的认证

AT+CCID

查询SIM的序列号

关闭电源

AT+CPOE

暂停模块的运行

报告错误

AT+CMEE

报告模块设备错误

拨号命令

ATD

拨打电话号码

挂机命令

ATH

挂机

回应呼叫

ATA

当模块被呼叫时回应呼叫

关机命令

AT+CPOF

停止GSM软件堆栈和硬件层

声音控制

AT+CRSL

设定电话铃声的声音级别

时钟管理

AT+CCLK

设置或获得真实时钟

警报管理

AT+CALA

设定警报日期

设定电话机能

AT+CFUN

选择移动站点的机能水平

网络连接设置

AT^SICS

创建Internet连接到GPRS

网络服务设置

AT^SISS

指定服务器类型

开启网络服务

AT^SISO

启动GPRS连接

关闭网络服务

AT^SISC

关闭GPRS连接

读网络数据

AT^SISR

读取GPRS接收数据

写网络数据

AT^SISW

通过GPRS发送数据

接着是与GPRS有关的AT指令详解

(1)AT^SICS(Internet Connection Setup Profile)

命令格式:AT^SICS: <conProfileId>, <conParmTag>, <conParmValue>

conProfileId指连接平台,可以建立0-5共6个不同的连接。conParmTag指连接参数,包括user、passwd、apn等,conParmValue指提供的连接类型,包括GPRS0、CSD(电路交换数据业务)、none(清空)三种方式。

举例说明如下:

AT^SICS: 0,"conType","GPRS0"//连接平台0,连接方式是GPRS

AT^SICS: 0,"user","nd"//连接平台0,设置用户名

AT^SICS: 0,"passwd","nd"//连接平台0,设置密码

AT^SICS: 0,"apn","cmnet"//连接平台0,设置APN

AT^SICS: 1,"conType",""//连接平台1,空

AT^SICS: 2,"conType",""//连接平台2,空

AT^SICS: 3,"conType",""//连接平台3,空

AT^SICS: 4,"conType",""//连接平台4,空

AT^SICS: 5,"conType",""//平连接台5,空

(2)AT^SISS(Internet Service Setup Profile)

命令格式:AT^SISS=<srvProfileId>, <srvParmTag>, <srvParmValue>

Srvprofield是服务配置ID,可以建立0-9共10个配置ID,如说可以用AT^SISS将配置0作socket,配置1作HTTP,配置2作FTP等,然后要启用哪个服务,就用AT^SISO=0或1或2打开哪个服务,要关掉哪个服务就用AT^SISC=0或1或2关闭哪个服务。一般的数据传输用的都是socket服务,SISS指令里的ConID是指当前服务调用哪个连接配置ID,连接配置ID可以设定6个,可以用AT^SICS=0,apn,cmnet或者AT^SICS=1,apn,cmwap设定不同的APN,根据不同的应用,调用不同的连接配置。

举例说明如下:

AT^SISS: 0,"srvType","Socket"//第0个服务平台,服务类型为socket

AT^SISS: 0,"conId","0"//第0个服务平台,使用的连接平台为0

AT^SISS: 0,"address",""//第0个服务平台,目前设备的地址为空

AT^SISS: 1,"srvType",""//第1个服务平台

AT^SISS: 2,"srvType",""//第2个服务平台

AT^SISS: 3,"srvType",""//第3个服务平台

AT^SISS: 4,"srvType",""//第4个服务平台

AT^SISS: 5,"srvType",""//第5个服务平台

AT^SISS: 6,"srvType",""//第6个服务平台

AT^SISS: 7,"srvType",""//第7个服务平台

AT^SISS: 8,"srvType",""//第8个服务平台

AT^SISS: 9,"srvType",""//第9个服务平台

GPRS通讯模块MC55在使用时,需要进行通讯模块的初始化设置,校验用户名和密码,设置TCP/IP的地址与端口等。初始化时,需要MCU通过串行口按顺序给模块发送以下AT指令,设置模块及网络工作参数。

at^sics=0,conType,GPRS0//设置GPRS工作模式

at^sics=0,user,cm//用户名称

at^sics=0,passwd,gprs//密码

at^sics=0,apn,cmnet//网络接入点名称

at^siss=1,srvType,socket//设置服务类型为socket

at^siss=1,conId,0//I.D.

at^siss=1,address,"socktcp://219.238.229.74:3000" //设置服务器地址及端口

at^siso=1 //打开端口,开始工作

(3)AT^SISO(Interner Service Open)

命令格式:AT^SISO=<srvProfileId>

启动GPRS连接。

(4)AT^SISC(Internet Service Close)

命令格式:AT^SISC=<srvProfileId>

关闭GPRS连接。

(5)AT^SISR(Internet Service Read Data)

命令格式:AT^SISR=<srvProfileId>, <reqReadLength>

通过GPRS发送数据,实际上是通过串行口把数据写入到GPRS通讯模块,然后由GPRS模块发送到指定的IP端口。发送时需要按照以下顺序进行操作。

写串口:at^sisw=0,10// 使用通道0, 发送10字节的数字

读串口:^SISW: 0, 10// 网络响应

写串口:12312312342342342345//发送数据

读串口:OK// 接收响应 OK

读串口:^SISW: 0, 1//接收网络响应,收到则已经发送成功

(6)AT^SISW(Internet Service Write Data)

命令格式:AT^SISW=<srvProfileId>, <reqWriteLength>

接收GPRS的数据,即接收已经连接上的服务器发来的数据,可以通过串行口从GPRS模块中读取,按以下顺序进行操作:

西门子GPRS模块开发详解 西门子200plc指令详解
读串口:^SISR: 0, 1//接收到该信息则准备接收数据

写串口:at^sisr=0,20//发送需要接收的数据长度

读串口:^SISR: 0, 20//返回实际的数据长度

读串口:12312312342342342345 //所接收的数据

读串口:OK    //接收成功

最后是案例分析

进行GPRS通信首先需要与服务器建立GPRS连接,即实现GPRS登陆。在登陆前需要使用AT指令对无线通信模块MC55进行初始化设置,设置内容包括连接方式、服务类型、接入点名称、服务器地址及端口。初始化完成后即可开启网络服务,模块会自动登录到服务器的相应端口上,登陆完成后就可以进行数据通信了。

具体实现程序如下所示:

(1)OutPut("at^sics=1,contype,gprs0/r/0");//连接平台1,设置网络连接类型为gprs方式

// void OutPut(char *strings)函数的功能是通过串口向MC55输出数据

检测到通信模块返回“OK”则设置成功。

(2)OutPut("at^sics=1,apn,cmnet"); //设置apn为cmnet

检测到通信模块返回“OK”则设置成功。

(3)OutPut("at^siss=2,srvtype,socket/r/0");//第2个服务平台,设置服务类型为socket

检测到通信模块返回“OK”则设置成功。

(4)OutPut("at^siss=2,conid,1/r/0");//第2个服务平台,使用的连接平台为1

检测到通信模块返回“OK”则设置成功。

(5)OutPut("at^siss=2,address,socktcp://219.238.229.74:1200");//设置服务器地址及端口

检测到通信模块返回“OK”则设置成功。

(6)OutPut("at^siso=2/r/0");//打开网络服务,MC55登陆到服务器相应的端口上

检测到通信模块返回“OK”则设置成功。

(7)OutPut("at^sisw=2,10/r/0");//使用平台2向服务器发送10字节的数据包

if(strstr(buffer,"^SISW:")!=0) //检测到模块返回数据“^SISW:”后通过模块将需要发送的数据发送到服务器相应端口上

OutPut("1234567890/r/0");//发送数据包

通过GPRS发送数据,实际上是通过串行口把数据写入到GPRS通讯模块,然后由GPRS模块发送到指定的IP端口。

(8)写串口:at^sisr=0,20 //发送需要接收的数据长度

读串口:^SISR: 0, 20 //返回实际的数据长度

读串口:12312312342342342345 //接收的数据

接收GPRS的数据,即接收已经连接上的服务器发来的数据,可以通过串行口从GPRS模块中读取。

(9)OutPut("at^sisc=2/r/0");//关闭网络服务,MC55从服务器断开

sdwuyulunbi/archive/2009/10/29/4743075.aspx

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/74097.html

更多阅读

微信开发详解:1 免费服务器 精 久久热在线视频精品99

微信开发详解:[1]免费服务器 精——简介微信开发详解:[1]免费服务器 精_免费服务器微信开发详解:[1]免费服务器 精 5、新弹出的页面中填写应用名称,勾选同意协议,其他的如图,然后点击确定。微信开发详解:[1]免费服务器 精 6、出现的新页

Delphi Webbrowser使用方法详解一 delphi组件开发详解

1.webbroser介绍该组件是一个浏览器组件,可以显示一个指定地址的网页、设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切、复制、粘贴、删除等操作。该组件在Internet组件页中,属于TWebbrowser类。它放在程

详图细解 男式休闲西装配什么鞋子 男式夹克休闲外套

男式休闲西装是现在职场上是十分流行的,因为现在职场里的男士职业装早就由传统的西装向男式休闲西装转变了,可是这些男士休闲西装配什么鞋子好看呢?这个问对于不懂得男生休闲西装搭配技巧的人来说是很头痛的,现在一起来了解一下男式休闲

西联汇款操作步骤详解 西联汇款操作流程

1、客户西联汇款给你,你需要提供哪些资料?比如我叫王老五地址:A:住址,B:身份证上地址,C,开户行地址。问题:1,提供怎样的姓名,如A,wang lao wu;B,lao wuwang;C,allanwang(英文名),或其它什么样的呢?2,地址:地址是上面哪一个?3,地址是什么样?A,拼音顺写;B,拼音

声明:《西门子GPRS模块开发详解 西门子200plc指令详解》为网友仰面清风分享!如侵犯到您的合法权益请联系我们删除