基于GSM的小区远程抄表系统设计方案

出处:ligpin 发布于:2011-06-02 11:33:29

     众所周知,居民用水、用电、用气一户一表工程实施后,首先需要解决的就是抄表到户的问题。但是小区水、电、气抄表收费是一项费时、费力、繁琐、单调的工作,又是一项运算量大,运算准确度要求高,容易产生纠纷的工作,要保证水、电、气抄表收费的正常高效的运作,提高经济效益和社会效益,必须依靠现代化技术手段,即采用电子测量技术、计算机技术、网络技术、通讯技术、数据库技术构成具有采集、存储、传输、归并、处理、计算、显示、查询、打印等一系列功能组合的完整的一体化系统,以克服传统的纯人工处理的不准确、不统一、实时性差、周期长、工作量大的问题。目前抄表技术及方式比较多,如人工抄表、红外抄表、电话线/ 无线载波抄表等。

  而这些抄表方式在抗干扰、配电网络及集成度高、范围广等方面存在弊端。

  近来随着移动通讯技术的发展,使用公用无线信道的移动通信系统(Global System for Mobile Communications, GSM) 采用了通用分组无线业务(General Packet Radio Service, GPRS) 通信方式,并且备了无需投资建设无线网路、通信覆盖范围大、安装施工十分方便等优点,越来越被广大用户所青睐。

  1 抄表系统的硬件设计

  1.1 基于GSM 的小区水、电、气远程无线抄表系统组成原理

  抄表系统的硬件设计是其系统软件设计(管理信息系统)的基础,本文所设计的基于GSM 的小区水、电、气远程无线抄表系统,是在紧跟当今无线抄表系统发展趋势,结合曾经为某个企业小区设计的远程无线抄表系统的基础上提炼而成的。其硬件组成原理如图1 所示。

图1 基于GSM 的无线远程抄表系统组成原理

  从图1 中可以看出,系统由控制端的主控计算机(PC)、数据传输模块和受控端的若干个智能抄表模块组成。其中每个智能抄表模块都包含三个子部分,分别是智能水电气表组、数据采集子模块(含集中器)和GSM数据传输子模块。每个智能抄表模块中都包含一定数量的小区住户的智能表具,这些表具通过数据采集子模块集中在一起。

  1.2 GSM 通信模块的选用与设计

  本设计采用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 收到短信息后,根据短信息的内容可发回短信息进行控制;或者将短信息进行处理,把相应的抄表数据存入到管理信息系统的数据库中。

图2 TC35T 构成的远程抄表系统的监控系统

  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 水电气远程抄表管理信息系统系统功能图

图5 Web 页面结构图

图6 Web 页面效果图(1)


图7 Web 页面效果图(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.NET Web 应用程序中,使用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 所示。

图8 Button-Click 事件的程序流程

  在应用程序中可以通过两种方法执行SQL 语句:在Web 页面的代码中直接执行语句,或是把SQL语句封装到存储过程,然后在页面中执行存储过程。

  构建存储过程要比直接在页面上执行SQL 语句稍微复杂一些。但是,利用存储过程的优势可以提高应用程序的性能和可维护性。

  在ASP.NET 应用程序中使用存储过程访问数据库的步骤如下:

  (1) 创建一个SQL 存储过程,其中包含要执行的语句。

  (2) 导入System.Data 命名空间。

  (3) 把存储过程名称传递给SqlCommand 类的实例。

  把Sql Command 类的Command Type 属性设置Command Type. Stored Procedure 值。

  存储过程在本管理信息系统中大量使用,使系统的响应时间有较大的提高,提高了系统的性能。

  在上面的Button -Click 事件的设计中使用到的DBAuthenticate 存储过程的程序设计流程如图9 所示。

  该存储过程是一个带有返回值存储过程,它有三个返回值,DBAuthenticate 存储过程是三个返回值中的一个。首先,该存储过程判断所输入的用户名是否存在,如果不存在则返回值-2 ;如果用户名存在,则继续判断用户密码哈希值是否正确,如果正确,表明用户名和密码匹配,返回该用户的ID 值,如果不正确,返回值-2,表明用户名存在,但用户密码不正确。

  抄表系统登陆页面的设计是整个WEB 应用程序设计的初框架,有了这样的一个框架,就可以根据功能设计的要求在框架内填加相应的功能模块了。

  4 结语

  远程无线自动抄表系统采用GPRS 通信技术,实现了电表数据抄收的功能,解决了实时性、抄收成本及通信距离等问题。本系统已运用于现场,实践证明本系统在原有的抄表技术的基础上得到进一步的改进,不仅受到物业管理部门的青睐,而且受到普通老百姓的欢迎。相信在合理利用GPRS 通信技术的前提下,这种远程无线自动抄表技术也将会得到更好的发展和提高,也会有更加美好的市场前景。

参考文献:

[1]. PC  datasheet https://www.dzsc.com/datasheet/PC+_2043275.html.
[2]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!