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

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

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

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

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

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

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

 

 

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