《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > LED 顯示屏網(wǎng)絡直連的設計與實現(xiàn)
LED 顯示屏網(wǎng)絡直連的設計與實現(xiàn)
摘要: 文章針對LED 顯示屏調試過程中對網(wǎng)絡直連的需求,,提出了一種網(wǎng)絡直連的方法。該方法可自動匹配PC 機與LED 顯示屏IP 在同一網(wǎng)段,實現(xiàn)它們之間的網(wǎng)絡直連通信,,啟動系統(tǒng)時自動保存PC 機網(wǎng)絡配置,,退出系統(tǒng)時自動恢復PC 機網(wǎng)絡配置,。通過這種方式使用戶不用知道LED 顯示屏的IP 地址,,也不用修改PC 機的IP,便可實現(xiàn)PC 機與LED 顯示屏之間的網(wǎng)絡通信,,讓用戶方便,、高效地調試LED 顯示屏,并為類似的應用提供了一種可借鑒的解決方案,。
Abstract:
Key words :

  引言

  在LED 顯示屏工程應用中,,顯示屏一般在出廠前要做好參數(shù)配置、調試,、點亮,,并做節(jié)目測試,否則由于現(xiàn)場條件限制,,這些工作很難開展,。在做調試和節(jié)目測試時,可通過串口" title="串口">串口和網(wǎng)口進行通信,,而隨著網(wǎng)絡普及和速度的提升,,網(wǎng)絡通信" title="網(wǎng)絡通信">網(wǎng)絡通信方式被更多的用戶采用,,即用戶通過集線器或網(wǎng)絡直連的方式與顯示屏通信,。其中通過集線器,,PC 機和顯示屏IP 可不在同一個網(wǎng)段;而網(wǎng)絡直連時,,PC 機和顯示屏的IP 地址必須在同一個網(wǎng)段,。不管采用哪一種方法,都必須知道兩者的IP 地址才能進行通信,。但在調試過程中,,由于LED 控制卡太多、放置時間太長或由不同的人進行配置,,有時用戶可能不知道顯示屏的IP 地址,,這樣就很難開展工作了。另外,,出廠配置的IP 地址和現(xiàn)場安裝的IP 地址可能不一樣,,并且現(xiàn)場安裝的顯示屏IP 地址由于用戶千差萬別,其IP 地址段也不一樣,。這樣一來,,在調試過程中,需要反復修改顯示屏或PC 機的IP 地址,,帶來很大的工作量,。因此,基于應用中的這些問題,,有用戶提出能否采用網(wǎng)絡直連的方式,,無需知道LED 顯示屏的IP 地址,也不用修改PC 機的IP 就可實現(xiàn)PC 機與LED 顯示屏網(wǎng)絡通信,,讓用戶更方便地調試LED 顯示屏,。通過市場調研,有些軟件聲稱實現(xiàn)了LED 顯示屏網(wǎng)絡直連的方式,,但在具體實現(xiàn)上并不能令人滿意,,例如穩(wěn)定性、可靠性和時效性等方面并不如意,。經(jīng)過研究,,本文提出一種新的網(wǎng)絡直連的方法,可以很好地解決這些問題,,讓用戶方便,、可靠、高效地調試顯示屏,。

  1 主要功能需求分析和模型構建

  對于網(wǎng)絡直連,,硬件如圖1 所示,用網(wǎng)絡直連線將PC 機和顯示屏連接起來,然后手動設置它們的IP 地址在同一個網(wǎng)段,,即可進行通信了,。

網(wǎng)絡直連硬件圖

  但采用這種方式,如果事先不知道顯示屏的IP地址,,將很難進行通信,。為了達到不知道顯示屏IP地址也能實現(xiàn)PC 機與顯示屏直連通信的目的,可借助DHCP 服務原理來解決:即設置LED 顯示屏為某固定IP 地址的DHCP 服務器,,設置PC 機網(wǎng)卡為自動獲取IP 地址的方式,,通過DHCP 服務功能,自動配置PC 機的網(wǎng)卡IP 地址,,這樣網(wǎng)絡連接通道就建立了,。有些開發(fā)商就采用這種方式實現(xiàn)了網(wǎng)絡直連,但這種方法存在一些問題:其一,,由于UDP 通信為不連接通信,,其通信可靠性要差一些,容易失??;其二,只能通過操作系統(tǒng)自帶的系統(tǒng)完成,,沒有干預,,用戶不能設置超時,有時等待時間太長,,最長為60 秒,;其三,DHCP 為固定IP 方式,,在實際應用中顯然不太好,;其四,退出系統(tǒng)時,,不能恢復PC 機原有的網(wǎng)卡配置信息,。

網(wǎng)絡直連系統(tǒng)模型

  基于此,經(jīng)過研究,,本文提出一種新的網(wǎng)絡直連方法,,可以實現(xiàn)網(wǎng)絡直連、自動獲取IP 地址以及實現(xiàn)PC 機網(wǎng)卡配置信息保存和恢復等功能,,克服當前實現(xiàn)方法的不足,,提高可靠性、穩(wěn)定性和時效性等各方面性能,,其系統(tǒng)模型如圖2 所示,,主要功能和工作流程如下:

 ?。?)啟動系統(tǒng)時,檢索,、訪問PC 機的所有網(wǎng)卡,,并保存其網(wǎng)卡配置信息,供退出系統(tǒng)時恢復,;(2)啟動網(wǎng)絡直連進程,;(3)廣播IP 地址請求數(shù)據(jù)包,;(4)返回IP 地址數(shù)據(jù)包,;(5)解包,獲取PC 機和LED 顯示屏的IP 地址,,設置PC 機的IP 地址,;(6)返回LED 顯示屏的IP 地址,關閉網(wǎng)絡直連,,完成通信通道的建立,;(7)建立PC 機和LED 顯示屏的通信通道后,即可對顯示屏進行讀/ 寫參數(shù),、發(fā)送節(jié)目,、開關屏等通信控制操作;(8)退出系統(tǒng)時,,根據(jù)(1)保存的網(wǎng)卡配置信息,,恢復PC 機網(wǎng)卡的原始狀態(tài)。

  在以上流程中,,(2)~(6) 是核心過程,,它模擬DHCP 服務,實現(xiàn)PC 機廣播請求IP 地址,,獲取PC機IP 地址并設置,,上傳LED 顯示屏IP 地址,完成網(wǎng)絡直連通道的建立,,是進行網(wǎng)絡直連操作時必做的步驟,;(1)和(8)是啟動和退出系統(tǒng)時所做的保存PC機網(wǎng)卡配置信息和恢復網(wǎng)卡配置信息操作;(7)是在完成網(wǎng)絡直連通道后進行的顯示屏控制的一般操作,。本文重點介紹前兩者,。

  2 關鍵功能的設計和實現(xiàn)

  2.1 保存PC 機網(wǎng)卡配置信息

  用來調試顯示屏的PC 機,一般是一機多用,,在調試顯示屏的同時,,還用來辦公、上網(wǎng),,其網(wǎng)卡IP 地址可能是固定的或自動獲取的,。在做網(wǎng)絡直連時,,可能會改變其IP 地址,為了不影響用戶的工作,,退出時需要自動恢復其IP 地址,。而要做到這一點,可在啟動LED 控制軟件時,,讀取當前網(wǎng)卡配置信息,,如IP 地址、網(wǎng)卡名,、MAC 地址,、網(wǎng)卡類型、是否是自動配置IP 地址等等,,將這些信息放入一個鏈表中保存,,同時設置一個標識,記錄用戶在調試顯示屏的過程中,,是否使用過網(wǎng)絡直連操作,,待退出系統(tǒng)時使用。

  在Windows 操作系統(tǒng)中,,可使用IP Helper 接口來讀取網(wǎng)卡信息,,它是一套用于管理本地網(wǎng)絡設置的API,通過它使用IP_ADAPTER_INFO 結構,,可以方便地提取上述網(wǎng)卡配置信息,,保存到鏈表中。

  2.2 借鑒DHCP 服務原理,,構建網(wǎng)絡直連通道

  要實現(xiàn)PC 機和LED 顯示屏網(wǎng)絡直連通信,,必須解決兩個關鍵問題:其一,讓PC 機和LED 顯示屏在同一個網(wǎng)段,;其二,,知道LED 顯示屏的IP 地址。

  除此之外,,還要解決多網(wǎng)卡,、無線網(wǎng)卡" title="無線網(wǎng)卡">無線網(wǎng)卡對網(wǎng)絡直連的干擾等現(xiàn)象。借鑒DHCP 原理,,主要解決思路如下:

 ?。?)在PC 機端設計一個網(wǎng)絡直連控制進程;(2) 需要網(wǎng)絡直連時,, 啟動該進程,, 通過Windows 相關網(wǎng)絡API 函數(shù)和注冊表信息,確定與LED 顯示屏連接的非無線網(wǎng)卡,,將其MAC 地址放入構建請求IP 地址的UDP 數(shù)據(jù)包中,,然后廣播出去,,同時啟動內部UDP 包捕獲子進程;(3)LED 顯示屏收到請求IP 地址的UDP 包后,,根據(jù)本身IP 地址,,構造一個PC 機的IP 地址,將其廣播出去,,為了不引起混亂,,這里構建的是偽DHCP 包,正常的Windows 客戶端收到該UDP 包時,,并不會自動改變其IP 地址,;(4)網(wǎng)絡直連控制進程的UDP 包捕獲子進程接收到分配的IP 地址的UDP 包后,解包得到PC機的IP 地址和LED 顯示屏的IP 地址,;(5)設置PC 機網(wǎng)卡IP 地址,,上傳LED 顯示屏的IP 地址給控制軟件,成功后,,關閉網(wǎng)絡直連控制進程,完成網(wǎng)絡直連通道的建立,。

  這個網(wǎng)絡直連的過程涉及三個系統(tǒng):(1)網(wǎng)絡直連控制進程,,它構建請求IP 地址UDP 數(shù)據(jù)包并廣播出去,同時監(jiān)控目標網(wǎng)卡的68 端口,,捕獲返回的UDP 數(shù)據(jù)包,,解析出PC 機的IP 地址和LED 顯示屏的IP 地址,然后設置PC 機的IP 地址,,將LED顯示屏的IP 地址提交給主進程,,完成網(wǎng)絡直連的任務;(2)LED 顯示屏DHCP 服務子進程,,它接收PC機的IP 地址請求,,構建并設置自身IP 地址,并返回PC 機的IP 地址的偽DHCP 包,;(3)LED 控制軟件,,當用戶選擇網(wǎng)絡直連方式時,啟動網(wǎng)絡直連控制子進程,,實現(xiàn)網(wǎng)絡直接通道的建立,,完成后,關閉該進程,。

  2.3 恢復PC 機網(wǎng)卡的配置信息

  退出系統(tǒng)時,,根據(jù)2.1 保存的是否使用過網(wǎng)絡直連的標識進行判斷,如果沒有使用過網(wǎng)絡直連方式,,則無需執(zhí)行網(wǎng)絡IP 恢復功能,;否則將執(zhí)行恢復功能,,還原2.1 保存的網(wǎng)卡配置,恢復網(wǎng)卡IP 地址可使用netsh interface ip set 命令,。同時,,為了加快處理速度并提高成功率,可按禁用網(wǎng)卡,、設置網(wǎng)卡IP地址,、再啟用網(wǎng)卡的步驟實施:

  (1)使用Windows 的SetupAPI 相關接口API函數(shù)禁用目標網(wǎng)卡,;(2)恢復目標網(wǎng)卡IP 設置,,根據(jù)靜態(tài)IP 地址和動態(tài)IP 地址,分別用不同的命令:

  a. 恢復靜態(tài)IP 地址命令,。

  a. 恢復靜態(tài)IP 地址命令

  netsh interface ip set address name=“本地連接”

  source=STatic addr=192.168.1.19 mask=255.

  255.255.0 gateway=nONe

  b. 恢復動態(tài)IP 地址命令,。

  netsh interface ip set address“本地連接”dhcp

  (3)使用SetupAPI 相關接口API 函數(shù)啟用目標網(wǎng)卡,,這樣就完成了網(wǎng)卡配置信息的恢復,。

  3 結論

  本文針對LED 顯示屏調試過程中對網(wǎng)絡直連的需求,提出一種網(wǎng)絡直連的方法,,系統(tǒng)在啟動時自動保存網(wǎng)卡配置信息,,使用網(wǎng)絡直連進程構建網(wǎng)絡直連通道,退出系統(tǒng)時自動恢復網(wǎng)卡配置信息,,使用戶無需知道LED 顯示屏的IP 地址,,也不用修改PC機的IP 地址,便可實現(xiàn)PC 機與LED 顯示屏的網(wǎng)絡通信,。該方法在LED 導航者軟件中使用,,其可靠性、穩(wěn)定性和時效性得到了用戶的認可,,取得了良好的效果,。實踐證明,該方法可為類似的應用提供一種可供借鑒的解決方案,。

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。