《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 嵌入式智能移动水资源监测管理平台设计
嵌入式智能移动水资源监测管理平台设计
来源:微型机与应用2012年第16期
胡 盾,温宗周
(西安工程大学 电子信息学院,陕西 西安710048)
摘要: 针对水资源监测系统监测站搭建调试工作艰难,线路管理维护不方便的问题,设计了一款基于嵌入式的采用CDMA方式进行无线采集和通信,以Wince下的数据库进行信息管理工作的可移动水资源监测系统。给出了系统工作原理及各模块软硬件设计的方法,并对基于Wince的智能设备下数据库的使用作出了说明。实验证明,该系统具有可靠性高、管理方便直观的特点。
Abstract:
Key words :

摘  要: 针对水资源监测系统监测站搭建调试工作艰难,线路管理维护不方便的问题,设计了一款基于嵌入式的采用CDMA方式进行无线采集和通信,以Wince下的数据库进行信息管理工作的可移动水资源监测系统。给出了系统工作原理及各模块软硬件设计的方法,并对基于Wince的智能设备下数据库的使用作出了说明。实验证明,该系统具有可靠性高、管理方便直观的特点。
关键词: Wince;数据库;.NET技术;水资源

    无论在任何时代,水资源的使用以及水环境的治理都是关乎工业、农业和人民日常生活的大问题。而我国的水资源现状为:水资源短缺、水污染严重、水土流失严重、水价严重偏低、水资源浪费严重;南方水多,北方水少,西部水少,沿海水多。所以,水资源的监管和控制无论是深度和力度都必须有足够的保证[1]。
    2011年中央一号文件《中共中央国务院关于加快水利改革发展的决定》提出,水是生命之源、生产之要、生态之基,不仅关系到防洪安全、供水安全、粮食安全,而且关系到经济安全、生态安全、国家安全。因此要全面加快水利基础设施建设,实行最严格的水资源管理制度。
    在中国城市水的使用中,工业用水占总用水量的70%左右。如果能够采用合适的科技手段率先将这部分用水实现自动化计量、管理以及水质监测,就可以将城市的水管理提高到一个比较高的层次,有利于提高节约意识,进一步节约能源,同时带来更多的经济效益。
    本文从实际应用出发,在目前广泛采用的监测站加中心站模式的基础上设计了一个可移动的嵌入式通用型监测管理平台。
1 系统工作方式及功能简介
    传统的监测网络工作方式如图1所示,中心站通过网线接入CDMA或GPRS网络,发送指令到监测站进行监测工作[2]。而本文设计了一款基于嵌入式的便携式移动中心站,该系统能够替代中心站的功能进行调试检测等工作,既可以通过RS232与监测站设备连接调试,也可以通过CDMA方式进行无线采集,同时又可与中心站进行通信。

    这种工作模式的优势在于:(1)站点位置可随时更改,满足管理人员随时随地查看现场、监测现场情况的需要;(2)工作人员在监测站建立和维修时可以起到事半功倍的作用,为无线网络测试工作带来了极大的便利,可取代以电话通信来调试无线网络的状况;(3)小成本带来高效率的工作方式。
    本文采用S3C2440处理器与Wince系统相结合进行移动中心站的硬件和软件设计,可代替中心站实现主动招测、定时数据上报、定时状态上报、上报信息入库和查询以及导出文档记录等功能。
2 系统框图介绍
    如图2所示,本系统主要结构可分为供电模块、显示模块、存储模块、通信模块以及各类数据采集接口等。其中通信部分主要以华为公司的mc323通信模块作为主芯片,结合TCP/IP技术实现无线数据的点对点传输,移动中心站既可作为服务器向监测站发送指令,也可以作为客户端向中心站发送采集到的数据,同时可对指定手机用户以短信的方式发送实时采集到的数据。主要的数据采集接口包括USB接口、RS232接口、RS485接口以及以太网口等[3-4]。电源模块外部供电采用12 V锂电池,根据系统需要进行电压转换,在系统外围留有充电器接口,可采用专用适配器进行充电,固定放置时也可外接太阳能电池板进行充电。其他模块可根据系统功能进行定制。

3 主动召测与实时上报
    如图3所示,主动召测功能可测得当前系统的水流量报警门限值、一定时间内的累计水流量值,以及产品规格和警报强度,同时可通过该软件对系统参数进行配置,如报警次数和警报强度等。

3.1 通信协议格式
    由于采用RS485总线格式通信,故协议中加入地址位,以区分数据来源或数据发送目的地[5-6]。格式如下所示:

3.2 主动上报功能
    为了实时地从下位机中了解现场情况,一般会让下位机定时采集数据并上报,同时还要上报设备的运行情况,但不可能总是守在上位机前查看信息,这就要求控制终端设备上或上位机装有强大的数据管理系统,也就是通常所说的数据库,本系统在装有Wince的智能设备上实现了定时上报的数据入库、数据库按条件检索显示和数据库导出等功能,成功解决了系统数据管理的问题。
    对于Wince下数据库的使用,可以借助Microsoft Visual Studio .NET和Microsoft SQL Server 2000 Windows CE Edition(SQL Server CE)共同开发。
    如果系统中没有任何SQL Server CE数据库,就需要在软件加载时,在Microsoft Visual Studio .NET项目中创建新的数据库,同时要检查系统是否缺失数据库管理工具,软件将自动从SD卡中将Microsoft SQL Server Compact Edition的相关文件拷贝到系统的Programs目录下。
3.2.1 创建SQL Server CE数据库
    数据库是容纳存储结构化数据的表的容器,要存储不同类别的数据,可以建立不同的表来管理,但在这之前必须先建立数据库。
    在C#中,可以使用System.Data.SqlCeEngine对象创建自己的空数据库,此处创建的数据库名称的文件扩展名为.sdf。使用Microsoft SQL Server Compact Edition即可在Wince下查看修改此数据库。
    SqlCeEngine eg = new SqlCeEngine ("Data Source =
\\SDMEM\\数据库.sdf");
    eg.CreateDatabase();
    下面就可以链接该数据库进行修改操作了。
    SqlCeConnection Con1 = null;
    Con1 = new SqlCeConnection("Data Source =
\\SDMEM\\数据库.sdf");
    Con1.Open();
3.2.2 创建表
    有了数据库文件后,就可以创建自己需要的表了,这时需要调用SqlCeCommand类来加载SQL语句:
    SqlCeCommand cmd = conn.CreateCommand();
    "CREATE TABLE 数据上报库(序号 int, 站号 int, 时间全 datetime default('2000-02-03 01:01:01'), 通道数据 ntext,日期 int,时间 int)";
    cmd.ExecuteNonQuery();
    上述语句即完成了名为数据上报库的表的创建,表中包含序号、站号(下位机编号)、通道数据等9个列,涵盖了下位机地址、上报时间、上报数据通道号及数据内容等信息的分类。按照同样的方法,可以在数据库中建立一个名为状态上报库的表,用以管理定时上报的设备电压和信号强度等信息。
3.2.3 数据入库
    将上报的数据按照上文中的协议标准核对后,若确认为定时上报的数据即可将数据存入表中。这里采用参数形式依次将数据插入到表中,并限定参数的属性和格式大小:
    cmd.CommandText = "INSERT INTO 数据上报库(序号,
站号,时间全, 通道数据,日期 ,时间)
VALUES ( ?, ?, ?, ?,?,?)";
    cmd.Parameters.Add(new SqlCeParameter("p3",
SqlDbType.DateTime));
    cmd.Parameters["p3"].Size = 500;
    cmd.Prepare();
    下面直接将变量的值赋给形参,就把变量“a0”的值插入到表“数据上报库”中了,以同样的方式可以给表中其他的变量依次赋值。
    cmd.Parameters["p3"].Value ="2012-03-19 21:31:03";
3.2.4 按条件检索
    数据库的一个重要功能就在于可以按条件检索库中的数据,当然大多数人并不习惯使用数据库管理工具来检索,所以本系统中直接加入了按条件检索数据的功能,可以方便直观地帮助管理员来查看某个时间段或某个站号的上报数据。图5所示为条件检索及检索结果的系统截图。

 

 

    使用SQL语句中的Select语句可对表中数据进行检索,如:
    string cc = "SELECT * FROM 数据上报库 where 日期=
'{0}'and 站号='{1}'and 时间>='{2}'and 时间<'{3}'"
    cmd.CommandText =(cc, rq, zh, sj, sj1);
    上述语句可将搜索范围缩小至:在日期=rq,时间段sj至sj1内站号为zh的下位机上报的数据,同样的方法可对状态上报库的数据进行检索。
    当然,可以扩大搜索范围,这里以Replace函数对SQL语句中的“cc”字符串进行修改,如不需要限定时间段,则可以修改“cc”语句为:
    cc=cc.Replace("and 时间>='{2}'and 时间<'{3}'", "");
    这样Select语句就变为“SELECT * FROM 数据上报库 where日期='{0}'and 站号='{1}'”,检索结果就只有日期和站号了。
3.2.5 数据库导出
    对于普通工作人员,一般不习惯查看和存档数据库文件,这样数据的导出则成为一项实用的功能,由于Wince下智能设备不支持excel文件的生成和浏览,所以本系统将数据库导出为txt文本,导出后可查看核对信息,并可以将txt文本转移至任意一台PC机上使用。在导出文件时借助System.Data.SqlServerCe.SqlCeDataReader和 FileStream对象对数据库中的数据进行读写操作即可。
    本文利用RS485总线技术和.NET技术,设计实现了水资源远程监测系统,给出了系统体系结构、工作原理并详细介绍了Wince下数据库的使用方法。本系统在实践中运行稳定,管理方便,有效地解决了大型取用水户的远程监测问题。
参考文献
[1] 朱虹.合理利用水资源,建立节水型社会[J].江西能源,2003(4):9-10,16.
[2] 胡胜利,胡彪.基于GPRS无线技术的水资源计量监测系统的设计[J].水利水电技术,2010,41(4):87-90.
[3] 李达,邢智慧.水资源监测网络研究[J].水资源研究,2009(3):9-10.
[4] 许燕萍,杨代华.RS485串行总线可靠性的研究[J].电子科技,2009,22(2):8-10.
[5] 杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.
[6] 金鹏,陈锋,张旭,等.基于RS-485总线的嵌入式水质监测网络[J].仪表技术,2010(8):14-16.

此内容为AET网站原创,未经授权禁止转载。