基于Windows Mobile平臺的高速無線網(wǎng)絡的移動解決方案
引言
本文引用地址:http://butianyuan.cn/article/155397.htm隨著3G網(wǎng)絡技術、市場和政策的不斷成熟,移動終端設備的使用量在急速增加,廣泛應用各個領域。Windows Mobile是微軟為智能移動終端設備開發(fā)的操作系統(tǒng),Windows Mobile將用戶熟悉的桌面Windows體驗擴展到了移動設備上。Windows Mobile為移動終端設備之間的數(shù)據(jù)交換和信息共享提供了簡單、安全的解決方案。在Windows Mobile平臺上的數(shù)據(jù)通信技術有Socket、Web Service、MSMQ(微軟消息隊列技術)。Socket傳送數(shù)據(jù)會自定義傳送數(shù)據(jù)格式并且服務端要使用到多線程接收客戶端信息,編程復雜且不好控制;Web Service編程簡單易控制,但是只可能調(diào)用服務端的函數(shù)不能實現(xiàn)服務端和客戶端相互通信;MSMQ是微軟提供的一種可以遠程訪問的異步通訊方式,支持轉(zhuǎn)發(fā),支持延時發(fā)送,并且具有較高安全性,是當前Windows Mobile平臺上最可靠的數(shù)據(jù)通信方法。
MSMQ技術
Message Queue(微軟消息隊列)是在多個不同應用程序(終端或服務)之間實現(xiàn)相互通信的一種異步傳輸模式,相互通信的應用程序可以分布于同一臺機器上,也可以分布于相連的網(wǎng)絡空間中的任一終端。消息是通信的雙方所需要傳遞的信息,它可以是各種對象,如文本、聲音和圖像等。消息最終的實現(xiàn)方式是由消息傳遞的雙方共同制定的協(xié)議來規(guī)定,這樣做的好處,既對數(shù)據(jù)進行了簡單的加密,也可以減輕系統(tǒng)通信的負擔。其實現(xiàn)原理是消息的發(fā)送者把自己想要發(fā)送的信息放入一個容器中(Message),然后將其保存到一個系統(tǒng)公用空間的消息隊列中;本地或者是異地的消息接收程序再從該隊列中取出發(fā)給它的消息進行處理。
由于采用的是異步通信方式,無論是發(fā)送程序還是接收程序都不用等待對方返回成功發(fā)送消息的標志,就可以執(zhí)行余下的代碼,因而提高了系統(tǒng)的處理能力。當信息傳送過程中,信息發(fā)送機制具有故障恢復能力;MSMQ的消息傳遞機制使得消息通信的雙方具有通過不同的物理平臺進行通信的能力。在支持.net技術的操作系統(tǒng)上利用其提供的MSMQ功能,可以輕松創(chuàng)建或者刪除消息隊列,發(fā)送或者接收消息,并具有對消息隊列進行管理。消息隊列是發(fā)送和接收消息的公用存儲空間,它可以存在于內(nèi)存中或者是物理文件中。
系統(tǒng)結構與軟件配置
系統(tǒng)結構
針對客車業(yè)生產(chǎn)現(xiàn)場數(shù)據(jù)采集系統(tǒng)實例,由于客車生產(chǎn)屬于混合流水生產(chǎn)行業(yè),工序和工藝路線復雜、人工參與生產(chǎn)多、客車比其他產(chǎn)品體積龐大,所以需要現(xiàn)場人員使用PDA掃描生產(chǎn)現(xiàn)場數(shù)據(jù)和上報生產(chǎn)進度狀況。車間和廠區(qū)范圍大,車間環(huán)境復雜,整個網(wǎng)絡采用無線通信的方式。PDA中裝有Windows Mobile系統(tǒng),在PDA中可以安裝各種應用程序,例如條碼掃描、車間物料供需程序和生產(chǎn)現(xiàn)場調(diào)度程序。在PDA上也可以擴展外部設備,例如條碼掃描槍和微型打印機等。利用PDA的移動性和比較強的數(shù)據(jù)處理能力可對現(xiàn)場數(shù)據(jù)進行實時的采集和整理。將采集的現(xiàn)場數(shù)據(jù)上傳到數(shù)據(jù)采集服務器、生產(chǎn)追蹤服務器和生產(chǎn)調(diào)度服務器。
如圖1所示的系統(tǒng)硬件平臺主要由廠級數(shù)據(jù)中心的服務器、無線路由器和PDA數(shù)據(jù)采集器構成,車間中根據(jù)生產(chǎn)工藝工序配置的多個PDA數(shù)據(jù)采集器,PDA上的掃描槍可以實時的采集現(xiàn)場數(shù)據(jù),PDA的上的處理程序?qū)⒉杉臄?shù)據(jù)進行處理,然后通過多層無線路由器AP上傳到廠級數(shù)據(jù)中心服務器,每個PDA都有自己獨立的IP地址,服務器通過收發(fā)消息對上傳的數(shù)據(jù)進行管理和向PDA發(fā)出指令。整個系統(tǒng)包括服務器程序和客戶端程序,通過MSMQ技術實現(xiàn)PDA與數(shù)據(jù)服務器的數(shù)據(jù)通信。
系統(tǒng)軟件配置
服務端配置:服務端是Windows Server2003操作系統(tǒng),服務器程序檢查客戶端在線狀態(tài),將在線客戶端信息(包括:客戶端名稱、客戶段IP地址)共享給每個客戶端。
客戶端:需要設置服務器端IP地址,本地客戶端名稱。設置正確服務端IP地址、本地客戶端名稱后。通過服務端獲取在線客戶端信息,指定客戶端后可以接收新消息和發(fā)送消息。
MSMQ技術在Windows Mobile中的應用
在PDA上Windows Mobile操作系統(tǒng)中通過MSMQ技術實現(xiàn)數(shù)據(jù)通信,要使用MSMQ開發(fā)消息處理程序,必須在服務器主機和客戶端上安裝消息隊列。消息處理程序主要是消息的發(fā)送和接收,如果要實現(xiàn)收發(fā)消息,必須引用一個隊列,引用的消息隊列分為公用隊列和專用隊列,這兩個隊列都存放用戶設計的消息。引用消息隊列后,就可以發(fā)送、接收和閱讀消息了。消息接收服務位于System.Messaging中,需要在工程中引用System.Messaging.dll文件。具體實現(xiàn)過程和代碼如下:
引用隊列
通過路徑、格式名和標簽三種方法引用隊列。例如:通過路徑引用消息隊列,路徑的形式為 machinenamequeuename。在實際應用中,指向隊列的路徑必須是唯一的。表1列出用于每種類型的隊列的路徑信息。
評論