一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于計算機(jī)技術(shù)實現(xiàn)投影機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:現(xiàn)代電子技術(shù) ? 作者:張會銘,陸云龍, ? 2020-12-13 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:張會銘,陸云龍,雷志華

在小型、零星或分散的多媒體教室里,如果吊裝投影機(jī)后,再配置一套多媒體教室設(shè)備網(wǎng)絡(luò)集成中央控制系統(tǒng)(簡稱網(wǎng)絡(luò)中控)顯得有些多余。因為網(wǎng)絡(luò)中控的主要控制對象是投影機(jī),是圍繞投影機(jī)服務(wù)而實現(xiàn)多媒體教室設(shè)備的集成控制。不過投影機(jī)已經(jīng)具備了信號源的切換功能,與其連接的計算機(jī)又有網(wǎng)絡(luò)和串口資源,而且網(wǎng)絡(luò)中控還必須占用一個目前網(wǎng)絡(luò)資源緊張的IP地址。

為了充分利用投影機(jī)和計算機(jī)自有的硬件軟件資源,這里使用Microsoft Visual Studio 2005集成開發(fā)工具和.NET 2.0框架,采用C#編程語言,提出一種既能在運(yùn)行時不需用戶交戶的窗口界面、不與其它應(yīng)用進(jìn)程發(fā)生沖突,又能實現(xiàn)投影機(jī)的遠(yuǎn)程冷啟動開機(jī)和延時關(guān)機(jī),基于網(wǎng)絡(luò)、Windows服務(wù)和串口的投影機(jī)遠(yuǎn)程控制“零成本”解決方案。

1 關(guān)鍵技術(shù)的實現(xiàn)

1.1 計算機(jī)Windows服務(wù)技術(shù)特征

一個計算機(jī) Windows服務(wù)程序是沒有Win-dows窗口界面的后臺運(yùn)行程序,是在Windows操作系統(tǒng)下不要求用戶交互而能在后臺運(yùn)行特定功能的可執(zhí)行應(yīng)用程序。對于自動啟動的Windows服務(wù)程序,在Windows啟動或是重啟之后,用戶登錄之前就開始執(zhí)行,隨Windows系統(tǒng)關(guān)閉而最后停止。 Windows服務(wù)程序的應(yīng)用范圍很廣,典型的Windows服務(wù)程序包含硬件控制、應(yīng)用程序監(jiān)視、系統(tǒng)級應(yīng)用、診斷、報告、Web和文件系統(tǒng)服務(wù)等功能。

Windows服務(wù)應(yīng)用程序的啟動由Windows服務(wù)控制管理器(Service Control Manager,SCM)完成,而SCM通過維護(hù)數(shù)據(jù)庫對已經(jīng)安裝到系統(tǒng)的所有服務(wù)和驅(qū)動程序進(jìn)行統(tǒng)一而安全的控制和管理,是一個遠(yuǎn)程進(jìn)程調(diào)用服務(wù)器,在 Windows操作系統(tǒng)導(dǎo)人時自動啟動。Windows服務(wù)分為服務(wù)應(yīng)用程序啟動、服務(wù)程序監(jiān)控及運(yùn)行和服務(wù)程序安裝三個部分。這三部分通過安裝程序組合為一個完整的.exe文件。

實現(xiàn)投影機(jī)的遠(yuǎn)程控制,開發(fā)用戶主要精力放在網(wǎng)絡(luò)與串口通信協(xié)議及程序設(shè)計上。與投影機(jī)連接的計算機(jī)設(shè)置為服務(wù)器端,由服務(wù)器端的網(wǎng)絡(luò)與串口通信程序轉(zhuǎn)發(fā)客戶端發(fā)送的控制信號實現(xiàn)對投影機(jī)控制,或作為返回投影機(jī)的應(yīng)答信號。顯然,計算機(jī)只是數(shù)據(jù)信號轉(zhuǎn)發(fā)的硬件軟件中介,網(wǎng)絡(luò)與串口通信軟件只能在計算機(jī)的 Windows操作系統(tǒng)后臺進(jìn)行,即Windows服務(wù)承擔(dān)此特殊任務(wù)。這是實現(xiàn)硬件控制和應(yīng)用程序監(jiān)視,并以軟件設(shè)計為主的解決方案。.NET框架簡化了Win-dows服務(wù)程序的創(chuàng)建和控制過程,其中啟動函數(shù)On-Start()和關(guān)閉函數(shù)OnClose()都是Windows服務(wù)開發(fā)重點。

1.2 網(wǎng)絡(luò)數(shù)據(jù)幀與串口幀的通信協(xié)議設(shè)計

為了在計算機(jī)啟動后立即監(jiān)聽網(wǎng)絡(luò),及時轉(zhuǎn)發(fā)客戶端發(fā)來的控制信號到投影機(jī),使投影機(jī)實現(xiàn)相應(yīng)的動作,則計算機(jī)首先必須實現(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ī)可能要使用多個串口控制嵌入式設(shè)備,同時因不同廠家生產(chǎn)投影機(jī)的串口波特率、效驗位、數(shù)據(jù)位、停止位等都不一致。無法確定所有投影機(jī)的串口設(shè)置,串口幀除了串口數(shù)據(jù)(N位)外,還需要在串口數(shù)據(jù)前加串口號(1位)、串口設(shè)置(1位)。為了編程方便,設(shè)定統(tǒng)一串口幀長度,對于不夠長度的,以填充位(為O)來補(bǔ)齊。在允許網(wǎng)絡(luò)數(shù)據(jù)幀最大長度的情況下,可以一個網(wǎng)絡(luò)數(shù)據(jù)幀包含若干個串口數(shù)據(jù)幀,各個串口數(shù)據(jù)幀以串口幀頭和串口幀尾區(qū)分開。

基于計算機(jī)技術(shù)實現(xiàn)投影機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計

1.3 網(wǎng)絡(luò)與串口通信軟件設(shè)計

由上面論述可知,與投影機(jī)連接的計算機(jī)設(shè)置為服務(wù)器端。其軟件設(shè)計采用客戶機(jī)/服務(wù)器(C/S)模型,與遠(yuǎn)程客戶端實現(xiàn)網(wǎng)絡(luò)通信,都要建立通信網(wǎng)絡(luò)套接字 Socket.對象,以后服務(wù)器端和客戶端通過這個套接字進(jìn)行網(wǎng)絡(luò)通信。.NET 2.0提供了SerialPort串口組件,以完成與投影機(jī)或其他嵌入式設(shè)備的串口數(shù)據(jù)信號轉(zhuǎn)發(fā)。

在服務(wù)器端,基于計算機(jī)Windows服務(wù)的關(guān)鍵程序是網(wǎng)絡(luò)與串口通信程序設(shè)計,網(wǎng)絡(luò)與串口通信主程序流程圖如圖2所示。服務(wù)控制管理器SCM在Win- dows系統(tǒng)啟動后就調(diào)用網(wǎng)絡(luò)與串口通信程序的On-Start()函數(shù)。在OnStart()函數(shù)里建立新的線程,并建立新的Socket對象,使用 bind()函數(shù)綁定本地計算機(jī)的IP地址和協(xié)議端口,通過。listen()函數(shù)*該協(xié)議端口。為了提高計算機(jī)的運(yùn)行效率,采用非阻塞異步 Socket編程。

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

2 投影機(jī)遠(yuǎn)程控制案例

2.1 “零成本”解決方案

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

整個項目系統(tǒng)中有4個信號源:計算機(jī)數(shù)據(jù)信號、便攜機(jī)數(shù)據(jù)信號、影碟機(jī)視頻信號、錄像機(jī)視頻信號,全部由投影機(jī)實現(xiàn)信號切換。控制投影機(jī)開機(jī)關(guān)機(jī)及信號源切換控制,由其串口與計算機(jī)的串口一連接。根據(jù)投影機(jī)不同的串口設(shè)置,客戶端發(fā)送的串口數(shù)據(jù)幀設(shè)置與計算機(jī)、投影機(jī)的串口設(shè)置相一致。計算機(jī)的串口二與電動屏幕的串口連接(電動屏幕通過一個小型AVR單片機(jī)控制的兩個繼電器來實現(xiàn)電動屏幕的升、降和停止,AVR單片機(jī)有一個全雙工串口),同樣串口數(shù)據(jù)幀設(shè)置也與電動屏幕的串口設(shè)置相一致。客戶端以網(wǎng)絡(luò)套接字Socket對象發(fā)送或接收網(wǎng)絡(luò)數(shù)據(jù)幀,根據(jù)遠(yuǎn)程投影機(jī)或電動屏幕的串口設(shè)置發(fā)送串口號和相應(yīng)串口設(shè)置,并由若干串口控制數(shù)據(jù)代碼組成符合規(guī)定的串口數(shù)據(jù)幀,再按TCP/IP協(xié)議組成網(wǎng)絡(luò)數(shù)據(jù)幀,實現(xiàn)基于網(wǎng)絡(luò)、Windows服務(wù)和串口的投影機(jī)遠(yuǎn)程控制。

2.2 投影機(jī)遠(yuǎn)程冷啟動開機(jī)和延時關(guān)機(jī)

在沒有網(wǎng)絡(luò)中控的情況下,如果要實現(xiàn)投影機(jī)的遠(yuǎn)程冷啟動開機(jī)和延時關(guān)機(jī)控制。首先要實現(xiàn)對投影機(jī)所連接的計算機(jī)進(jìn)行遠(yuǎn)程冷啟動開機(jī)(喚醒功能),并能通過計算機(jī)的串口資源控制投影機(jī)的冷啟動開機(jī)和延時關(guān)機(jī)。計算機(jī)的硬件如主板、網(wǎng)卡等都要符合網(wǎng)絡(luò)開機(jī)喚醒功能設(shè)置;計算機(jī)的軟件采用開機(jī)后即可自動運(yùn)行的Windows服務(wù),以實現(xiàn)網(wǎng)絡(luò)與串口的數(shù)據(jù)協(xié)議轉(zhuǎn)換。

在主控客戶端確定需要喚醒遠(yuǎn)程投影機(jī)所連接計算機(jī)時,客戶端通過Socket廣播發(fā)送相應(yīng)含有網(wǎng)絡(luò)喚醒數(shù)據(jù)幀的數(shù)據(jù)包給網(wǎng)絡(luò)中的計算機(jī)。當(dāng)需要喚醒的計算機(jī)控制芯片發(fā)現(xiàn)數(shù)據(jù)包內(nèi)包含本網(wǎng)卡的媒體訪問控制(Media Access Control,MAC)地址信息的網(wǎng)絡(luò)喚醒數(shù)據(jù)幀后,就立刻通過網(wǎng)絡(luò)喚醒(Wake on Lan,WoL)連接線向計算機(jī)發(fā)出開機(jī)信號,通知主板開機(jī)。在網(wǎng)絡(luò)中,當(dāng)計算機(jī)處于關(guān)機(jī)狀態(tài)時,IP地址和計算機(jī)名字都不能識別機(jī)器的身份,惟一能識別其身份的只有它所帶網(wǎng)卡的物理地址,即MAC地址。每塊網(wǎng)卡的地址是惟一的,也就是說網(wǎng)卡的MAc地址可以用來惟一地標(biāo)識網(wǎng)絡(luò)上的某臺計算機(jī)。

網(wǎng)絡(luò)喚醒數(shù)據(jù)幀的格式為連續(xù)6 B的FF和連續(xù)重復(fù)16次的MAC地址。若要喚醒電腦網(wǎng)卡的MAC地址00-DF-IE-32-E7-CD,則其對應(yīng)的網(wǎng)絡(luò)喚醒數(shù)據(jù)幀如圖4所示。

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

3 結(jié) 語

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5148

    文章

    19634

    瀏覽量

    316828
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6776

    瀏覽量

    112053
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7653

    瀏覽量

    90623
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    計算機(jī)控制系統(tǒng)--網(wǎng)絡(luò)控制技術(shù)

    計算機(jī)控制系統(tǒng)--網(wǎng)絡(luò)控制技術(shù).ppt[hide][/hide]
    發(fā)表于 08-05 20:19

    如何實現(xiàn)計算機(jī)對示波器進(jìn)行遠(yuǎn)程控制

    如何實現(xiàn)計算機(jī)對示波器進(jìn)行遠(yuǎn)程控制?計算機(jī)控制示波器的步驟和方法是什么?
    發(fā)表于 05-10 06:47

    介紹一種計算機(jī)遠(yuǎn)程控制裝置

    技術(shù)實現(xiàn)步驟摘要】一種計算機(jī)遠(yuǎn)程控制裝置:本技術(shù)涉及一種計算機(jī)
    發(fā)表于 09-01 07:04

    計算機(jī)控制系統(tǒng)的工作原理

    工業(yè)控制計算機(jī),簡稱工業(yè)控制機(jī) ) 來實現(xiàn)生產(chǎn)過程自動控制
    發(fā)表于 09-01 06:17

    如何將計算機(jī)技術(shù)和自動控制理論應(yīng)用于工業(yè)中

    高等學(xué)校各類自動化、電子與電氣工程、計算機(jī)應(yīng)用、機(jī)電一體化等專業(yè)的主干專業(yè)課程。本課程以計算機(jī)在過程控制中的應(yīng)用技術(shù)為中心,主要研究如何將計算機(jī)技術(shù)
    發(fā)表于 09-01 07:57

    微型計算機(jī)控制技術(shù)系統(tǒng)

    自動化、電子與電氣工程、計算機(jī)應(yīng)用、機(jī)電一體化等專業(yè)的主干專業(yè)課程。本課程以計算機(jī)在過程控制中的應(yīng)用技術(shù)為中心,主要研究如何將計算機(jī)技術(shù)和自
    發(fā)表于 09-01 08:16

    計算機(jī)在過程控制中的應(yīng)用技術(shù)

    自動化、電子與電氣工程、計算機(jī)應(yīng)用、機(jī)電一體化等專業(yè)的主干專業(yè)課程。本課程以計算機(jī)在過程控制中的應(yīng)用技術(shù)為中心,主要研究如何將計算機(jī)技術(shù)和自
    發(fā)表于 09-01 07:15

    自控原理及計算機(jī)控制系統(tǒng)

    面積:63m2設(shè)備:可編程控制實驗系統(tǒng)(型號EL-PLC-TII)10套;可編程控制器(型號CPM1A-40CDR);配套計算機(jī)10臺;挖土機(jī)
    發(fā)表于 09-02 09:10

    微型計算機(jī)控制系統(tǒng)有哪些

    微型計算機(jī)控制技術(shù)復(fù)習(xí)題答案 (4頁) 本資源提供全文預(yù)覽,點擊全文預(yù)覽即可全文預(yù)覽,如果喜歡文檔就下載吧,查找使用更方便哦!9.9 積分1. 微型計算機(jī)控制系統(tǒng)有哪些? Pg4答:操作指導(dǎo)
    發(fā)表于 09-10 08:44

    計算機(jī)遠(yuǎn)程控制在可移動機(jī)械手中的應(yīng)用

    闡述了計算機(jī)遠(yuǎn)程控制移動取物機(jī)械手的結(jié)構(gòu)與實現(xiàn)過程,提出了其遠(yuǎn)程控制系統(tǒng)的體系結(jié)構(gòu)及硬件構(gòu)成。給出了實現(xiàn)機(jī)械手
    發(fā)表于 07-08 08:27 ?24次下載

    基于智能手機(jī)的電腦遠(yuǎn)程控制系統(tǒng)設(shè)計

    遠(yuǎn)程控制系統(tǒng)指能夠在本地計算機(jī)上通過遠(yuǎn)程控制軟件發(fā)送指令給遠(yuǎn)程計算機(jī),從而操縱遠(yuǎn)程
    發(fā)表于 08-06 10:28 ?32次下載

    計算機(jī)-PLC在機(jī)械手遠(yuǎn)程控制系統(tǒng)中的應(yīng)用

    本文針對機(jī)械手的遠(yuǎn)程控制問題,選用三菱FX2N 系列PLC 作為控制器,以計算機(jī)為主站,實現(xiàn)了機(jī)械手的可視化遠(yuǎn)程控制。文中介紹了
    發(fā)表于 08-31 09:11 ?40次下載

    計算機(jī)對示波器進(jìn)行遠(yuǎn)程控制

    電路教程相關(guān)知識的資料,關(guān)于計算機(jī)對示波器進(jìn)行遠(yuǎn)程控制
    發(fā)表于 10-10 14:34 ?0次下載

    計算機(jī)控制系統(tǒng)--系統(tǒng)組建實現(xiàn)

    計算機(jī)控制系統(tǒng)--系統(tǒng)組建實現(xiàn)
    發(fā)表于 12-11 22:52 ?0次下載

    水泵遠(yuǎn)程控制系統(tǒng)方案

    。 水泵遠(yuǎn)程控制系統(tǒng)基于現(xiàn)代通信技術(shù)計算機(jī)技術(shù)和自動控制技術(shù),實現(xiàn)對水泵設(shè)備的
    的頭像 發(fā)表于 07-21 14:54 ?899次閱讀