亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZigBee的串口監(jiān)控軟件設(shè)計(jì)與實(shí)現(xiàn)

        2011-01-29 07:19:14王中生
        電子設(shè)計(jì)工程 2011年14期
        關(guān)鍵詞:控件站臺(tái)上位

        王中生,曹 梅

        (西安工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,陜西 西安 710032)

        隨著城市的發(fā)展,車輛的增加,使人們出行越來越不便。如何能有效解決當(dāng)前面臨的交通擁堵問題是公交系統(tǒng)目前需要重點(diǎn)解決的任務(wù)。筆者設(shè)計(jì)的系統(tǒng)通過ZigBee模塊來實(shí)現(xiàn)對(duì)車輛的定位,將車輛的現(xiàn)行信息傳輸回路由節(jié)點(diǎn),通過串口通信與計(jì)算機(jī)相連,將數(shù)據(jù)顯示在屏幕上使調(diào)度人員能夠?qū)崟r(shí)了解車輛行車信息,從而能夠有效地對(duì)道路擁堵狀況有所了解并進(jìn)行及時(shí)的處理,對(duì)司機(jī)的行車情況及時(shí)了解。

        1 ZigBee技術(shù)

        ZigBee技術(shù)是一種短距離、低功耗的無線通信技術(shù),采用IEEE802.15.4協(xié)議。其特點(diǎn)是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。主要適合用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。

        2 串口通信

        串口通信是工業(yè)監(jiān)控系統(tǒng)中至關(guān)重要的環(huán)節(jié),主要采用基于RS232的串口開發(fā)。目前在Windows下實(shí)現(xiàn)串口通信主要有3種方式[1]:1)利用 MSComm控件串口通信編程;2)利用win32 API函數(shù)來實(shí)現(xiàn);3)利用CSerialPort類進(jìn)行串口編程。本系統(tǒng)采用MSComm控件進(jìn)行開發(fā)是因?yàn)樗荕icrosoft公司提供的簡化Windows下串行通信編程的ActiveX控件,通過串行端口發(fā)送和接收數(shù)據(jù),VC為其提供了使用RS232進(jìn)行數(shù)據(jù)通信的所有協(xié)議,并提供了標(biāo)準(zhǔn)的事件處理函數(shù)和過程,軟件開發(fā)人員可以方便地通過屬性和方法的設(shè)置進(jìn)行串口通信。

        3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        本系統(tǒng)由硬件系統(tǒng)與軟件系統(tǒng)組成。下位機(jī)采用ZigBee模塊進(jìn)行數(shù)據(jù)的發(fā)送與接收,上位機(jī)采用VC++6.0開發(fā)軟件。如圖1所示。ZigBee模塊將車輛信息、站臺(tái)信息無線發(fā)送,避免了布線的麻煩。與其配套的上位機(jī)軟件是一個(gè)擁有良好界面的數(shù)據(jù)監(jiān)控和存儲(chǔ)中心。下位機(jī)主要完成數(shù)據(jù)的采集與發(fā)送,上位機(jī)完成數(shù)據(jù)分析與存儲(chǔ)。本系統(tǒng)將ZigBee模塊安裝到公交車上,通過ZigBee模塊的無線通信功能將車輛信息與到站信息經(jīng)由網(wǎng)關(guān)節(jié)點(diǎn)最終通過串口傳送給上位機(jī),由界面直觀顯示給調(diào)入人員。并將車輛ID、線路名固定地寫入到ZigBee模塊中,發(fā)送數(shù)據(jù)時(shí)就將這些信息發(fā)送給其他ZigBee模塊;公交站牌上同樣也安裝ZigBee模塊,當(dāng)其接收到公交車輛上的節(jié)點(diǎn)模塊發(fā)送的數(shù)據(jù)時(shí),就將自己的站臺(tái)號(hào)加入該模塊的信息中并轉(zhuǎn)發(fā)給其他站牌節(jié)點(diǎn)模塊,判斷該發(fā)送信息是公交車輛上節(jié)點(diǎn)模塊發(fā)送還是站牌節(jié)點(diǎn)模塊發(fā)送,如果是公交車輛節(jié)點(diǎn)模塊發(fā)送的信息,判斷站臺(tái)號(hào)信息是否已經(jīng)加入到該模塊中,如果已經(jīng)加入就將其轉(zhuǎn)發(fā)給網(wǎng)關(guān)節(jié)點(diǎn);如果未加入站臺(tái)號(hào)信息,就將自身的站臺(tái)號(hào)信息加入其中。如果是站牌節(jié)點(diǎn)模塊發(fā)送的數(shù)據(jù),就將其轉(zhuǎn)發(fā)給網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)匯集信息后將其通過串口傳輸給上位機(jī),上位機(jī)程序?qū)⑿畔⑦M(jìn)行解碼后顯示給調(diào)度人員。

        圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Overall structure diagram of system

        3.1 串行通信模塊

        主要進(jìn)行數(shù)據(jù)的傳輸,對(duì)所收到的數(shù)據(jù)進(jìn)行處理、分析、存儲(chǔ)。這里,下位機(jī)單片機(jī)將車輛ID、線路名、站臺(tái)號(hào)的十六進(jìn)制碼傳輸給計(jì)算機(jī),上位機(jī)需將這些字碼解碼后展示給調(diào)度人員。

        在進(jìn)行串口數(shù)據(jù)傳輸時(shí),必須制定通信協(xié)議[2]。通過對(duì)系統(tǒng)的分析,幀格式為無奇偶校驗(yàn)位,8位數(shù)據(jù)位,1位停止位,波特率為38 400 B/s幀格式如圖2所示。

        圖2 系統(tǒng)幀格式Fig.2 Frame of system

        3.2 數(shù)據(jù)接收模塊

        為實(shí)現(xiàn)下位機(jī)數(shù)據(jù)能夠傳輸?shù)缴衔粰C(jī)上,本程序采用MSComm控件進(jìn)行軟件開發(fā),MSComm控件提供了多種屬性,通過使用這些屬性,能夠方便地進(jìn)行開發(fā)[3]。

        數(shù)據(jù)接收模塊流程圖如圖3所示。

        1)打開串口。使用 PortOpen()函數(shù);2)初始化串口,設(shè)置串口參數(shù);3)建立串口通信事件。通信控件提供了2種處理串口通信的方法:查詢法和事件驅(qū)使法。本系統(tǒng)中,采用事件驅(qū)使法實(shí)現(xiàn),當(dāng)發(fā)生通信事件或錯(cuò)誤時(shí),將觸發(fā)OnComm事件。用戶將在OnComm事件中添加代碼,實(shí)現(xiàn)想要的功能。部分代碼如下:

        圖3 數(shù)據(jù)接收模塊流程圖Fig.3 Flow chart of data receiver module

        4)關(guān)閉串口。

        3.3 數(shù)據(jù)處理模塊

        數(shù)據(jù)從下位機(jī)傳過來后,需要進(jìn)行分析、轉(zhuǎn)換等操作,從而得到所需的數(shù)據(jù)[4]。將數(shù)據(jù)按照規(guī)定的幀格式傳輸,每幀包含3個(gè)數(shù)據(jù),分別為車輛ID、線路名、站臺(tái)號(hào),以十六進(jìn)制形式表示。ZigBee[7]終端節(jié)點(diǎn)儲(chǔ)存的數(shù)據(jù)包含固定字節(jié)的車輛ID、線路名,而站臺(tái)號(hào)初始設(shè)為00x,當(dāng)安裝在站牌上的ZigBee路由節(jié)點(diǎn)接收到數(shù)據(jù)后,判斷站臺(tái)號(hào)數(shù)據(jù)位是否為00x,如果是則認(rèn)為該數(shù)據(jù)是由終端節(jié)點(diǎn)發(fā)送,在該位將自己的站臺(tái)號(hào)加入后轉(zhuǎn)發(fā)給其他節(jié)點(diǎn);如果不是則認(rèn)為該幀已經(jīng)加入了其他站臺(tái)號(hào),轉(zhuǎn)發(fā)數(shù)據(jù)即可。

        上位機(jī)接收到數(shù)據(jù)后,分離出其中的數(shù)據(jù)位,將車輛ID、線路名、站臺(tái)號(hào)依次取出其中的值,進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換后保存到數(shù)據(jù)庫中。數(shù)據(jù)處理模塊的流程圖如圖4所示。

        圖4 數(shù)據(jù)處理模塊流程圖Fig.4 Flow chart of data processing module

        3.4 數(shù)據(jù)顯示模塊

        完成對(duì)數(shù)據(jù)的實(shí)時(shí)監(jiān)控,將車輛到站信息直觀地顯示給調(diào)度人員,同時(shí)能夠?qū)囕v信息、線路信息進(jìn)行管理。調(diào)度人員還能查詢每天車輛的行進(jìn)路線,從而對(duì)公交司機(jī)的考勤進(jìn)行管理,如圖5所示。

        圖5 系統(tǒng)主界面Fig.5 Main interface of system

        3.5 數(shù)據(jù)保存模塊

        為了方便數(shù)據(jù)的查詢,采用access數(shù)據(jù)庫作為存儲(chǔ)數(shù)據(jù)的工具。VC提供了多種方法連接數(shù)據(jù)庫,這里采用ADO連接方法[5]。ADO(ActiveX Data Objects)是一個(gè)用于存取數(shù)據(jù)源的COM組件,它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的。本系統(tǒng)采用ADO類連接數(shù)據(jù)庫,具體方法如下:

        1)建立數(shù)據(jù)庫 在access里創(chuàng)建數(shù)據(jù)庫Bus.mdb,分別建立 4張表:BusT、LineT、GetDataT、TS。BusT 表中字段如下:ID(車輛 ID)、Name(線路名)、Stnum(站臺(tái)數(shù))。LineT 表中字段如下:lname(線路名)、sID(站臺(tái)號(hào))、sname(站臺(tái)名)。GetDataT表中字段如下:bID(車輛 ID)、bNO(線路名)、LID(站臺(tái)名)、Ctime(車輛到達(dá)時(shí)間)、TS(趟數(shù))。

        2)添加對(duì)ADO數(shù)據(jù)庫的支持 在文件stdafx.h中添加#import"c:program filescommon filessystemadomsado15.dll"no_namespace rename("EOF","adoEOF"),實(shí)現(xiàn) ADO 類的導(dǎo)入[6]。在數(shù)據(jù)處理函數(shù)中OnOnCommMscomm()完成對(duì)接收到的數(shù)據(jù)及接收到的時(shí)間存入數(shù)據(jù)庫的操作,在儲(chǔ)存數(shù)據(jù)時(shí),通過對(duì)信息的過濾,將發(fā)送多條相同的信息只取出第一條,其余信息過濾掉。將公交車從起點(diǎn)到終點(diǎn)定位一趟,計(jì)算公交車當(dāng)日一共跑了幾趟,從而對(duì)公交司機(jī)進(jìn)行考核。部分代碼如下:

        4 結(jié)束語

        本系統(tǒng)能夠及時(shí)地將車輛信息與道路信息顯示給調(diào)度人員,從而對(duì)行車狀況進(jìn)行及時(shí)的掌握與調(diào)控。經(jīng)過調(diào)試,該系統(tǒng)能夠?qū)?shù)據(jù)穩(wěn)定地傳輸?shù)缴衔粰C(jī),方便進(jìn)行監(jiān)控,其數(shù)據(jù)庫管理也具有良好的操作。根據(jù)相關(guān)顯示的信息,調(diào)度人員能夠?qū)囕v進(jìn)行及時(shí)調(diào)控與調(diào)度,具有一定的應(yīng)用價(jià)值。

        [1]龔建偉,熊光明.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2004.

        [2]謝維成,楊加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2009.

        [3]金衛(wèi)民.VC下利用串口進(jìn)行數(shù)據(jù)通訊的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2003,24(12):120-122.JIN Wei-ming.Research of data communication by using RS232 in VC[J].Computer Engineering and Design,2003,24(12):120-122.

        [4]李現(xiàn)勇.Visual C++串口通信技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社,2002.

        [5]王莉,陽春華.基于VC++的串口通信設(shè)計(jì)及其應(yīng)用[J].控制工程,2004,11(S1):89-92.WANG Li,YANG Chun-hua.Design of serial communication based on C++and its application[J].Control Engineering of China,2004,11(S1):89-92.

        [6]宋坤,劉銳寧,李偉明.VC++開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.

        [7]陳孟元,凌有鑄,王冠凌,等.基于ZigBee技術(shù)的廣播電視授時(shí)無線網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置 ,2010(1):18-20.CHEN Meng-yuan,LING You-zhu,WANG Gua-nling,et al.Design on broadcast television time wireless network system based on ZigBee technology[J].Industrial Instrumentation&Automation,2010(1):18-20.

        猜你喜歡
        控件站臺(tái)上位
        尋找93/4站臺(tái)
        為黑惡勢力站臺(tái)撐腰的縣委常委
        人生的站臺(tái)
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        八號(hào)站臺(tái)的那只狗
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        蜜桃av在线免费网站 | 日日碰狠狠躁久久躁9| 国产内射性高湖| 五月天国产精品| 成年女人毛片免费视频| 无码一区二区三区在线在看| 国产精品国产三级国产AvkTV| 国内精品熟女一区二区| 国产亚洲精品一品二品| 一区二区三区最新中文字幕 | 久久一区二区视频在线观看| 国产熟女盗摄一区二区警花91 | 亚洲中文字幕久久无码精品| 国产剧情麻豆女教师在线观看| 99热免费观看| 亚洲一区二区欧美色妞影院| 亚洲av午夜福利精品一区二区| 日本啪啪视频一区二区| 午夜精品久久久久久久99老熟妇| 最近免费mv在线观看动漫| 色妺妺在线视频| 亚洲激情人体艺术视频| 国产特黄1区2区3区4区| 日韩女同精品av在线观看| 久久久精品国产sm调教网站| 熟妇人妻中文av无码| 中文国产成人精品久久一区| 亚洲国产精品嫩草影院久久av| 精品人妻中文av一区二区三区| 综合色就爱涩涩涩综合婷婷| 亚洲精品无码av中文字幕| 久久夜色撩人精品国产小说| 中文字幕亚洲综合久久| 中文字幕熟女激情50路| 无码人妻久久久一区二区三区| 九色九九九老阿姨| 亚洲影院丰满少妇中文字幕无码| 国产三级黄色的在线观看| 精品亚洲一区二区三洲| 免费国产成人肉肉视频大全| 无码熟妇人妻av在线影片|