《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 以太網(wǎng)串口通信的純軟件實(shí)現(xiàn)
以太網(wǎng)串口通信的純軟件實(shí)現(xiàn)
CEChina
武漢波仕電子公司
摘要: 武漢波仕電子公司1純軟件實(shí)現(xiàn)以太網(wǎng)串口通信的原理串口,一般就是指計(jì)算機(jī)的RS-232口或者RS-485口,是工業(yè)通信最常用的接口。本文介紹的就是如何利用以太網(wǎng)先組成局域網(wǎng),再讓2臺或多臺計(jì)算機(jī)都安裝上即時通信軟件進(jìn)行聯(lián)系,然后將即時通信軟件接收到的信號發(fā)送到計(jì)算機(jī)的串口,并且可以將串口收到的信號通過
關(guān)鍵詞: 以太網(wǎng) 串口通信
Abstract:
Key words :

 

1  純軟件實(shí)現(xiàn)以太網(wǎng)串口通信的原理

 

 

串口,一般就是指計(jì)算機(jī)的RS-232口或者RS-485口,是工業(yè)通信最常用的接口。本文介紹的就是如何利用以太網(wǎng)先組成局域網(wǎng),再讓2臺或多臺計(jì)算機(jī)都安裝上即時通信軟件進(jìn)行聯(lián)系,然后將即時通信軟件接收到的信號發(fā)送到計(jì)算機(jī)的串口,并且可以將串口收到的信號通過即時通信軟件發(fā)送到正在進(jìn)行即時通信聯(lián)系的遠(yuǎn)端計(jì)算機(jī)。這樣就用純軟件方法實(shí)現(xiàn)了以太網(wǎng)串口通信。

近年來,隨著網(wǎng)絡(luò)技術(shù)高速發(fā)展,即時通信軟件得到了大量的使用,包括基于以太網(wǎng)(局域網(wǎng))的企業(yè)即時通訊軟件和基于互聯(lián)網(wǎng)的個人即時通訊軟件。即時通信軟件使得任何兩個甚至多個用戶借助于局域網(wǎng)或者互聯(lián)網(wǎng)可以進(jìn)行通信,但是目前僅僅局限于數(shù)據(jù)、文件等交換,還沒有實(shí)現(xiàn)串口通信的功能。本文的方法在本質(zhì)上就是把串口要發(fā)送的數(shù)據(jù)按照TCP/IP協(xié)議進(jìn)行重新排列后通過即時通訊軟件發(fā)送到以太網(wǎng)連接的局域網(wǎng),同時也把以太網(wǎng)通過即時通訊軟件從局域網(wǎng)收到的數(shù)據(jù)按照TCP/IP格式提取出來后再按照串口通信的格式組合后接收。常用的串口通信格式為(9600,N,8,1),意思就是通信的速率(波特率)為9600bps,即每秒9600位,N表示無奇偶校驗(yàn)位,8表示用8個字節(jié)表示一個數(shù),1就是最后再加上1位附加位。以太網(wǎng)TCP/IP協(xié)議的數(shù)據(jù)包括幀同步、地址、類型、數(shù)據(jù)、校驗(yàn)。把串口要發(fā)送的一個數(shù)據(jù)去掉校驗(yàn)位和附加位提取出8個字節(jié)的純數(shù)據(jù),然后將它填充到以太網(wǎng)幀的數(shù)據(jù)部分,并且再補(bǔ)充任意38個字節(jié)到46個字節(jié)就可以構(gòu)成一幀以太網(wǎng)的數(shù)據(jù)包發(fā)送出去。同理,把以太網(wǎng)收到的一幀數(shù)據(jù)包去掉幀同步、地址、類型和校驗(yàn)后得到46個字節(jié)的純數(shù)據(jù),只取前面的8個字節(jié),然后加上校驗(yàn)位和附加位按照波特率由串口接收。

 

2  局域網(wǎng)串口即時通信軟件

    串口即時通信軟件是一種在局域網(wǎng)甚至互聯(lián)網(wǎng)內(nèi)實(shí)現(xiàn)串口即時通信的軟件。好靈通V11是局域網(wǎng)版本。只要2臺或者多臺計(jì)算機(jī)位于一個局域網(wǎng)內(nèi),那么借助于好靈通軟件可以實(shí)現(xiàn)這些計(jì)算機(jī)的串口之間的即時通信,也可以實(shí)現(xiàn)透明傳輸和多機(jī)通信。好靈通V11同時是一款功能齊全的局域網(wǎng)聊天工具,最新的版本不再依賴特定的串口轉(zhuǎn)換器,因而可以零硬件成本用純軟件實(shí)現(xiàn)以太網(wǎng)的串口通信。(專利:基于即時通信軟件的串口控制器ZL201120133429)

(1) 好靈通是一種能夠?qū)崿F(xiàn)串口硬件控制的即時通信軟件,不僅僅能夠即時交換信息,而且還能夠?qū)h(yuǎn)端的串口設(shè)備進(jìn)行控制。是世界上唯一具有串口通信功能的即時通信產(chǎn)品。 (2)局域網(wǎng)版的好靈通v11可以在同一局域網(wǎng)段內(nèi)部實(shí)現(xiàn)即時通信和串口控制,包括有線的以太網(wǎng)局域網(wǎng)和無線WIFI局域網(wǎng)。是一款很實(shí)用的局域網(wǎng)通信及串口控制工具,可以發(fā)送文字、文件、對話等、還可以設(shè)置串口COM號、波特率等。(3)可以實(shí)現(xiàn)有線或無線局域網(wǎng)內(nèi)串口的透明傳輸。甚至不同波特率和格式也可以。(4)完全可以作為局域網(wǎng)聊天工具!可以聊天、傳送文件、存儲記錄、群聊(廣播)。(5)無需任何設(shè)置,比以太網(wǎng)/串口轉(zhuǎn)換器使用要方便許多。

   在windows 7/xp下,按“開始”\“設(shè)置”\“控制面板”,點(diǎn)擊“系統(tǒng)”,查看“系統(tǒng)屬性”\“硬件”\“設(shè)備管理器”,展開“端口”,可以看到COM串口號,也可以繼續(xù)看這個串口的“屬性”\“設(shè)置”\“高級”,進(jìn)一步修改COM口號碼。運(yùn)行好靈通setup安裝完畢后,運(yùn)行程序:好靈通v11.exe,先進(jìn)入如下登錄界面:

 

  鍵入你自己取的昵稱,選擇頭像,按“登錄”進(jìn)入工作界面。

 

“好靈通串行口”部分的COM口號就是本計(jì)算機(jī)的串口號,包括USB擴(kuò)展的串口。單擊頭像為聊天、雙擊為傳輸文件。“廣播數(shù)據(jù)”時聊天數(shù)據(jù)會發(fā)送到自己(抬頭包括昵稱:,但是廣播數(shù)據(jù)時串口數(shù)據(jù)(無抬頭)不發(fā)送給自己,以符合RS-232/RS-485多機(jī)通信規(guī)則。顯然好靈通串口即時通信必須至少有2個用戶,當(dāng)然也支持多個用戶。

有幾個按鍵的使用功能,只要將鼠標(biāo)放在上面幾秒鐘,就會提示功能。比如:1、改變好靈通串行口的COM號時,如果串口處于打開狀態(tài)則要先關(guān)閉串口。2、好靈通串行口的進(jìn)度條表示RThreshold值,就是觸發(fā)串口中斷響應(yīng)的數(shù)據(jù)的長度,默認(rèn)為5。3、對方IP的文字框,如果為空白則表示廣播狀態(tài)。注意在廣播狀態(tài)下,就是多機(jī)通信狀態(tài)下,本機(jī)的發(fā)送數(shù)據(jù)會顯示在本機(jī)的聊天接收框內(nèi),但是不會發(fā)送到本機(jī)的好靈通串口,以符合RS-232/485多機(jī)通信協(xié)議。4、單擊頭像為發(fā)送數(shù)據(jù),雙擊頭像為傳輸文件。5、“無聲”—“有聲”按鈕,默認(rèn)無聲,建議串口通信時選無聲以提高通信實(shí)時性。6、“刷新用戶列表”有時在無線WIFI局域網(wǎng)可能要多刷新幾次。7、“隱藏自己圖標(biāo)”功能僅僅是不顯示自己的頭像,正在通信的對方仍然會顯示這個頭像,通信功能也仍然存在,主要是便于用戶區(qū)別自己和別人。


 

3、純軟件以太網(wǎng)串口通信的典型應(yīng)用

3.1   本地計(jì)算機(jī)控制遠(yuǎn)程計(jì)算機(jī)的串口

    

 

本地計(jì)算機(jī)PC1和遠(yuǎn)程計(jì)算機(jī)PC2位于通過以太網(wǎng)組成的局域網(wǎng)內(nèi)。此時本地計(jì)算機(jī)可以不用打開好靈通串口,遠(yuǎn)程計(jì)算機(jī)一定要在通信軟件的界面上“打開串口”連接。本地計(jì)算機(jī)將發(fā)送框內(nèi)的數(shù)據(jù)即時發(fā)送到遠(yuǎn)程的計(jì)算機(jī)接的串口。同時遠(yuǎn)程計(jì)算機(jī)串口收到的數(shù)據(jù)將即時發(fā)送到本地計(jì)算機(jī)并且顯示在接收框內(nèi)。

3.2 外接串口之間的透明傳輸

 

     本地計(jì)算機(jī)PC1和遠(yuǎn)程計(jì)算機(jī)PC2位于通過以太網(wǎng)組成的局域網(wǎng)內(nèi)。只要PC1PC2之間是通過好靈通軟件連接的,那么它們所接的串口之間是完全透明的。顯然兩臺計(jì)算機(jī)的即時通信軟件即使各自設(shè)置成為不同速率等也是可以通信的,也就是說還可以實(shí)現(xiàn)不同速率之間的串口透明傳輸。這是一般的串口遠(yuǎn)程通信無法實(shí)現(xiàn)的功能。

3.3 本地計(jì)算機(jī)與遠(yuǎn)程計(jì)算機(jī)之間的串口透明傳輸

 

本地計(jì)算機(jī)PC1和遠(yuǎn)程計(jì)算機(jī)PC2位于通過以太網(wǎng)組成的局域網(wǎng)內(nèi)。此時本地計(jì)算機(jī)PC1必須有2個串口,如下圖中左邊的USB串口和計(jì)算機(jī)本身的串口COM-X,并且打開好靈通的串口。此時遠(yuǎn)程計(jì)算機(jī)PC2必須接串口,并且打開好靈通串口。

注意要將本地計(jì)算機(jī)PC1的兩個串口COM-XUSB-串口連接起來。如果是使用RS-232口,注意RXD-TXD收發(fā)線交叉,GND-GND地接地。如果是使用RS-485,則AABBGNDGND。注意本產(chǎn)品只支持只有RXD、TXD、GND3RS-232通信,不支持有握手信號的RS-232通信。本產(chǎn)品支持多級通信,選擇“廣播數(shù)據(jù)”即可。如果界面上的“對方IP:”為空白,就表明處于廣播狀態(tài),就是多機(jī)通信狀態(tài)。在廣播狀態(tài)下,計(jì)算機(jī)發(fā)送的數(shù)據(jù)不會發(fā)給自己,雖然在聊天框內(nèi)會顯示。以符合RS-232/RS-485多機(jī)通信規(guī)則。

      這樣本地計(jì)算機(jī)PC1從自帶的串口COM-X發(fā)送的數(shù)據(jù)立即被本地的好靈通USB串口接收,并且通過即時通信軟件即時發(fā)送到遠(yuǎn)程計(jì)算機(jī)PC2,遠(yuǎn)程計(jì)算機(jī)PC2又立刻將此數(shù)據(jù)發(fā)送到遠(yuǎn)程計(jì)算機(jī)接的串口。反過來,遠(yuǎn)程計(jì)算機(jī)的串口接收到的數(shù)據(jù)會通過即時通信軟件發(fā)送到本地計(jì)算機(jī),而且立刻從本地計(jì)算機(jī)接的好靈通串口發(fā)送給本地計(jì)算機(jī)的串口COM-X。這樣就實(shí)現(xiàn)了PC1COM-XPC2的串口之間的串口透明傳輸。顯然兩臺計(jì)算機(jī)的即時通信軟件即使各自設(shè)置成為不同速率等也是可以通信的,這是一般的串口遠(yuǎn)程通信無法實(shí)現(xiàn)的功能。

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