《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 嵌入式智能移動水資源監(jiān)測管理平臺設(shè)計(jì)
嵌入式智能移動水資源監(jiān)測管理平臺設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2012年第16期
胡 盾,溫宗周
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
摘要: 針對水資源監(jiān)測系統(tǒng)監(jiān)測站搭建調(diào)試工作艱難,線路管理維護(hù)不方便的問題,設(shè)計(jì)了一款基于嵌入式的采用CDMA方式進(jìn)行無線采集和通信,以Wince下的數(shù)據(jù)庫進(jìn)行信息管理工作的可移動水資源監(jiān)測系統(tǒng)。給出了系統(tǒng)工作原理及各模塊軟硬件設(shè)計(jì)的方法,并對基于Wince的智能設(shè)備下數(shù)據(jù)庫的使用作出了說明。實(shí)驗(yàn)證明,該系統(tǒng)具有可靠性高、管理方便直觀的特點(diǎn)。
Abstract:
Key words :

摘  要: 針對水資源監(jiān)測系統(tǒng)監(jiān)測站搭建調(diào)試工作艱難,線路管理維護(hù)不方便的問題,設(shè)計(jì)了一款基于嵌入式的采用CDMA方式進(jìn)行無線采集和通信,以Wince下的數(shù)據(jù)庫進(jìn)行信息管理工作的可移動水資源監(jiān)測系統(tǒng)。給出了系統(tǒng)工作原理及各模塊軟硬件設(shè)計(jì)的方法,并對基于Wince的智能設(shè)備下數(shù)據(jù)庫的使用作出了說明。實(shí)驗(yàn)證明,該系統(tǒng)具有可靠性高、管理方便直觀的特點(diǎn)。
關(guān)鍵詞: Wince;數(shù)據(jù)庫;.NET技術(shù);水資源

    無論在任何時(shí)代,水資源的使用以及水環(huán)境的治理都是關(guān)乎工業(yè)、農(nóng)業(yè)和人民日常生活的大問題。而我國的水資源現(xiàn)狀為:水資源短缺、水污染嚴(yán)重、水土流失嚴(yán)重、水價(jià)嚴(yán)重偏低、水資源浪費(fèi)嚴(yán)重;南方水多,北方水少,西部水少,沿海水多。所以,水資源的監(jiān)管和控制無論是深度和力度都必須有足夠的保證[1]。
    2011年中央一號文件《中共中央國務(wù)院關(guān)于加快水利改革發(fā)展的決定》提出,水是生命之源、生產(chǎn)之要、生態(tài)之基,不僅關(guān)系到防洪安全、供水安全、糧食安全,而且關(guān)系到經(jīng)濟(jì)安全、生態(tài)安全、國家安全。因此要全面加快水利基礎(chǔ)設(shè)施建設(shè),實(shí)行最嚴(yán)格的水資源管理制度。
    在中國城市水的使用中,工業(yè)用水占總用水量的70%左右。如果能夠采用合適的科技手段率先將這部分用水實(shí)現(xiàn)自動化計(jì)量、管理以及水質(zhì)監(jiān)測,就可以將城市的水管理提高到一個(gè)比較高的層次,有利于提高節(jié)約意識,進(jìn)一步節(jié)約能源,同時(shí)帶來更多的經(jīng)濟(jì)效益。
    本文從實(shí)際應(yīng)用出發(fā),在目前廣泛采用的監(jiān)測站加中心站模式的基礎(chǔ)上設(shè)計(jì)了一個(gè)可移動的嵌入式通用型監(jiān)測管理平臺。
1 系統(tǒng)工作方式及功能簡介
    傳統(tǒng)的監(jiān)測網(wǎng)絡(luò)工作方式如圖1所示,中心站通過網(wǎng)線接入CDMA或GPRS網(wǎng)絡(luò),發(fā)送指令到監(jiān)測站進(jìn)行監(jiān)測工作[2]。而本文設(shè)計(jì)了一款基于嵌入式的便攜式移動中心站,該系統(tǒng)能夠替代中心站的功能進(jìn)行調(diào)試檢測等工作,既可以通過RS232與監(jiān)測站設(shè)備連接調(diào)試,也可以通過CDMA方式進(jìn)行無線采集,同時(shí)又可與中心站進(jìn)行通信。

    這種工作模式的優(yōu)勢在于:(1)站點(diǎn)位置可隨時(shí)更改,滿足管理人員隨時(shí)隨地查看現(xiàn)場、監(jiān)測現(xiàn)場情況的需要;(2)工作人員在監(jiān)測站建立和維修時(shí)可以起到事半功倍的作用,為無線網(wǎng)絡(luò)測試工作帶來了極大的便利,可取代以電話通信來調(diào)試無線網(wǎng)絡(luò)的狀況;(3)小成本帶來高效率的工作方式。
    本文采用S3C2440處理器與Wince系統(tǒng)相結(jié)合進(jìn)行移動中心站的硬件和軟件設(shè)計(jì),可代替中心站實(shí)現(xiàn)主動招測、定時(shí)數(shù)據(jù)上報(bào)、定時(shí)狀態(tài)上報(bào)、上報(bào)信息入庫和查詢以及導(dǎo)出文檔記錄等功能。
2 系統(tǒng)框圖介紹
    如圖2所示,本系統(tǒng)主要結(jié)構(gòu)可分為供電模塊、顯示模塊、存儲模塊、通信模塊以及各類數(shù)據(jù)采集接口等。其中通信部分主要以華為公司的mc323通信模塊作為主芯片,結(jié)合TCP/IP技術(shù)實(shí)現(xiàn)無線數(shù)據(jù)的點(diǎn)對點(diǎn)傳輸,移動中心站既可作為服務(wù)器向監(jiān)測站發(fā)送指令,也可以作為客戶端向中心站發(fā)送采集到的數(shù)據(jù),同時(shí)可對指定手機(jī)用戶以短信的方式發(fā)送實(shí)時(shí)采集到的數(shù)據(jù)。主要的數(shù)據(jù)采集接口包括USB接口、RS232接口、RS485接口以及以太網(wǎng)口等[3-4]。電源模塊外部供電采用12 V鋰電池,根據(jù)系統(tǒng)需要進(jìn)行電壓轉(zhuǎn)換,在系統(tǒng)外圍留有充電器接口,可采用專用適配器進(jìn)行充電,固定放置時(shí)也可外接太陽能電池板進(jìn)行充電。其他模塊可根據(jù)系統(tǒng)功能進(jìn)行定制。

3 主動召測與實(shí)時(shí)上報(bào)
    如圖3所示,主動召測功能可測得當(dāng)前系統(tǒng)的水流量報(bào)警門限值、一定時(shí)間內(nèi)的累計(jì)水流量值,以及產(chǎn)品規(guī)格和警報(bào)強(qiáng)度,同時(shí)可通過該軟件對系統(tǒng)參數(shù)進(jìn)行配置,如報(bào)警次數(shù)和警報(bào)強(qiáng)度等。

3.1 通信協(xié)議格式
    由于采用RS485總線格式通信,故協(xié)議中加入地址位,以區(qū)分?jǐn)?shù)據(jù)來源或數(shù)據(jù)發(fā)送目的地[5-6]。格式如下所示:

3.2 主動上報(bào)功能
    為了實(shí)時(shí)地從下位機(jī)中了解現(xiàn)場情況,一般會讓下位機(jī)定時(shí)采集數(shù)據(jù)并上報(bào),同時(shí)還要上報(bào)設(shè)備的運(yùn)行情況,但不可能總是守在上位機(jī)前查看信息,這就要求控制終端設(shè)備上或上位機(jī)裝有強(qiáng)大的數(shù)據(jù)管理系統(tǒng),也就是通常所說的數(shù)據(jù)庫,本系統(tǒng)在裝有Wince的智能設(shè)備上實(shí)現(xiàn)了定時(shí)上報(bào)的數(shù)據(jù)入庫、數(shù)據(jù)庫按條件檢索顯示和數(shù)據(jù)庫導(dǎo)出等功能,成功解決了系統(tǒng)數(shù)據(jù)管理的問題。
    對于Wince下數(shù)據(jù)庫的使用,可以借助Microsoft Visual Studio .NET和Microsoft SQL Server 2000 Windows CE Edition(SQL Server CE)共同開發(fā)。
    如果系統(tǒng)中沒有任何SQL Server CE數(shù)據(jù)庫,就需要在軟件加載時(shí),在Microsoft Visual Studio .NET項(xiàng)目中創(chuàng)建新的數(shù)據(jù)庫,同時(shí)要檢查系統(tǒng)是否缺失數(shù)據(jù)庫管理工具,軟件將自動從SD卡中將Microsoft SQL Server Compact Edition的相關(guān)文件拷貝到系統(tǒng)的Programs目錄下。
3.2.1 創(chuàng)建SQL Server CE數(shù)據(jù)庫
    數(shù)據(jù)庫是容納存儲結(jié)構(gòu)化數(shù)據(jù)的表的容器,要存儲不同類別的數(shù)據(jù),可以建立不同的表來管理,但在這之前必須先建立數(shù)據(jù)庫。
    在C#中,可以使用System.Data.SqlCeEngine對象創(chuàng)建自己的空數(shù)據(jù)庫,此處創(chuàng)建的數(shù)據(jù)庫名稱的文件擴(kuò)展名為.sdf。使用Microsoft SQL Server Compact Edition即可在Wince下查看修改此數(shù)據(jù)庫。
    SqlCeEngine eg = new SqlCeEngine ("Data Source =
\\SDMEM\\數(shù)據(jù)庫.sdf");
    eg.CreateDatabase();
    下面就可以鏈接該數(shù)據(jù)庫進(jìn)行修改操作了。
    SqlCeConnection Con1 = null;
    Con1 = new SqlCeConnection("Data Source =
\\SDMEM\\數(shù)據(jù)庫.sdf");
    Con1.Open();
3.2.2 創(chuàng)建表
    有了數(shù)據(jù)庫文件后,就可以創(chuàng)建自己需要的表了,這時(shí)需要調(diào)用SqlCeCommand類來加載SQL語句:
    SqlCeCommand cmd = conn.CreateCommand();
    "CREATE TABLE 數(shù)據(jù)上報(bào)庫(序號 int, 站號 int, 時(shí)間全 datetime default('2000-02-03 01:01:01'), 通道數(shù)據(jù) ntext,日期 int,時(shí)間 int)";
    cmd.ExecuteNonQuery();
    上述語句即完成了名為數(shù)據(jù)上報(bào)庫的表的創(chuàng)建,表中包含序號、站號(下位機(jī)編號)、通道數(shù)據(jù)等9個(gè)列,涵蓋了下位機(jī)地址、上報(bào)時(shí)間、上報(bào)數(shù)據(jù)通道號及數(shù)據(jù)內(nèi)容等信息的分類。按照同樣的方法,可以在數(shù)據(jù)庫中建立一個(gè)名為狀態(tài)上報(bào)庫的表,用以管理定時(shí)上報(bào)的設(shè)備電壓和信號強(qiáng)度等信息。
3.2.3 數(shù)據(jù)入庫
    將上報(bào)的數(shù)據(jù)按照上文中的協(xié)議標(biāo)準(zhǔn)核對后,若確認(rèn)為定時(shí)上報(bào)的數(shù)據(jù)即可將數(shù)據(jù)存入表中。這里采用參數(shù)形式依次將數(shù)據(jù)插入到表中,并限定參數(shù)的屬性和格式大?。?br />     cmd.CommandText = "INSERT INTO 數(shù)據(jù)上報(bào)庫(序號,
站號,時(shí)間全, 通道數(shù)據(jù),日期 ,時(shí)間)
VALUES ( ?, ?, ?, ?,?,?)";
    cmd.Parameters.Add(new SqlCeParameter("p3",
SqlDbType.DateTime));
    cmd.Parameters["p3"].Size = 500;
    cmd.Prepare();
    下面直接將變量的值賦給形參,就把變量“a0”的值插入到表“數(shù)據(jù)上報(bào)庫”中了,以同樣的方式可以給表中其他的變量依次賦值。
    cmd.Parameters["p3"].Value ="2012-03-19 21:31:03";
3.2.4 按條件檢索
    數(shù)據(jù)庫的一個(gè)重要功能就在于可以按條件檢索庫中的數(shù)據(jù),當(dāng)然大多數(shù)人并不習(xí)慣使用數(shù)據(jù)庫管理工具來檢索,所以本系統(tǒng)中直接加入了按條件檢索數(shù)據(jù)的功能,可以方便直觀地幫助管理員來查看某個(gè)時(shí)間段或某個(gè)站號的上報(bào)數(shù)據(jù)。圖5所示為條件檢索及檢索結(jié)果的系統(tǒng)截圖。

 

 

    使用SQL語句中的Select語句可對表中數(shù)據(jù)進(jìn)行檢索,如:
    string cc = "SELECT * FROM 數(shù)據(jù)上報(bào)庫 where 日期=
'{0}'and 站號='{1}'and 時(shí)間>='{2}'and 時(shí)間<'{3}'"
    cmd.CommandText =(cc, rq, zh, sj, sj1);
    上述語句可將搜索范圍縮小至:在日期=rq,時(shí)間段sj至sj1內(nèi)站號為zh的下位機(jī)上報(bào)的數(shù)據(jù),同樣的方法可對狀態(tài)上報(bào)庫的數(shù)據(jù)進(jìn)行檢索。
    當(dāng)然,可以擴(kuò)大搜索范圍,這里以Replace函數(shù)對SQL語句中的“cc”字符串進(jìn)行修改,如不需要限定時(shí)間段,則可以修改“cc”語句為:
    cc=cc.Replace("and 時(shí)間>='{2}'and 時(shí)間<'{3}'", "");
    這樣Select語句就變?yōu)?ldquo;SELECT * FROM 數(shù)據(jù)上報(bào)庫 where日期='{0}'and 站號='{1}'”,檢索結(jié)果就只有日期和站號了。
3.2.5 數(shù)據(jù)庫導(dǎo)出
    對于普通工作人員,一般不習(xí)慣查看和存檔數(shù)據(jù)庫文件,這樣數(shù)據(jù)的導(dǎo)出則成為一項(xiàng)實(shí)用的功能,由于Wince下智能設(shè)備不支持excel文件的生成和瀏覽,所以本系統(tǒng)將數(shù)據(jù)庫導(dǎo)出為txt文本,導(dǎo)出后可查看核對信息,并可以將txt文本轉(zhuǎn)移至任意一臺PC機(jī)上使用。在導(dǎo)出文件時(shí)借助System.Data.SqlServerCe.SqlCeDataReader和 FileStream對象對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行讀寫操作即可。
    本文利用RS485總線技術(shù)和.NET技術(shù),設(shè)計(jì)實(shí)現(xiàn)了水資源遠(yuǎn)程監(jiān)測系統(tǒng),給出了系統(tǒng)體系結(jié)構(gòu)、工作原理并詳細(xì)介紹了Wince下數(shù)據(jù)庫的使用方法。本系統(tǒng)在實(shí)踐中運(yùn)行穩(wěn)定,管理方便,有效地解決了大型取用水戶的遠(yuǎn)程監(jiān)測問題。
參考文獻(xiàn)
[1] 朱虹.合理利用水資源,建立節(jié)水型社會[J].江西能源,2003(4):9-10,16.
[2] 胡勝利,胡彪.基于GPRS無線技術(shù)的水資源計(jì)量監(jiān)測系統(tǒng)的設(shè)計(jì)[J].水利水電技術(shù),2010,41(4):87-90.
[3] 李達(dá),邢智慧.水資源監(jiān)測網(wǎng)絡(luò)研究[J].水資源研究,2009(3):9-10.
[4] 許燕萍,楊代華.RS485串行總線可靠性的研究[J].電子科技,2009,22(2):8-10.
[5] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.
[6] 金鵬,陳鋒,張旭,等.基于RS-485總線的嵌入式水質(zhì)監(jiān)測網(wǎng)絡(luò)[J].儀表技術(shù),2010(8):14-16.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。