3.1 GPRS模块的软件设计
GPRS与单片机通信的关键部分是该模块的初始化,初始化完成后,单片机向GPRS模块发送数据,步骤如下:
(1)运用命令AT+IPR=9 600(默认)设置波特率,可自由用此命令切换通信速率。支持掉电保存,因此只需要设1次,不需要每次开机重设。
(2)运用命令AT+CGDCONT=1,“IP”,“CMNET”命令设置GPRS接入网关。
(3)运用命令AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务,但只能运行1种业务。
(4)运用命令AT+CGACT=1,1命令激活GPRS功能,如果返回OK,则GPRS连接成功;如果返回ERROR则意味着GPRS失败。
(5)运用命令AT+CIPSTART=“TCP”,“客户端IP”,“端口号”来连接客户端服务器。
(6)AT%CGPC0=1,“PAP”,1(PAP验证,默认的用户名和密码)AT$DESTINFO=“XXXX.XXXX.XXXX.XXXX”, 1,1234这1条指令中XXXX.XXXX.XXXX.XXXX指的是远端的1个IP地址,这个IP地址必须是正确的,1234指的是端口号,这个端口号是远端的接收程序默认或者设定的端口号。这里设定的端口号必须要和远端接收程序的端口号一致。
通过上面的初始化,单片机读取的读卡器信息就可以通过GPRS数据业务将巡更员的信息发到监控中心[2]。
3.2 读卡器软件设计
读卡器软件设计是单片机控制MF RC522对MIFARE卡的操作,包括主控程序、PIC单片机初始化、读卡器核心模块RC522初始化、RC522读写子程序、防冲突子程序和数据块操作子程序等[3]。
单片机与MIFARE卡进行通信是通过天线发送协议IS014443A所规定的指令代码和数据格式来实现的。例如向卡片发送数据是通过向读卡器核心模块RC522内的FIFOData寄存器写入待发送数据,Command寄存器装入命令Transceive的代码0x1e,RC522就会将数据发送出去,卡中返回数据则存放在FIFOData寄存器中,由单片机读取后写入串口通过GPRS发送到控制中心。读卡器对MIFARE卡片的操作流程如图4所示[4]。
(1)复位应答操作通知MF RC500有效工作范围(距离)内寻找MIFARE卡片。
(2)如果多余1张的MIFARE卡片在读卡器天线的有效工作范围(距离)内,必须执行防重叠操作,返回1张卡片的序列号,作为本次操作的对象,而其他卡片处于等待状态。
(3)在成功执行防重叠操作之后或在任何时候,当程序员想与己知序列号的卡片进行通信时,必须执行选择卡片操作,以建立与所选卡片的通信,同时返回该卡片的字节数。
(4)为保证对卡片操作的合法性,在对卡片操作前必须在卡片和读卡器之间进行认证操作。
3.3 上位机软件设计
监控中心的上位机软件采用VC 6.0实现,主要作用是监控各个巡更机信息,并通过GPRS数据链路给各个巡更机发送命令。本系统不属于重点讨论对象,只简要概述。
通过具体分析小区的物业管理特征,针对现有巡更机特点进行改进设计,提出了一种新式的在线式巡更管理系统,实现小区巡更信息采集的网络化、无线化。采用非接触式IC卡操作及信息获取简便,极大地提高了社区管理效能和办公工作效率。采用GPRS业务作为数据传输载体,使得系统安装简便,调试维护较容易,性能价格比好。同时系统结构紧凑、易于扩充连接,有极好的灵活性,具有很好的应用前景。