基于GSM的小区远程抄表系统设计方案文章出处:dzsc.com发布时间:2011/06/02|25次阅读|0次推荐|0条留言众所周知,居民用水、用电、用气一户一表工程实施后,首先需要解决的就是抄表到户的问题。但是小区水、电、气抄表收费是一项费时、费力、繁琐、单调的工作,又是一项运算量大,运算准确度要求高,容易产生纠纷的工作,要保证水、电、气抄表收费的正常高效的运作,提高经济效益和社会效益,必须依靠现代化技术手段,即采用电子测量技术、计算机技术、网络技术、通讯技术、数据库技术构成具有采集、存储、传输、归并、处理、计算、显示、查询、打印等一系列功能组合的完整的一体化系统,以克服传统的纯人工处理的不准确、不统一、实时性差、周期长、工作量大的问题。目前抄表技术及方式比较多,如人工抄表、红外抄表、电话线/无线载波抄表等。而这些抄表方式在抗干扰、配电网络及集成度高、范围广等方面存在弊端。近来随着移动通讯技术的发展,使用公用无线信道的全球移动通信系统(GlobalSystemforMobileCommunications,GSM)采用了通用分组无线业务(GeneralPacketRadioService,GPRS)通信方式,并且备了无需投资建设无线网路、通信覆盖范围大、安装施工十分方便等优点,越来越被广大用户所青睐。1抄表系统的硬件设计1.1基于GSM的小区水、电、气远程无线抄表系统组成原理抄表系统的硬件设计是其系统软件设计(管理信息系统)的基础,本文所设计的基于GSM的小区水、电、气远程无线抄表系统,是在紧跟当今无线抄表系统发展趋势,结合曾经为某个企业小区设计的远程无线抄表系统的基础上提炼而成的。其硬件组成原理如图1所示。图1基于GSM的无线远程抄表系统组成原理从图1中可以看出,系统由控制端的主控计算机(PC)、数据传输模块和受控端的若干个智能抄表模块组成。其中每个智能抄表模块都包含三个子部分,分别是智能水电气表组、数据采集子模块(含集中器)和GSM数据传输子模块。每个智能抄表模块中都包含一定数量的小区住户的智能表具,这些表具通过数据采集子模块集中在一起。1.2GSM通信模块的选用与设计本设计采用TC35T作为通信模块。TC35T是SIEMENS公司推出的GSM专用调制解调器,它可在GSM网中完成语音、数据、短消息以及传真的传送。TC35T具有标准的工业接口和完整的SIM卡阅读器,因此使用非常简单。另外从成本上看,TC35T价格便宜,经济实惠。由TC35T构成的远程抄表系统的监控系统由控制端和受控端两部分组成,如图2所示。控制端由GSM模块TC35T和PC两部分组成;受控端由单片机(数据采集模块)、GSM通信模块TC35T及智能水电气表组三部分组成。其中PC用于监视与控制,它的主控程序通过TC35T对受控设备发出短信息。受控端的TC35T接收短信息后,通过串行口R232传给单片机,单片机根据接收到的短信息进行处理,从中提取控制命令,再对被控智能表具进行相应的操作控制。智能水电气表的每月用量信息也是以短信息的形式通过TC35T发送给短信息服务中心(SMSC),再由短信息服务中心发送给控制端TC35T,最后通过串行口RS232传给PC。PC收到短信息后,根据短信息的内容可发回短信息进行控制;或者将短信息进行处理,把相应的抄表数据存入到管理信息系统的数据库中。图2TC35T构成的远程抄表系统的监控系统GSM模块TC35T使用的是AT指令集,它是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对短信息的控制。对短信息的控制共有三种实现途径:Block模式、Text模式和PDU模式。Text模式比较简单,很多诺基亚手机支持该模式,但缺点是不能收发中文短信。发送和接收中文或中/英文混合的短信息必须采用PDU模式,短信息正文经过16进制编码后进行传送。软件编程分为控制端(PC与TC35T串行通信)编程和受控端(单片机与TC35T通信)编程。PC机端的串口通信软件可采用VC++6.0开发(也可使用VC++.NET),它主要包括控制界面、接收/发送短信息、数据处理三方面的编程开发。PC以16进制发送数据给控制端TC35T后,控制端TC35T再以短信息的格式通过短信息服务中心发给受控端的TC35T。当控制端的TC35T接收到受控端TC35T传来的抄表短信息后,PC可以通过中断方式或者查询方式将短信息从串行口中读取。2远程无线抄表管理信息系统的设计基于B/S模式的远程抄表管理信息系统结构如图3所示,主要分为三个层次:客户端Web浏览器、Web服务器、数据库服务器。用户通过客户端浏览器输入URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结构以HTML形式返回给客户端浏览器。其中Web服务器包含系统的应用逻辑,它的主要任务是根据用户发出的请求,通过ADO.NET与数据库进行连接,向数据库服务器提出数据处理请求,之后再将数据库服务器的处理结果提交给客户端浏览器,供用户查看。图3基于B/S模式的远程抄表管理信息系统结构在该管理信息系统中,将所有用户分为三类,分别是一般用户(小区住户)、抄表管理员物业小区高层管理者。根据实际的物业小区抄表管理工作的具体要求,该管理信息系统的总体功能结构设计如图4所示;Web页面流程如图5所示;部分Web页面效果图如图6、图7所示。图4水电气远程抄表管理信息系统系统功能图图5Web页面结构图图6Web页面效果图(1)图7Web页面效果图(2)3抄表管理信息系统关键环节3.1身份验证与授权由于本抄表管理信息系统是在ASP.NET框架下开发的,所以,抄表系统的安全控制也就是ASP.NET应用程序的安全控制,是通过对ASP.NET的配置系统的设置和身份验证来实现的。身份验证的目的是鉴别用户。通常把未经过身份验证的用户叫做匿名用户。ASP.NET配置系统提供了配置身份验证模式类型的authentication标记,通过修改其mode属性可以设置身份验证的模式。mode属性的4种可能值为Windows,Forms,Passport和None,分别代表了ASP.NET内置的4种不同类型的身份验证模式。属性mode的默认模式为Windows,表示用户身份验证是基于登录Windows时所提供的身份验证信息,这种模式适用于由Windows系统组成的内部网中;属性mode为Passport意味着使用Microsoft提供的Internet范围的Passport集中身份验证服务;属性mode为Forms意味着使用Forms身份验证;属性mode为None表示不作身份验证。Forms身份验证也称为基于Cookie的身份验证。对于Forms身份验证,在使用配置系统的授权标记authorization拒绝了匿名用户访问的情形下,如果未经身份验证的用户请求受保护的页面,将被重定向到一个获取用户名及口令的登录窗体,由用户在登录窗体中输入个人信息并提交该窗体。如果用户提交的用户名及口令通过了身份验证,ASP.NET将创建包含用户名的加密Cookie。此Cookie在用户机上缓存,并附加到后续的每个页面请求中,用以标识该用户。Forms身份验证由开发人员自行设计登录窗体,因此可在很大程度上控制如何对网站的用户进行身份验证,并选择存储用户信息的方式。所以,在ASP.NETWeb应用程序中,使用Forms身份验证通常是最佳的选择。对于本抄表管理信息系统而言,虽然大部分资源会开放给广大用户,但是,有些信息比如用户基本资料管理和用户收费管理等,是严格禁止一般用户随意加以访问和更改的。WEB应用程序的安全性必须通过绝对的安全机制来加以保护,以确保用户的权益和信息的安全。ASP.NET支持四种类型的验证模式,本管理信息系统的设计中采用了基于表单的验证(Forms身份验证)。表单的验证的优势在于它可以把用户名和密码保存到任何你所期望的存储机制中,比如,可以把用户名和密码保存到Web.Config文件、XML文件或数据表中。在本设计中,将用户名和经过哈希加密的密码保存在了“水电气管理”数据库的数据表“UserList”中,并且使用表单验证可以轻松地设立一个自动用户注册系统。在这种情况下,添加一个新的注册用户就与添加一个新的用户名和密码数据库表一样简单了。3.2登陆页面的后台功能代码设计后台功能代码(Login.aspx.cs)的程序设计是在前台页面设计的基础上进行的。在该页面后台代码的设计中,验证用户名和用户密码的合法性是通过点击“登陆”按钮,引发Button-Click事件来调用一个名为DBAuthenticate的存储过程实现的。当用户点击“登陆”按钮的时候,会产生Button-Click事件,该事件接收用户在登陆页面上输入的用户名和密码的文本框内的值,然后访问名为“水电气管理的数据库,并调用DBAuthenticate存储过程(该存储过程的详细设计在接下来的小节中有详细介绍),然后根据存储过程返回值的不同,ASP.NET应用程序做出不同的响应。Button-Click事件的程序流程图如图8所示。图8Button-Click事件的程序流程在应用程序中可以通过两种方法执行SQL语句:在Web页面的代码中直接执行语句,或是把SQL语句封装到存储过程,然后在页面中执行存储过程。构建存储过程要比直接在页面上执行SQL语句稍微复杂一些。但是,利用存储过程的优势可以提高应用程序的性能和可维护性。在ASP.NET应用程序中使用存储过程访问数据库的步骤如下:(1)创建一个SQL存储过程,其中包含要执行的语句。(2)导入System.Data命名空间。(3)把存储过程名称传递给SqlCommand类的实例。把SqlCommand类的CommandType属性设置CommandType.StoredProcedure值。存储过程在本管理信息系统中大量使用,使系统的响应时间有较大的提高,提高了系统的性能。在上面的Button-Click事件的设计中使用到的DBAuthenticate存储过程的程序设计流程如图9所示。该存储过程是一个带有返回值存储过程,它有三个返回值,DBAuthenticate存储过程是三个返回值中的一个。首先,该存储过程判断所输入的用户名是否存在,如果不存在则返回值-2;如果用户名存在,则继续判断用户密码哈希值是否正确,如果正确,表明用户名和密码匹配,返回该用户的ID值,如果不正确,返回值-2,表明用户名存在,但用户密码不正确。抄表系统登陆页面的设计是整个WEB应用程序设计的最初框架,有了这样的一个框架,就可以根据功能设计的要求在框架内填加相应的功能模块了。4结语远程无线自动抄表系统采用GPRS通信技术,实现了电表数据抄收的功能,解决了实时性、抄收成本及通信距离等问题。本系统已运用于现场,实践证明本系统在原有的抄表技术的基础上得到进一步的改进,不仅受到物业管理部门的青睐,而且受到普通老百姓的欢迎。相信在合理利用GPRS通信技术的前提下,这种远程无线自动抄表技术也将会得到更好的发展和提高,也会有更加美好的市场前景