理论教育 实践案例物联网开发与应用实践

实践案例物联网开发与应用实践

时间:2023-10-27 理论教育 版权反馈
【摘要】:监测系统的网关结构和第6章的网关是一样的。GPRS的这种工作机制完全满足气象监测系统的功能并方便软件开发,缩短了软件开发周期。图7-29 主程序流程表7-3 AT指令类型2.华为的GTM900-C模块连接到监控中心AT指令设计实现GTM900-C模块中,内嵌了TCP/IP协议,并且以AT指令的形式给气象监测系统提供接入GPRS网络进而接入Internet的API。主程序完成GPRS模块初始化与网络连接等操作,串口通信程序完成GPRS模块和监控中心计算机之间的数据传输、气象数据采集等。

实践案例物联网开发与应用实践

监测系统的网关结构和第6章的网关是一样的。唯一不同的是,第6章的GPRS模块,采用的是索爱公司的GR64;而第7章的GPRS模块,采用的是华为的GTM900-C模块。该模块是通过AT指令来进行相应的控制,数据传输采用内置TCP/IP发送控制命令。GPRS可以在其有效的范围内实现即时收发数据,一旦有需求就可以立即发送或接收信息,不需要拨号建立连接。GPRS的这种工作机制完全满足气象监测系统的功能并方便软件开发,缩短了软件开发周期。数据传输终端软件设计部分可分为系统初始化模块、网络建立模块、数据发送处理模块、数据接收处理模块和串口发送模块等。主程序流程如图7-29所示。

1.GPRS的软件设计与实现

模块的AT指令集是从终端设备(Terminal Equipmen,TE)或数据终端设备(Data Ter-minal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(Mo-bile Station,MS)的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。

AT指令是一个接口标准,其指令格式都比较固定。指令是以AT或者at为前缀,以回车符<CR>结尾。指令不区分大小写,但其参数对大小写敏感。AT指令包括4种类型,见表7-3。

978-7-111-44976-8-Chapter07-39.jpg

图7-29 主程序流程

表7-3 AT指令类型

978-7-111-44976-8-Chapter07-40.jpg

2.华为的GTM900-C模块连接到监控中心AT指令设计实现

GTM900-C模块中,内嵌了TCP/IP协议,并且以AT指令的形式给气象监测系统(本设计采用S3CARM2440)提供接入GPRS网络进而接入Internet的API。通过GTM900-C模块连接到监控中心一般要经过以下几步(如无特别说明,AT指令返回OK表示成功,返回ERROR表示失败)。AT命令集的应用如下:

(1)检查终端是否已连接到网络

AT%TSIM /∗测试SIM卡是否存在∗/

AT+COPS? /∗查询运营商∗/

AT+CSQ? /∗查询信号质量?∗/

(2)设置数据格式

AT%+IOMODE=1,1,0 /∗模块对数据进行压缩转换,使用单连接AT命令,使用链接缓存∗/

(3)建立PDP上下文

AT%+CCDCONT=1,“IP”,“CMNET” /∗注册移动的CMNET网关∗/(www.daowen.com)

(4)建立GPRS网络连接

AT+CCREC? /∗查询GPRS网络注册状态∗/

AT%ETCPIP=“user”,“gprs”/∗注册用户名密码,GPRS初始化,并等待分配IP/∗

/∗当收到ok后表示分配IP完成,这个时间根据网络有所不同,建议等待时间可以设定为10s,注册过程中做其他AT操作会导致注册不到IP∗/

AT%IPETCPIP? /∗查询GPRS初始化是否成功,如成功则返回IP地址∗/

(5)与监控中心建立网络连接

AT%IPOPEN=“TCP”,ip,port/∗设置监控中心服务器的协议类型、IP地址和端口号∗/

至此,终端已与监控中心建立了网络连接,可用下面的AT命令进行数据的收发操作。

AT%IPSEND=“send_data” /∗发送数据send_data∗/

AT%IPDQ /∗查询收到的数据包∗/

AT%IPDR /∗读取数据∗/

AT%IPDD /∗删除数据∗/

3.终端软件设计

由ARM微处理器编程实现IP模块相关指令及GPRS模块相关指令。完成终端的上网、建立连接、发送数据等功能。使用C语言和IARforARM编译环境进行软件开发。程序分为主程序、终端串口通信程序和电梯信号采集/控制程序。主程序完成GPRS模块初始化与网络连接等操作,串口通信程序完成GPRS模块和监控中心计算机之间的数据传输、气象数据采集等。

1)GPRS通信传输模块,实现数据“透明传输”功能。终端将待上传的数据暂存在一个ARM2440的缓冲区中,主循环程序检测到上传数据标识置位则启动数据上传模块。对于接收到的来自监控中心的数据,采用主循环程序中直接发送AT读指令的方法来提取数据。

2)GPRS线路维护模块,在每次心跳包时间到的时候,向监控服务器发送一固定数据帧,然后判断接收到已定义的握手数据包,或者若是接收超时的情况,重新登录GPRS,实现终端和服务器间网络连接断开后的重新连接。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈