国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向LED路燈定位的桌面監(jiān)控設(shè)計

2013-12-30 09:48:28吳歡歡秦會斌
電子器件 2013年3期
關(guān)鍵詞:腳本路燈代碼

吳歡歡,秦會斌

(杭州電子科技大學(xué)新型電子器件與應(yīng)用研究所,杭州310018)

隨著城市的發(fā)展,傳統(tǒng)路燈照明問題凸顯,傳統(tǒng)路燈被LED路燈代替是必然的,并且隨著LED路燈智能化的發(fā)展,現(xiàn)場由從單片機采集路燈電流電壓后經(jīng)過主機與上位機進行GPRS數(shù)據(jù)傳輸,從而達到“遙控、遙測、遙訊”的目的。目前智能LED路燈控制箱的研究和發(fā)展,還有上位機軟件的設(shè)計得越發(fā)成熟,相信不久的將來,中小城市的路燈就會普及智能LED路燈照明控制系統(tǒng),而與客戶監(jiān)控直接接觸的客戶界面就會顯得是所有信息表達的關(guān)鍵。

研究目前公司設(shè)計的產(chǎn)品時,發(fā)現(xiàn)目前智能控制系統(tǒng)的LED路燈定位大多是上傳地圖圖片的形式,再根據(jù)圖片的坐標在圖片上進行標注,往往一張圖片的程序占了好幾米長,如果是基于Web服務(wù)器下載的話,數(shù)據(jù)的傳輸也會因為數(shù)據(jù)大而感覺程序比較卡,對于操作體驗就會感覺很不流暢。針對問題,設(shè)計和實現(xiàn)簡單的LED路燈定位系統(tǒng)以達到更好并且有效都路燈進行實時監(jiān)控路燈。

1 開發(fā)工具介紹

Microsoft Visual Studio 2008是面向 Windows、Vista、Office2007、Web 2.0 的下一代開發(fā)工具,代號“Orcas”,是對Visual Studio 2005一次及時、全面的升級。VS2008引入了250多個新特性,整合了對象、關(guān)系型數(shù)據(jù)庫、XML的訪問方式,語言更加簡潔。使用VS2008可以高效開發(fā)Windows應(yīng)用程序[1]。

2 開發(fā)技術(shù)

2.1 JavaScript概述

JavaScript是一種基于對象(Object)和事件驅(qū)動(Event Driven)并具有安全性能的腳本語言。使用它的目的是與HTML超文本標記語言、Java腳本語言(Java小程序)一起實現(xiàn)在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發(fā)客戶端的應(yīng)用程序等[4]。它是通過嵌入或調(diào)入在標準的HTML語言中實現(xiàn)的[5]。

2.2 CDHtmlDialog類介紹

在MFC類層次上,CDHtmlDialog為開發(fā)者提供了創(chuàng)建Webgui的一系列基礎(chǔ)設(shè)施,包括事件機制、窗口行為、以及對HTML文檔操縱接口。MSDN是微軟提供給我們使用VS2008的幫助文檔,在里面CDHtmlDialog類被解釋為:用于創(chuàng)建對話框,使用HTML而不是對話框的資源來實現(xiàn)他們的用戶界面。CDHtmlDialog可以加載HTML顯示來自一個HTML資源或 URL。CDHtmlDialog也可以做與HTML控件的數(shù)據(jù)交換和處理事件從HTML控件,比如按鈕點擊等[2]。

2.3 百度地圖API介紹

百度地圖 API是一套應(yīng)用程序接口。通過API,只需簡單的操作,即可在自己的應(yīng)用中構(gòu)建功能豐富、個性化的、高效的地圖功能。其中包含了構(gòu)建地圖基本功能的多個接口,提供了諸如位置搜索、周邊查詢、出行路線規(guī)劃等功能服務(wù)。百度地圖API服務(wù)是免費開放的。并提供了基于移動設(shè)備和瀏覽器的兩套API。

3 LED路燈定位技術(shù)的設(shè)計

在整個智能路燈控制系統(tǒng)中,LED路燈定位系統(tǒng)使整個客戶端軟件的用戶體驗性和方便用戶操作與監(jiān)控無疑提供了一個很直觀、方便的強大功能,基于MFC中CDHtmlDialog類來訪問百度地圖,在通過C++語言來訪問JavaScript來實現(xiàn)路燈在地圖中的定位。整體設(shè)計框圖如1所示。

圖1 定位設(shè)計框圖

圖1中,Web服務(wù)器是提供百度地圖訪問的服務(wù)器,通過自己設(shè)計的基于 CDHtmlDialog類的CMapInfomation對HTML來進行訪問百度地圖,并通過CMapInfomation類中的CallJScript來進行對腳本的訪問,對路燈實際經(jīng)度緯度在地圖進行標注,通過數(shù)據(jù)的交互實現(xiàn)對路燈實時信息進行顯示和控制[6-11]。

4 LED路燈定位技術(shù)的實現(xiàn)

4.1 MFC嵌入瀏覽器

在MFC系統(tǒng)工程資源中了插入一個對話框資源,將ID修改為IDD_HTMLMAP,再為這個對話框資源建一個類,類名為 CMapInfomation,基于 CDHtmlDialog類[3],如圖2 所示。

圖2 創(chuàng)建CMapInfomation類界面

4.2 實現(xiàn)腳本擴展

在創(chuàng)建完CMapInfomation類之后,這個類的主要作用就是訪問資源為IDR_HTML_MAPINFOMATION的腳本,此腳本內(nèi)容在4.2節(jié)設(shè)計與實現(xiàn)。網(wǎng)頁腳本要調(diào)用C++程序代碼,就必須要實現(xiàn)腳本擴展。實現(xiàn)腳本擴展就是在程序中實現(xiàn)一個IDispatch接口,通過CDHtmlDialog類中的OnGetExternal虛函數(shù)返回此接口指針,在腳本中通過Window.External.xxx(xxx為C++程序函數(shù)名)。在MFC中從CCmdTarget派生的類都可以實現(xiàn)自動化,而不必在MFC工程中引入繁雜的ATL。只要在CMapInfomation類的構(gòu)造函數(shù)中添加EnableAutomation函數(shù)就好。代碼:

4.3 C++代碼調(diào)用網(wǎng)頁腳本中的函數(shù)的實現(xiàn)

在MapInfomation類的代碼中,實現(xiàn)對腳本HTML文檔中所有對象的獲取和函數(shù)關(guān)鍵字的讀取和調(diào)用,使用函數(shù)GetJScript和CallJScript這2個函數(shù),CallJScript這是一個虛函數(shù),也是一個重載函數(shù),他對于傳入腳本函數(shù)的參數(shù)可以多變。

4.4 LED路燈定位的實現(xiàn)

以上關(guān)鍵代碼實現(xiàn)之后,對于LED路燈定位只要實現(xiàn)在C++代碼中用CallJScript調(diào)用addMarker函數(shù),傳入經(jīng)度strLatitude,緯度strLongtitude2個參數(shù)就可以定位,實現(xiàn)代碼:

實現(xiàn)的效果圖如圖3所示。

圖3 路燈定位實現(xiàn)效果圖

4.5 LED路燈監(jiān)控的實現(xiàn)

在實現(xiàn)上述的定位功能之后,系統(tǒng)會實時對路燈進行監(jiān)控,監(jiān)控的只要是對GPRS傳輸過來信息的一個解析過程,解析的代碼不是本文的介紹重點,就不在這里過多介紹了,下面是介紹在界面對實時監(jiān)控的信息如何來進行操作。

對路燈的實時監(jiān)控,在正常時候就顯示圖3的情況,要了解詳細的路燈信息是就要雙擊標記點,實現(xiàn)后如圖4所示。

HTML主要實現(xiàn)代碼:

在C++程序中主要代碼:

圖4 監(jiān)控見面

當然所說的實時進行路燈監(jiān)控主要是對路燈告警信息的進行監(jiān)控,主要體現(xiàn)是,在對GPRS信息進行解析之后,界面上對控制箱有報警信息的標記會進行跳動,當我點擊跳動時,界面就會顯示出報警的具體信息,從而實現(xiàn)了實時監(jiān)控,如圖5所示。

圖5 具體告警信息顯示圖

5 結(jié)束語

面向LED路燈定位的桌面監(jiān)控設(shè)計的實現(xiàn),給實際的智能路燈控制系統(tǒng)帶來了更加直觀的用戶體驗,在與傳統(tǒng)的地圖圖片標注來說,實現(xiàn)了現(xiàn)在實時更新地形地圖狀況,實現(xiàn)了桌面監(jiān)控的實時性和可靠性,為系統(tǒng)的操作帶來了更好的可讀性和可操作性。

[1]孫鑫.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

[2]丁有和.Visual C++.NET編程實戰(zhàn)[M].天極出版社,2002:3.

[3]王華,葉愛亮,祁力學(xué).Visual C++6.0編程實例與技巧[M].機械工業(yè)出版社,1998.

[4]張長富,黃中敏.JavaScript動態(tài)網(wǎng)頁編程實例手冊[M].海洋出版社,2005:8.

[5]孫素華.DreamWeaver MX 2004完美網(wǎng)頁設(shè)計實戰(zhàn)技巧篇[M].中國青年出版社,2006:1.

[6]李黎明.安陽市路燈智能監(jiān)控系統(tǒng)技術(shù)簡介[J].山西建筑,2012,38(16):132-133.

[7]楊章偉.21天學(xué)通Visual C++[M].電子工業(yè)出版社,2009:36-49.

[8]朱榮輝,吳愛國.基于GPRS的城市照明監(jiān)控系統(tǒng)開發(fā)[J].電器應(yīng)用,2005,24(12):100-103

[9]萬鄉(xiāng)才,梁龍學(xué),呂曉劍.基于GPRS的路燈節(jié)能控制系統(tǒng)的研究與設(shè)計[J].自動化與儀器儀表,2012,2:62-63.

[10]韓斌杰.GPRS原理及其網(wǎng)絡(luò)優(yōu)化[M].北京:機械工業(yè)出版社,2003:15-50.

[11]申利民,翁桂鵬.基于ZigBee的智能小區(qū)LED路燈控制系統(tǒng)設(shè)計[J].中國照明電器,2011,12(2):10-14

猜你喜歡
腳本路燈代碼
酒駕
安奇奇與小cool 龍(第二回)
路燈
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
為什么高速公路上不用路燈照明
快樂假期
永靖县| 瓦房店市| 河北省| 柏乡县| 崇州市| 嵊泗县| 宽甸| 赤壁市| 定州市| 隆昌县| 阿坝| 葫芦岛市| 宁津县| 广宁县| 昆明市| 裕民县| 迁安市| 津南区| 杨浦区| 五寨县| 阿拉善左旗| 衡东县| 武义县| 阿尔山市| 江都市| 广宗县| 贺兰县| 恩平市| 乌拉特中旗| 中阳县| 峨眉山市| 广州市| 阿拉善右旗| 上虞市| 游戏| 遂昌县| 岳池县| 隆子县| 铜川市| 广汉市| 鲁山县|