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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(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 來(lái)源:網(wǎng)絡(luò) 收藏

          偵聽到新的連接后,就建立新線程并生成新的Socket對(duì)象,原線程繼續(xù)偵聽,新的Socket對(duì)象與客戶端的Socket對(duì)象建立連接,并接收客戶端發(fā)來(lái)的數(shù)據(jù)幀。器端Socket對(duì)象收到網(wǎng)絡(luò)數(shù)據(jù)幀后,解析出數(shù)據(jù)幀,并讀出號(hào)和設(shè)置,根據(jù)串口號(hào)初始化本地計(jì)算機(jī)的 SerialPort串口組件,如波特率、停止位、數(shù)據(jù)長(zhǎng)度、握手連接等。以SerialPort組件的Open()方法打開相應(yīng)的串口;把從網(wǎng)絡(luò)數(shù)據(jù)幀解析出的串口數(shù)據(jù),用SerialPort組件的Write()方法發(fā)送出去,以控制的相應(yīng)動(dòng)作;然后偵聽正使用的串口資源,并通過(guò) SerialPort組件的異步方式.Read()方法讀入返回的應(yīng)答信號(hào)。等待規(guī)定毫秒時(shí)間延時(shí)后,讀入串口接收緩存器,如有返回的串口數(shù)據(jù),就把返回的串口數(shù)據(jù)加上IP頭,與TCP封裝成網(wǎng)絡(luò)數(shù)據(jù)幀,按接收到的客戶端IP地址發(fā)送出去。如在規(guī)定時(shí)間里沒有返回串口數(shù)據(jù),表明外界嵌入式設(shè)備的串口資源有故障,就生成失敗串口數(shù)據(jù)封裝網(wǎng)絡(luò)數(shù)據(jù)幀發(fā)回到原先連接的客戶端。最后關(guān)閉正使用的Socket對(duì)象和串口資源,原Socket,對(duì)象同時(shí)繼續(xù)網(wǎng)絡(luò)偵聽等待新的客戶端連接。系統(tǒng)關(guān)閉時(shí),控制管理SCM就關(guān)閉網(wǎng)絡(luò)與串口的通信程序,從而退出Win-dows系統(tǒng)后臺(tái)運(yùn)行。

          2 案例
          2.1 “零成本”解決方案
          根據(jù)上述的網(wǎng)絡(luò)、服務(wù)和串口開發(fā)流程,可以使不再使用網(wǎng)絡(luò)中控硬件,但具備網(wǎng)絡(luò)中控的網(wǎng)絡(luò)與串口通信協(xié)議功能,以“零成本”方式實(shí)現(xiàn)如圖3所示的網(wǎng)絡(luò)、Windows服務(wù)與串口通信應(yīng)用。

          整個(gè)項(xiàng)目系統(tǒng)中有4個(gè)信號(hào)源:計(jì)算機(jī)數(shù)據(jù)信號(hào)、便攜機(jī)數(shù)據(jù)信號(hào)、影碟機(jī)視頻信號(hào)、錄像機(jī)視頻信號(hào),全部由投影機(jī)實(shí)現(xiàn)信號(hào)切換??刂仆队皺C(jī)開機(jī)關(guān)機(jī)及信號(hào)源切換控制,由其串口與計(jì)算機(jī)的串口一連接。根據(jù)投影機(jī)不同的串口設(shè)置,客戶端發(fā)送的串口數(shù)據(jù)幀設(shè)置與計(jì)算機(jī)、投影機(jī)的串口設(shè)置相一致。計(jì)算機(jī)的串口二與電動(dòng)屏幕的串口連接(電動(dòng)屏幕通過(guò)一個(gè)小型AVR單片機(jī)控制的兩個(gè)繼電器來(lái)實(shí)現(xiàn)電動(dòng)屏幕的升、降和停止,AVR單片機(jī)有一個(gè)全雙工串口),同樣串口數(shù)據(jù)幀設(shè)置也與電動(dòng)屏幕的串口設(shè)置相一致??蛻舳艘跃W(wǎng)絡(luò)套接字Socket對(duì)象發(fā)送或接收網(wǎng)絡(luò)數(shù)據(jù)幀,根據(jù)遠(yuǎn)程投影機(jī)或電動(dòng)屏幕的串口設(shè)置發(fā)送串口號(hào)和相應(yīng)串口設(shè)置,并由若干串口控制數(shù)據(jù)代碼組成符合規(guī)定的串口數(shù)據(jù)幀,再按TCP/IP協(xié)議組成網(wǎng)絡(luò)數(shù)據(jù)幀,實(shí)現(xiàn)網(wǎng)絡(luò)、Windows服務(wù)和串口的投影機(jī)遠(yuǎn)程控制。
          2.2 投影機(jī)遠(yuǎn)程冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī)
          在沒有網(wǎng)絡(luò)中控的情況下,如果要實(shí)現(xiàn)投影機(jī)的遠(yuǎn)程冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī)控制。首先要實(shí)現(xiàn)對(duì)投影機(jī)所連接的計(jì)算機(jī)進(jìn)行遠(yuǎn)程冷啟動(dòng)開機(jī)(喚醒功能),并能通過(guò)計(jì)算機(jī)的串口資源控制投影機(jī)的冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī)。計(jì)算機(jī)的硬件如主板、網(wǎng)卡等都要符合網(wǎng)絡(luò)開機(jī)喚醒功能設(shè)置;計(jì)算機(jī)的軟件采用開機(jī)后即可自動(dòng)運(yùn)行的Windows服務(wù),以實(shí)現(xiàn)網(wǎng)絡(luò)與串口的數(shù)據(jù)協(xié)議轉(zhuǎn)換。
          在主控客戶端確定需要喚醒遠(yuǎn)程投影機(jī)所連接計(jì)算機(jī)時(shí),客戶端通過(guò)Socket廣播發(fā)送相應(yīng)含有網(wǎng)絡(luò)喚醒數(shù)據(jù)幀的數(shù)據(jù)包給網(wǎng)絡(luò)中的計(jì)算機(jī)。當(dāng)需要喚醒的計(jì)算機(jī)控制芯片發(fā)現(xiàn)數(shù)據(jù)包內(nèi)包含本網(wǎng)卡的媒體訪問(wèn)控制(Media Access Control,MAC)地址信息的網(wǎng)絡(luò)喚醒數(shù)據(jù)幀后,就立刻通過(guò)網(wǎng)絡(luò)喚醒(Wake on Lan,WoL)連接線向計(jì)算機(jī)發(fā)出開機(jī)信號(hào),通知主板開機(jī)。在網(wǎng)絡(luò)中,當(dāng)計(jì)算機(jī)處于關(guān)機(jī)狀態(tài)時(shí),IP地址和計(jì)算機(jī)名字都不能識(shí)別機(jī)器的身份,惟一能識(shí)別其身份的只有它所帶網(wǎng)卡的物理地址,即MAC地址。每塊網(wǎng)卡的地址是惟一的,也就是說(shuō)網(wǎng)卡的MAc地址可以用來(lái)惟一地標(biāo)識(shí)網(wǎng)絡(luò)上的某臺(tái)計(jì)算機(jī)。
          網(wǎng)絡(luò)喚醒數(shù)據(jù)幀的格式為連續(xù)6 B的FF和連續(xù)重復(fù)16次的MAC地址。若要喚醒電腦網(wǎng)卡的MAC地址00-DF-IE-32-E7-CD,則其對(duì)應(yīng)的網(wǎng)絡(luò)喚醒數(shù)據(jù)幀如圖4所示。

          對(duì)于實(shí)現(xiàn)投影機(jī)的遠(yuǎn)程關(guān)機(jī),客戶端只需被控計(jì)算機(jī)的管理員賬號(hào)和密碼,就能控制或者進(jìn)入被控計(jì)算機(jī)的操作系統(tǒng)。其實(shí)現(xiàn)原理是視窗管理規(guī)范 (WindowsManagement Instrumentation,WMI)。通過(guò)WMI為客戶端用戶提供通用訪問(wèn)管理信息,設(shè)置客戶端在其本地計(jì)算機(jī)讀?。瘜懭耄瘓?zhí)行的權(quán)限,也包括關(guān)機(jī)設(shè)置。當(dāng)客戶端發(fā)出遠(yuǎn)程關(guān)機(jī)命令時(shí),被控計(jì)算機(jī)通過(guò)WMI確認(rèn)客戶端用戶使用權(quán)限,使用上面所述的Windows服務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)幀到串口數(shù)據(jù)幀的協(xié)議轉(zhuǎn)換,并通過(guò)計(jì)算機(jī)串口向投影機(jī)發(fā)送延時(shí)關(guān)機(jī)信號(hào)。投影機(jī)延時(shí)關(guān)機(jī)完成后,根據(jù)客戶端的要求,被控計(jì)算機(jī)也可隨即關(guān)閉Windows服務(wù),并自動(dòng)關(guān)機(jī),最后整個(gè)系統(tǒng)進(jìn)入遠(yuǎn)程冷啟動(dòng)開機(jī)的功能。

          3 結(jié) 語(yǔ)
          利用網(wǎng)絡(luò)、Windows服務(wù)和串口的數(shù)據(jù)通信技術(shù),通過(guò)計(jì)算機(jī)作為中介,實(shí)現(xiàn)了對(duì)投影機(jī)遠(yuǎn)程冷啟動(dòng)開機(jī)和延時(shí)關(guān)機(jī);并使用計(jì)算機(jī)網(wǎng)絡(luò)套接字 Socket和SeriallPort串口控件,完成了在無(wú)網(wǎng)絡(luò)中控硬件支持的情況下,利用本地計(jì)算機(jī)網(wǎng)絡(luò)資源和串口資源,以及投影機(jī)本身信號(hào)源切換資源,實(shí)現(xiàn)對(duì)投影機(jī)的“零成本”遠(yuǎn)程控制。同時(shí)基于網(wǎng)絡(luò)、Windows服務(wù)和串口的數(shù)據(jù)通信有更多的用途,在只有計(jì)算機(jī)而又要實(shí)現(xiàn)對(duì)被控設(shè)備進(jìn)行網(wǎng)絡(luò)遠(yuǎn)程控制時(shí),就要應(yīng)用到這種技術(shù)。


          上一頁(yè) 1 2 下一頁(yè)

          評(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); })();