国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于Windows服務、網絡和串口投影機遠程控制設計

發布時間:2010-8-9 15:35    發布者:lavida
在小型、零星或分散的多媒體教室里,如果吊裝投影機后,再配置一套多媒體教室設備網絡集成中央控制系統(簡稱網絡中控)顯得有些多余。因為網絡中控的主要控制對象是投影機,是圍繞投影機服務而實現多媒體教室設備的集成控制。不過投影機已經具備了信號源的切換功能,與其連接的計算機又有網絡和串口資源,而且網絡中控還必須占用一個目前網絡資源緊張的IP地址。  

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

1 關鍵技術的實現  

1.1 計算機Windows服務技術特征  

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

Windows服務應用程序的啟動由Windows服務控制管理器(Service Control Manager,SCM)完成,而SCM通過維護數據庫對已經安裝到系統的所有服務和驅動程序進行統一而安全的控制和管理,是一個遠程進程調用服務器,在 Windows操作系統導人時自動啟動。Windows服務分為服務應用程序啟動、服務程序監控及運行和服務程序安裝三個部分。這三部分通過安裝程序組合為一個完整的.exe文件。  

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

1.2 網絡數據幀與串口幀的通信協議設計  

為了在計算機啟動后立即監聽網絡,及時轉發客戶端發來的控制信號到投影機,使投影機實現相應的動作,則計算機首先必須實現基于Windows服務的網絡和串口的轉換協議,定義圖1所示網絡數據幀和串口數據幀格式。服務器和客戶端都以網絡數據幀來通信,網絡數據幀包含IP頭、TCP頭和若干串口數據幀。由于服務器端的計算機可能要使用多個串口控制嵌入式設備,同時因不同廠家生產投影機的串口波特率、效驗位、數據位、停止位等都不一致。無法確定所有投影機的串口設置,串口幀除了串口數據(N位)外,還需要在串口數據前加串口號(1位)、串口設置(1位)。為了編程方便,設定統一串口幀長度,對于不夠長度的,以填充位(為O)來補齊。在允許網絡數據幀最大長度的情況下,可以一個網絡數據幀包含若干個串口數據幀,各個串口數據幀以串口幀頭和串口幀尾區分開。  

  

1.3 網絡與串口通信軟件設計  

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

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

  

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

2 投影機遠程控制案例  

2.1 “零成本”解決方案  

根據上述的網絡、Windows服務和串口遠程控制開發流程,可以使設計不再使用網絡中控硬件,但具備網絡中控的網絡與串口通信協議功能,以“零成本”方式實現投影機遠程控制。設計如圖3所示的基于網絡、Windows服務與串口通信應用。


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

2.2 投影機遠程冷啟動開機和延時關機  

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

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

網絡喚醒數據幀的格式為連續6 B的FF和連續重復16次的MAC地址。若要喚醒電腦網卡的MAC地址00-DF-IE-32-E7-CD,則其對應的網絡喚醒數據幀如圖4所示。  

  

對于實現投影機的遠程關機,客戶端只需被控計算機的管理員賬號和密碼,就能控制或者進入被控計算機的操作系統。其實現原理是視窗管理規范 (WindowsManagement Instrumentation,WMI)。通過WMI為客戶端用戶提供通用訪問管理信息,設置客戶端在其本地計算機讀取/寫入/執行的權限,也包括關機設置。當客戶端發出遠程關機命令時,被控計算機通過WMI確認客戶端用戶使用權限,使用上面所述的Windows服務,實現網絡數據幀到串口數據幀的協議轉換,并通過計算機串口向投影機發送延時關機信號。投影機延時關機完成后,根據客戶端的要求,被控計算機也可隨即關閉Windows服務,并自動關機,最后整個系統進入遠程冷啟動開機的功能。  

3 結 語  

利用基于網絡、Windows服務和串口的數據通信技術,通過計算機作為中介,實現了對投影機遠程冷啟動開機和延時關機;并使用計算機網絡套接字 Socket和SeriallPort串口控件,完成了在無網絡中控硬件支持的情況下,利用本地計算機網絡資源和串口資源,以及投影機本身信號源切換資源,實現對投影機的“零成本”遠程控制。同時基于網絡、Windows服務和串口的數據通信有更多的用途,在只有計算機而又要實現對被控設備進行網絡遠程控制時,就要應用到這種技術。
本文地址:http://m.qingdxww.cn/thread-20374-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩黄色大片免费看| 动漫美女和男人下载| 久久综合网久久综合| 折磨比基尼美女挠肚子| 一本道久在线综合色色| 亚洲国产成人久久综合一区77| 青青青手机视频| 中文字幕在线观看不卡视频| 中国特黄毛片| 挠黑色超薄丝袜脚心vk40分钟| 亚洲一二三产品区别在哪里| 四虎精品免费永久在线| 亚洲欧美日韩精品永久在线| 一级一级一级一级毛片| 久久高清免费视频| 欧美剧情v网站在线看| 全黄一级裸片视频免费| 色天天综合色天天看| 97色伦97色伦国产| 日本zljzljzlj精品| 四虎影视永久在线观看| 日本一区不卡在线| 天下tv免费视频| 国产成人一区二区三区在线观看| 亚洲爆乳少妇精品无码专区| 亚洲精品免费在线| 亚洲人成自拍网站在线观看忄| 亚洲欧美一级夜夜爽w| 國産麻豆AVMDMD0179| 中文字幕 亚洲 有码 在线| 青青国产线免观看手机版精品| 水野朝阳厨房系列在线观看| hd性欧美俱乐部中文| 美娇妻的性奴史1一4| 主播蜜汁丝袜精品自拍| 日韩国产欧美精品综合二区| 我要看一级黄色毛片| 一级片免费在线观看| 蜜臀AV久久国产午夜福利软件| 色午夜影院| 日韩爱爱网|