• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      吳歡歡,秦會(huì)斌

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

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

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

      1 開發(fā)工具介紹

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

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

      2.1 JavaScript概述

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

      2.2 CDHtmlDialog類介紹

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

      2.3 百度地圖API介紹

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

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

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

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

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

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

      4.1 MFC嵌入瀏覽器

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

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

      4.2 實(shí)現(xiàn)腳本擴(kuò)展

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

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

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

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

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

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

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

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

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

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

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

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

      圖4 監(jiān)控見面

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

      圖5 具體告警信息顯示圖

      5 結(jié)束語

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

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

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

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

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

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

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

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

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

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

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

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

      猜你喜歡
      腳本路燈代碼
      酒駕
      安奇奇與小cool 龍(第二回)
      路燈
      啟蒙(3-7歲)(2018年12期)2018-12-13 02:03:48
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      為什么高速公路上不用路燈照明
      快樂假期
      宝兴县| 界首市| 邛崃市| 石屏县| 灵丘县| 昌邑市| 德阳市| 常山县| 招远市| 濮阳县| 得荣县| 辛集市| 新疆| 达州市| 武安市| 道孚县| 定边县| 德清县| 班戈县| 西平县| 丹寨县| 马边| 盘锦市| 无为县| 沐川县| 额尔古纳市| 四子王旗| 江山市| 洱源县| 昌黎县| 西吉县| 定陶县| 吉首市| 张家口市| 奉新县| 金门县| 武川县| 莎车县| 曲周县| 浦县| 太保市|