基于GSM网络的UPS监控系统设计
程序根据UPS的类型分成查询单进单出UPS子程序、查询三进单出UPS子程序和查询三进三出UPS子程序3部分。主要功能是发送查询命令给远程监控点,以获取需要的状态信息。同样,发送命令后,转向接收数据子程序,等待数据返回。
接收数据子程序主要用于接收远程监控点返回的数据。UPS可能随时发生故障,因此,在不进行其他操作的情况下,接收数据子程序总是运行的,这样可及时得到远程监控点返回的报警信息。接收数据子程序会把接收到的有用信息存进数据库,作为历史记录。
修改用户信息子程序主要用来设置打开此软件的用户名和密码,防止不法人员登录进行破坏性操作。
由于每台UPS都配备一张SIM卡,因此本系统通过SIM卡来识别UPS。在此系统中,事先把SIM卡号码存进数据库,通过循环的方式可以同时对多台UPS进行设置和发送查询命令,给管理带来极大的方便。本系统采用单字节读取串口缓冲区,如果短消息到来而系统又在发送数据,则先把短消息编号存进数组,等空闲之时再根据短消息编号自动去读取短消息,从而实现群发群收的功能。由于SIM卡存储的短消息数量有限,因此数据一旦存进数据库,程序就自动发送命令把SIM卡上的短消息删除。
3 远程监控点的系统设计
3.1 远程监控点的硬件设计
远程监控点主要由GSM通信模块、单片机和UPS组成。单片机主要有两个功能:一是控制GSM通信模块收发短消息;二是查询UPS的工作状态。由于单片机传输的是TTL电平,而GSM通信模块和UPS传输的是RS-232电平,因此在单片机与GSM通信模块之间、单片机与UPS之间用芯片MAX232进行电平转换。硬件原理图如图6所示。
从图6可以看出,这个系统中要用到两个串口,而AT89S52只有1个串口,如何解决呢?在本系统中用P3.2,P3.3来模拟串口的功能,从而解决问题。
由于单片机窄闲时就要查询UPS是否有故障,因此必须存储用来查询UPS工作状态的命令。不同类型的UPS有不同的命令,若把这些命令存储在程序存储器中,不同型号的UPS就要用不同的监控模块,这样就降低了监控模块的通用性。在本系统中用了一块AT24C04型E2PROM,只要监控中心把查询UPS工作状态的命令发过来,远程监控点就把这些命令存入AT24C04。这样,单片机就可从AT24C04中取出这些命令去查询UPS,也就是说,监控模块可以用于不同型号的UPS。至于监控模块用于监控何种UPS,只要通过监控中心设置就行,显然这种方案提高了通用性。
单片机与AT24C04通过I2C通信。AT24C04除了存放查询UPS工作状态的命令外,还用来存储监控中心和值班人员的SIM卡号码。
3.2 远程监控点的软件设计
远程监控点主要是单片机编程,采用汇编语言。汇编语言具有速度快、效率高等优点,可以提高系统的响应速度。本系统编程较复杂。
程序运行后,首先对GSM通信模块进行初始化,接着判断AT24C04中是否已经存储了监控中心的电话号码和用来查询UPS工作状态的命令。如果已经存储了,则把这些信息读取出来,如果还没有这些信息,则不作操作,等待监控中心发送命令设置。
监控中心任何时刻都可能给远程监控点发送命令,显然用查询的办法来判断短消息是否到来很浪费资源,因此,本系统采用中断的方式,即有短消息到来时就发生中断,并设置标志位。因此,在初始化后进入主循环,首先通过标志位来判断是否有新的短消息到来。如果有新的短消息,则通过渎取短消息头来判断短消息类型;如果足设置类短消息,则做相应的设置,并发送确认信息给监控中心,然后返回主程序;如果是监控中心发来的查询命令,则查询UPS状态,并把UPS返回的数据发送给监控中心,然后返叫主程序。
大部分时间,监控中心不会发送命令过来,这时就不需要处理新的短消息,而转去查询UPS的工作状态。如果UPS没有发生故障,则返回的数据是正常的,这时单片机不做任何操作,返回主程序。如果UPS发生故障,单片机就控制GSM通信模块,把故障信息发送给值班人员和监控中心,这样值班人员就可以及时到现场对UPS进行维修,把损失降到最低,而监控中心把所有的故障信息和状态信息都存人数据库。
4 结束语
现有的GSM网络技术成熟、运行稳定、覆盖面广。对于数据流量不大、监控点分散的数据采集系统,利用GSM网络的SMS来传送数据,具有永远在线、不需拨号、价格便宜等优势,可以大大地节省人力、物力和财力。本系统只要通过适当的修改就可以用于其他远程监控系统,具有一定的推广价值。
- GSM-R系统在铁路通信网络中的应用(08-26)
- 基于GSM模块的移动购物系统设计(08-23)
- 基于GSM的远程智能汽车温控系统原理(08-27)
- DSP技术在移动通信中的应用(09-18)
- 基于GSM的宽带LNA电路设计(10-15)
- 远程自动控制系统在智能家居中的应用(10-16)