李丹陽(yáng)++李彬++李江全
摘要:針對(duì)采棉機(jī)田間作業(yè)的管理需求,采用北斗衛(wèi)星導(dǎo)航(BDS)、百度地圖API技術(shù)建立了采棉機(jī)監(jiān)控系統(tǒng)。系統(tǒng)制定了車載終端與監(jiān)控服務(wù)中心的通信協(xié)議,實(shí)現(xiàn)了對(duì)采棉機(jī)工況參數(shù)、位置、時(shí)間等信息數(shù)據(jù)的采集和解析;搭建了數(shù)據(jù)庫(kù),對(duì)采棉機(jī)地理信息及狀態(tài)信息等數(shù)據(jù)進(jìn)行統(tǒng)計(jì)管理,并實(shí)時(shí)顯示在百度地圖上。經(jīng)實(shí)際應(yīng)用,系統(tǒng)實(shí)現(xiàn)了預(yù)定功能,達(dá)到了預(yù)期目標(biāo),為采棉機(jī)公司對(duì)設(shè)備的維護(hù)和管理提供了有效途徑。
關(guān)鍵詞:北斗導(dǎo)航;百度地圖API;采棉機(jī);監(jiān)控系統(tǒng)
中圖分類號(hào): TP277.2文獻(xiàn)標(biāo)志碼: A文章編號(hào):1002-1302(2015)09-0455-03
棉花是新疆生產(chǎn)建設(shè)兵團(tuán)的支柱產(chǎn)業(yè)之一[1],隨著現(xiàn)代農(nóng)業(yè)機(jī)械化不斷發(fā)展,新疆生產(chǎn)建設(shè)兵團(tuán)正大力推廣機(jī)采棉作業(yè),僅八師2013年采棉機(jī)數(shù)量就有400多臺(tái)。針對(duì)新疆機(jī)采棉分布地域廣、采棉機(jī)數(shù)量多的特點(diǎn),采棉機(jī)公司對(duì)于如何有效減少管理成本、提高采收效率有迫切需求。因此,建立采棉機(jī)監(jiān)控系統(tǒng)對(duì)采棉機(jī)的信息化管理具有十分重要的意義。本研究設(shè)計(jì)了基于北斗衛(wèi)星導(dǎo)航、百度地圖API的采棉機(jī)監(jiān)控系統(tǒng),對(duì)采棉機(jī)進(jìn)行跟蹤服務(wù),以期保證采棉機(jī)的安全,便于采棉機(jī)公司對(duì)設(shè)備的維護(hù)和管理,為公司提高經(jīng)濟(jì)效益提供有效的技術(shù)支持[2]。
1系統(tǒng)總體設(shè)計(jì)
采棉機(jī)監(jiān)控系統(tǒng)在.NET環(huán)境下開(kāi)發(fā),采用C#語(yǔ)言編寫(xiě),后臺(tái)數(shù)據(jù)庫(kù)選用SQL Server 2010,應(yīng)用北斗導(dǎo)航、地理信息及無(wú)線通信技術(shù),通過(guò)調(diào)用Baidu Maps API,結(jié)合JavaScript語(yǔ)言實(shí)現(xiàn)采棉機(jī)基本信息管理、定位監(jiān)控、工作狀態(tài)實(shí)時(shí)顯示等功能。
系統(tǒng)主要包括采棉機(jī)車載終端、監(jiān)控服務(wù)中心兩大部分,系統(tǒng)整體結(jié)構(gòu)如圖1所示。采棉機(jī)車載終端的主要功能是:利用內(nèi)置北斗導(dǎo)航模塊,定位采棉機(jī)位置信息和當(dāng)前日期、時(shí)間,及時(shí)準(zhǔn)確地獲取采棉機(jī)工況參數(shù),包括棉箱翻轉(zhuǎn)狀態(tài)、采摘頭升降狀態(tài)、發(fā)動(dòng)機(jī)轉(zhuǎn)速、風(fēng)機(jī)轉(zhuǎn)速、潤(rùn)滑脂加注和油耗等關(guān)鍵設(shè)備運(yùn)行狀態(tài)信息;通過(guò)內(nèi)置GPRS模塊,以GPRS流量方式將數(shù)據(jù)回傳至監(jiān)控服務(wù)中心[3]。
監(jiān)控服務(wù)中心接收到采棉機(jī)車載終端無(wú)線傳輸?shù)臄?shù)據(jù)后,經(jīng)過(guò)通信協(xié)議的轉(zhuǎn)換和解析,將數(shù)據(jù)存儲(chǔ)至監(jiān)控服務(wù)中心數(shù)據(jù)庫(kù),完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),并在監(jiān)控系統(tǒng)電子地圖上顯示采棉機(jī)當(dāng)前位置和工況,實(shí)現(xiàn)采棉機(jī)的實(shí)時(shí)定位和路徑導(dǎo)航。當(dāng)采棉機(jī)狀態(tài)信息異常時(shí),監(jiān)控服務(wù)中心的工作人員能夠及時(shí)通知駕駛員采取措施,以保證采棉機(jī)正常工作。
監(jiān)控服務(wù)中心的WebGIS平臺(tái)采用百度地圖API技術(shù)構(gòu)建。Baidu Map作為一種電子地圖服務(wù),多數(shù)應(yīng)用于Web應(yīng)用程序中,百度允許開(kāi)發(fā)者不建立自己的地圖服務(wù)器,而通過(guò)網(wǎng)頁(yè)將百度地圖數(shù)據(jù)嵌入網(wǎng)站中;對(duì)于桌面應(yīng)用程序,百度地圖可通過(guò)WebBrowser控件模仿IE的功能對(duì)其進(jìn)行訪問(wèn)[4]。與傳統(tǒng)的WebGIS地圖同步交互手段相比,百度地圖的前端開(kāi)發(fā)技術(shù)采用AJAX的異步通信方式,在保留其他地圖信息的同時(shí),服務(wù)器直接對(duì)客戶端請(qǐng)求作出響應(yīng),并將用戶需要的信息反饋至客戶端。
2狀態(tài)信息采集
2.1通信協(xié)議的制定
通信協(xié)議包括應(yīng)用層協(xié)議、網(wǎng)絡(luò)層的TCP/IP協(xié)議,其中應(yīng)用層分為加密層、應(yīng)用協(xié)議層、高級(jí)應(yīng)用層,其作用是規(guī)范采棉機(jī)車載終端和監(jiān)控服務(wù)中心之間的通信行為,不僅能支持現(xiàn)有采棉機(jī)車載終端,還可預(yù)留足夠的協(xié)議接口以保證系統(tǒng)的可擴(kuò)展性。表1是通信協(xié)議字段的含義。
表1車載終端應(yīng)用層協(xié)議
字段內(nèi)容(字符形式)字段標(biāo)志(協(xié)議幀頭SH廠家標(biāo)示1234終端號(hào)dd數(shù)據(jù)幀長(zhǎng)度HHMMSSUTC時(shí)間(時(shí)分秒)A定位有效性標(biāo)識(shí)DDDD.DDDDN緯度值DDDDD.DDDDE經(jīng)度值DDMMYYUTC日期VV車速(km/h)FFFF車載電平信號(hào)狀態(tài)值DD風(fēng)機(jī)1轉(zhuǎn)速值(r/min)DD風(fēng)機(jī)2轉(zhuǎn)速值(r/min)RRRR當(dāng)前采收面積RRRRRRRR采收總面積DDDD行駛距離FF預(yù)留*協(xié)議幀校驗(yàn)和)幀結(jié)束標(biāo)志
采棉機(jī)車載終端與監(jiān)控中心通信格式(字符形式)如下:(SH 1234 dd HHMMSS A DDDD.DDDDN DDDDD.DDDDE DDMMYY VV FFFF DD DD RRRR RRRRRRRR DDDD FF*)。其中字符串“1234”作為當(dāng)前終端特有標(biāo)識(shí),依據(jù)此部分可以辨別車號(hào),將設(shè)備編號(hào)及相關(guān)數(shù)據(jù)存入數(shù)據(jù)庫(kù);定位標(biāo)識(shí)“A”表示北斗導(dǎo)航已定位,則服務(wù)器可接收到采棉機(jī)終端傳來(lái)的數(shù)據(jù);采棉機(jī)工作狀態(tài)由車載電平信號(hào)狀態(tài)值“FFFF”的前2位表示,轉(zhuǎn)換為二進(jìn)制值后,具體含義如表2所示。
表2采棉機(jī)狀態(tài)位定義
位序狀態(tài)值(bit)部件狀態(tài)01ACC開(kāi)11右側(cè)采頭下降21左側(cè)采頭下降31采收41棉箱翻轉(zhuǎn)51潤(rùn)滑脂61異常作業(yè)報(bào)警71保留
采棉機(jī)車載終端釆集的數(shù)據(jù)按照通信協(xié)議格式封裝后傳輸?shù)奖O(jiān)控服務(wù)中心,只有符合協(xié)議的數(shù)據(jù)才能解析入庫(kù)[5]。若數(shù)據(jù)格式不相符,系統(tǒng)返回錯(cuò)誤提示;反之返回確認(rèn)消息。
2.2數(shù)據(jù)采集
車載終端采集的主要信息有:采摘頭狀態(tài)、棉箱狀態(tài)、風(fēng)機(jī)轉(zhuǎn)速、作業(yè)面積等。
2.2.1采摘頭狀態(tài)信息采棉機(jī)車載終端設(shè)計(jì)了9個(gè)通道的開(kāi)關(guān)量輸入端口,若輸入電壓信號(hào)Vin為高電平輸入,表示采摘頭下降;反之,采摘頭上升。根據(jù)每個(gè)開(kāi)關(guān)的狀態(tài)劃分,采頭控制開(kāi)關(guān)可分右升降、左升降、整體升降3種[6]。車載終端通過(guò)采摘頭手柄按鈕獲取采摘頭升降狀態(tài)信息。為防止采棉機(jī)車載終端對(duì)采摘頭狀態(tài)誤判,系統(tǒng)在采摘頭下降、上升時(shí)采用延時(shí)方式判斷其狀態(tài)。
2.2.2棉箱狀態(tài)信息采棉機(jī)棉箱底部設(shè)有壓力傳感器,用于檢測(cè)棉箱載荷。當(dāng)?shù)竭_(dá)設(shè)定值時(shí),表明棉箱已滿。在實(shí)際操作時(shí),存在棉箱未滿需打開(kāi)側(cè)邊門翻轉(zhuǎn)棉箱卸棉的情況,系統(tǒng)采用棉箱翻轉(zhuǎn)與側(cè)邊門信號(hào)相結(jié)合的方式獲取棉箱狀態(tài)信息[7]。endprint
2.2.3風(fēng)機(jī)轉(zhuǎn)速信息采棉機(jī)運(yùn)行狀態(tài)不同時(shí),對(duì)風(fēng)機(jī)轉(zhuǎn)速的要求也有所區(qū)別。在采棉機(jī)采收作業(yè)期間,為防止風(fēng)道堵塞,風(fēng)機(jī)轉(zhuǎn)速應(yīng)大于或等于設(shè)定閾值3 000 r/min。
2.2.4作業(yè)面積信息采棉機(jī)作業(yè)面積由工作幅寬乘以采棉機(jī)在棉田中行駛的作業(yè)距離得出。作業(yè)距離是通過(guò)輪胎每轉(zhuǎn)1圈時(shí)變速箱輸出的脈沖數(shù)、采棉機(jī)輪距、整個(gè)作業(yè)過(guò)程變速箱輸出脈沖數(shù)計(jì)算得出的。
2.3數(shù)據(jù)的解析
(3)16進(jìn)制數(shù)“30 34 30 33”轉(zhuǎn)換為字符串為“0403”,換算為2進(jìn)制編碼為“0100 0011”。其中0位字節(jié)為1,表示ACC開(kāi),即采棉機(jī)處于啟動(dòng)狀態(tài);第1位字節(jié)為1,表示右采頭下降;第6位字節(jié)為1,表示采棉機(jī)處于異常作業(yè)狀態(tài)。
3數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)主要對(duì)采棉機(jī)、機(jī)手、車載終端3個(gè)實(shí)體對(duì)象及聯(lián)系進(jìn)行存儲(chǔ)管理。通過(guò)SQL結(jié)構(gòu)化查詢語(yǔ)言,對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增加、修改以及刪除操作,完成對(duì)采棉機(jī)管理服務(wù)系統(tǒng)中信息的管理。圖2為系統(tǒng)主要實(shí)體-聯(lián)系(Entity-Relationship,E-R)圖。
系統(tǒng)搭建1個(gè)名為VETOM的數(shù)據(jù)庫(kù),以圖2為依據(jù)主要設(shè)計(jì)以下4個(gè)數(shù)據(jù)表:(1)人事信息表(PERSONNELINFO):用于儲(chǔ)存人事信息,它有序號(hào)(ID)、所屬單位、姓名、身份證號(hào)碼、人員編號(hào)、所屬部門、職務(wù)、聯(lián)系方式、更新時(shí)間及備注等屬性,ID為唯一標(biāo)志;(2)采棉機(jī)信息表(VEHICLEINFO):用于更新采棉機(jī)信息,它有序號(hào)(ID)、所屬單位、采棉機(jī)編號(hào)、采棉機(jī)車牌號(hào)、采棉機(jī)廠家、采棉機(jī)型號(hào)、生產(chǎn)日期、購(gòu)買日期、車輛狀態(tài)(機(jī)損)等屬性,采棉機(jī)編號(hào)和采棉機(jī)車牌號(hào)為唯一標(biāo)志;(3)車載終端信息表(TERMINALINFO):用于儲(chǔ)存采棉機(jī)與車載終端的綁定信息,包括序號(hào)(ID)、采棉機(jī)車牌號(hào)、IMEI號(hào)、終端SIM卡號(hào)、終端類型、更新時(shí)間、備注等屬性,其中ID、終端SIM卡號(hào)為唯一標(biāo)志;(4)機(jī)具作業(yè)信息表(WORKINFO):用于存儲(chǔ)采棉機(jī)采收數(shù)據(jù),如采棉機(jī)歷史位置、時(shí)間以及工作狀態(tài);采棉機(jī)車牌號(hào)、作業(yè)日期、作業(yè)類型、初采作業(yè)有效時(shí)間、初采作業(yè)面積、完成初采訂單、復(fù)采作業(yè)有效時(shí)間、復(fù)采作業(yè)面積、報(bào)警時(shí)間、報(bào)警內(nèi)容、處理情況等屬性,其中作業(yè)有效時(shí)間由程序時(shí)鐘累加,序號(hào)ID為唯一標(biāo)志。
4地圖顯示
地圖顯示是對(duì)采棉機(jī)地理信息最直觀的展示,并且采棉機(jī)的大量信息顯示在地圖中,以便于用戶進(jìn)行操作與查看[8]。
系統(tǒng)利用Baidu Maps API v1.5所提供的Marker類、Label類、Polyline類等,創(chuàng)建靜態(tài)的HTML頁(yè)面,在該頁(yè)面中添加系統(tǒng)所需的Baidu Maps API應(yīng)用,實(shí)現(xiàn)對(duì)電子地圖的加載,通過(guò)WebBrowser控件在桌面應(yīng)用程序中瀏覽創(chuàng)建的HTML頁(yè)面,為用戶提供可視化操作。
在Baidu Maps API 中,地圖的加載是通過(guò)對(duì)BMap()對(duì)象的初始化來(lái)實(shí)現(xiàn)的,其實(shí)現(xiàn)過(guò)程如下:(1)在HTML文件的頭文件中導(dǎo)入百度地圖API類庫(kù);在頁(yè)面上定義1個(gè)裝載地圖的元素,指定寬度、高度;(2)頁(yè)面加載事件實(shí)現(xiàn)地圖加載和關(guān)閉,避免瀏覽器因內(nèi)存泄露而導(dǎo)致崩潰;(3)創(chuàng)建BMap()對(duì)象,用于創(chuàng)建和控制地圖;設(shè)定地圖中心坐標(biāo)并顯示地圖;(4)使用Baidu Maps API中提供的類定制在地圖上添加標(biāo)記、折線等。
百度地圖的定位、標(biāo)注都是由JavaScript腳本語(yǔ)言實(shí)現(xiàn)的。監(jiān)控中心可以從數(shù)據(jù)庫(kù)中讀取采棉機(jī)的地理坐標(biāo)信息以及相應(yīng)的實(shí)時(shí)狀態(tài)信息和預(yù)警信息等數(shù)據(jù),通過(guò)WebBrowser控件傳遞到JavaScript網(wǎng)頁(yè)腳本中,使用Baidu Maps API的自定義標(biāo)注對(duì)象將實(shí)時(shí)信息動(dòng)態(tài)標(biāo)注于百度地圖上。
5結(jié)語(yǔ)
本研究基于北斗衛(wèi)星、百度地圖API技術(shù),設(shè)計(jì)了采棉機(jī)監(jiān)控服務(wù)系統(tǒng)。系統(tǒng)人機(jī)界面友好、功能完善、使用方便,具有采棉機(jī)實(shí)時(shí)定位、狀態(tài)信息監(jiān)測(cè)、作業(yè)面積統(tǒng)計(jì)、歷史軌跡回放等功能。經(jīng)在新疆生產(chǎn)建設(shè)兵團(tuán)第八師銀力機(jī)采棉公司2013年采收季實(shí)際應(yīng)用中,系統(tǒng)達(dá)到預(yù)期目標(biāo)。系統(tǒng)的設(shè)計(jì)為研究基于百度地圖API的采棉機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的建立提供一定的參考和借鑒,也為新疆生產(chǎn)建設(shè)兵團(tuán)農(nóng)機(jī)作業(yè)的實(shí)時(shí)監(jiān)控應(yīng)用智能化的發(fā)展提供了相應(yīng)的技術(shù)支持。
參考文獻(xiàn):
[1]夏新燕,石來(lái)斌. 科技創(chuàng)新基礎(chǔ)上兵團(tuán)棉花生產(chǎn)率變動(dòng)分析[J]. 新疆農(nóng)墾經(jīng)濟(jì),2009(10):28-32.
[2]王玉巍,賀浩,李江全. 基于GIS和GPS的采棉機(jī)跨區(qū)作業(yè)調(diào)度與服務(wù)系統(tǒng)設(shè)計(jì)[J]. 農(nóng)機(jī)化研究,2012,34(7):135-138.
[3]劉新霞,劉國(guó)錦. GPS車輛監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息化研究,2009,35(8):19-21.
[4]張磊. 基于GIS和GPS的車輛實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 蘇州:蘇州大學(xué),2013.
[5]劉榮,張帆. 采棉機(jī)監(jiān)控終端的研制及作業(yè)面積算法[J]. 江蘇農(nóng)業(yè)科學(xué),2013,41(11):400-403.
[6]竟靜靜. 基于多信息傳輸?shù)牟擅迿C(jī)車載監(jiān)控終端設(shè)計(jì)與研究[D]. 石河子:石河子大學(xué),2013.
[7]吳肖,彭璇,朱明磊. 基于Google Map API的校園電子地圖開(kāi)發(fā)[J]. 測(cè)繪工程,2010,19(3):35-38.
[8]楊帆,張彩麗. 桌面應(yīng)用程序嵌入Google Map及其交互方法研究[J].endprint