<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于Windows服務(wù)、網(wǎng)絡(luò)和串口投影機(jī)遠(yuǎn)程控制設(shè)計(jì)

          基于Windows服務(wù)、網(wǎng)絡(luò)和串口投影機(jī)遠(yuǎn)程控制設(shè)計(jì)

          作者: 時(shí)間:2009-07-03 來源:網(wǎng)絡(luò) 收藏

          摘 要:在小型或零星的多媒體教室實(shí)現(xiàn)對(duì),仍然值得進(jìn)一步研究。在此闡述
          基本特性,分析器端數(shù)據(jù)幀與數(shù)據(jù)幀通信協(xié)議的轉(zhuǎn)換,論述的軟件流程。進(jìn)而提出在
          中控的情況下,對(duì)實(shí)現(xiàn)的“零成本”解決方案,并介紹遠(yuǎn)程冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī)的方法?;?br />于服務(wù)的數(shù)據(jù)通信有著在特殊應(yīng)用中的優(yōu)勢(shì)。
          關(guān)鍵詞:Windows服務(wù);網(wǎng)絡(luò);;;投影機(jī)

          本文引用地址:http://www.ex-cimer.com/article/158019.htm


          0 引 言
          在小型、零星或分散的多媒體教室里,如果吊裝投影機(jī)后,再配置一套多媒體教室設(shè)備網(wǎng)絡(luò)集成中央控制系統(tǒng)(簡(jiǎn)稱網(wǎng)絡(luò)中控)顯得有些多余。因?yàn)榫W(wǎng)絡(luò)中控的主要控制對(duì)象是投影機(jī),是圍繞投影機(jī)服務(wù)而實(shí)現(xiàn)多媒體教室設(shè)備的集成控制。不過投影機(jī)已經(jīng)具備了信號(hào)源的切換功能,與其連接的計(jì)算機(jī)又有網(wǎng)絡(luò)和資源,而且網(wǎng)絡(luò)中控還必須占用一個(gè)目前網(wǎng)絡(luò)資源緊張的IP地址。
          為了充分利用投影機(jī)和計(jì)算機(jī)自有的硬件軟件資源,這里使用Microsoft Visual Studio 2005集成開發(fā)工具和.NET 2.O框架,采用C#編程語言,提出一種既能在運(yùn)行時(shí)不需用戶交戶的窗口界面、不與其它應(yīng)用進(jìn)程發(fā)生沖突,又能實(shí)現(xiàn)投影機(jī)的遠(yuǎn)程冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī),網(wǎng)絡(luò)、Windows服務(wù)和串口的投影機(jī)遠(yuǎn)程控制“零成本”解決方案。

          l 關(guān)鍵技術(shù)的實(shí)現(xiàn)
          1.1 計(jì)算機(jī)Windows服務(wù)技術(shù)特征
          一個(gè)計(jì)算機(jī) Windows服務(wù)程序是沒有Win-dows窗口界面的后臺(tái)運(yùn)行程序,是在Windows操作系統(tǒng)下不要求用戶交互而能在后臺(tái)運(yùn)行特定功能的可執(zhí)行應(yīng)用程序。對(duì)于自動(dòng)啟動(dòng)的Windows服務(wù)程序,在Windows啟動(dòng)或是重啟之后,用戶登錄之前就開始執(zhí)行,隨Windows系統(tǒng)關(guān)閉而最后停止。 Windows服務(wù)程序的應(yīng)用范圍很廣,典型的Windows服務(wù)程序包含硬件控制、應(yīng)用程序監(jiān)視、系統(tǒng)級(jí)應(yīng)用、診斷、報(bào)告、Web和文件系統(tǒng)服務(wù)等功能。
          Windows服務(wù)應(yīng)用程序的啟動(dòng)由Windows服務(wù)控制管理器(Service Control Manager,SCM)完成,而SCM通過維護(hù)數(shù)據(jù)庫對(duì)已經(jīng)安裝到系統(tǒng)的所有服務(wù)和驅(qū)動(dòng)程序進(jìn)行統(tǒng)一而安全的控制和管理,是一個(gè)遠(yuǎn)程進(jìn)程調(diào)用服務(wù)器,在 Windows操作系統(tǒng)導(dǎo)人時(shí)自動(dòng)啟動(dòng)。Windows服務(wù)分為服務(wù)應(yīng)用程序啟動(dòng)、服務(wù)程序監(jiān)控及運(yùn)行和服務(wù)程序安裝三個(gè)部分。這三部分通過安裝程序組合為一個(gè)完整的.exe文件。
          實(shí)現(xiàn)投影機(jī)的遠(yuǎn)程控制,開發(fā)用戶主要精力放在網(wǎng)絡(luò)與串口通信協(xié)議及程序上。與投影機(jī)連接的計(jì)算機(jī)設(shè)置為服務(wù)器端,由服務(wù)器端的網(wǎng)絡(luò)與串口通信程序轉(zhuǎn)發(fā)客戶端發(fā)送的控制信號(hào)實(shí)現(xiàn)對(duì)投影機(jī)控制,或作為返回投影機(jī)的應(yīng)答信號(hào)。顯然,計(jì)算機(jī)只是數(shù)據(jù)信號(hào)轉(zhuǎn)發(fā)的硬件軟件中介,網(wǎng)絡(luò)與串口通信軟件只能在計(jì)算機(jī)的 Windows操作系統(tǒng)后臺(tái)進(jìn)行,即Windows服務(wù)承擔(dān)此特殊任務(wù)。這是實(shí)現(xiàn)硬件控制和應(yīng)用程序監(jiān)視,并以軟件為主的解決方案。.NET框架簡(jiǎn)化了Win-dows服務(wù)程序的創(chuàng)建和控制過程,其中啟動(dòng)函數(shù)On-Start()和關(guān)閉函數(shù)OnClose()都是Windows服務(wù)開發(fā)重點(diǎn)。
          1.2 網(wǎng)絡(luò)數(shù)據(jù)幀與串口幀的通信協(xié)議設(shè)計(jì)
          為了在計(jì)算機(jī)啟動(dòng)后立即監(jiān)聽網(wǎng)絡(luò),及時(shí)轉(zhuǎn)發(fā)客戶端發(fā)來的控制信號(hào)到投影機(jī),使投影機(jī)實(shí)現(xiàn)相應(yīng)的動(dòng)作,則計(jì)算機(jī)首先必須實(shí)現(xiàn)Windows服務(wù)的網(wǎng)絡(luò)和串口的轉(zhuǎn)換協(xié)議,定義圖1所示網(wǎng)絡(luò)數(shù)據(jù)幀和串口數(shù)據(jù)幀格式。服務(wù)器和客戶端都以網(wǎng)絡(luò)數(shù)據(jù)幀來通信,網(wǎng)絡(luò)數(shù)據(jù)幀包含IP頭、TCP頭和若干串口數(shù)據(jù)幀。由于服務(wù)器端的計(jì)算機(jī)可能要使用多個(gè)串口控制嵌入式設(shè)備,同時(shí)因不同廠家生產(chǎn)投影機(jī)的串口波特率、效驗(yàn)位、數(shù)據(jù)位、停止位等都不一致。無法確定所有投影機(jī)的串口設(shè)置,串口幀除了串口數(shù)據(jù)(N位)外,還需要在串口數(shù)據(jù)前加串口號(hào)(1位)、串口設(shè)置(1位)。為了編程方便,設(shè)定統(tǒng)一串口幀長(zhǎng)度,對(duì)于不夠長(zhǎng)度的,以填充位(為O)來補(bǔ)齊。在允許網(wǎng)絡(luò)數(shù)據(jù)幀最大長(zhǎng)度的情況下,可以一個(gè)網(wǎng)絡(luò)數(shù)據(jù)幀包含若干個(gè)串口數(shù)據(jù)幀,各個(gè)串口數(shù)據(jù)幀以串口幀頭和串口幀尾區(qū)分開。

          1.3 網(wǎng)絡(luò)與串口通信軟件設(shè)計(jì)
          由上面論述可知,與投影機(jī)連接的計(jì)算機(jī)設(shè)置為服務(wù)器端。其軟件設(shè)計(jì)采用客戶機(jī)/服務(wù)器(C/S)模型,與遠(yuǎn)程客戶端實(shí)現(xiàn)網(wǎng)絡(luò)通信,都要建立通信網(wǎng)絡(luò)套接字 Socket.對(duì)象,以后服務(wù)器端和客戶端通過這個(gè)套接字進(jìn)行網(wǎng)絡(luò)通信。.NET 2.O提供了SerialPort串口組件,以完成與投影機(jī)或其他嵌入式設(shè)備的串口數(shù)據(jù)信號(hào)轉(zhuǎn)發(fā)。
          在服務(wù)器端,基于計(jì)算機(jī)Windows服務(wù)的關(guān)鍵程序是網(wǎng)絡(luò)與串口通信程序設(shè)計(jì),網(wǎng)絡(luò)與串口通信主程序流程圖如圖2所示。服務(wù)控制管理器SCM在Win- dows系統(tǒng)啟動(dòng)后就調(diào)用網(wǎng)絡(luò)與串口通信程序的On-Start()函數(shù)。在OnStart()函數(shù)里建立新的線程,并建立新的Socket對(duì)象,使用 bind()函數(shù)綁定本地計(jì)算機(jī)的IP地址和協(xié)議端口,通過。listen()函數(shù)監(jiān)聽該協(xié)議端口。為了提高計(jì)算機(jī)的運(yùn)行效率,采用非阻塞異步 Socket編程。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();