《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 用WINSOCK編程實(shí)現(xiàn)WIFI與串口通信
用WINSOCK編程實(shí)現(xiàn)WIFI與串口通信
孫漢華
摘要: 武漢波仕電子公司2011年3月波仕電子的WF232L是一種WIFI與串口(RS-232、RS-485/422)的轉(zhuǎn)換器,能夠把IEEE802.11b/g的無(wú)線信號(hào)轉(zhuǎn)換出串口。
Abstract:
Key words :

 

武漢波仕電子公司  20113

 

波仕電子的WF232L是一種WIFI與串口(RS-232、RS-485/422)的轉(zhuǎn)換器,能夠把IEEE802.11b/g的無(wú)線信號(hào)轉(zhuǎn)換出串口。TCP&DUP.exe測(cè)試工具可以顯示WIFI與串口之間的通信數(shù)據(jù),本文介紹的用WINSOCK編程實(shí)現(xiàn)WIFI串口通信可以將源代碼嵌入到用戶自己的應(yīng)用程序中。也可以用于VBWINSOCK編程的參考。

 

WF232L的使用必須與無(wú)線AP(無(wú)線路由器)配合。WF232LDB-9針串口有2個(gè)用處:1、在設(shè)置模式下用于對(duì)WF232L產(chǎn)品進(jìn)行設(shè)置,2、在透明傳輸模式下作為WiFi轉(zhuǎn)換出來(lái)的串口。用WINSOCK編程實(shí)現(xiàn)WIFI與串口通信顯然必須在透明傳輸模式下,但是在進(jìn)入透明模式之間必須在設(shè)置模式下進(jìn)行設(shè)置。對(duì)WF232L進(jìn)行設(shè)置有2種方法:1、用專用配置軟件UART-WIFI.exe 2、是用IE瀏覽器的網(wǎng)頁(yè)進(jìn)行設(shè)置。用專用配置軟件功能比較全面,下面為配置軟件的部分界面:

 

設(shè)置成功后可以先用TCP&UDP.exe測(cè)試工具和scommassistant21.exe串口調(diào)試助手對(duì)WF232L進(jìn)行WIFI與串口之間的成功通信,確保硬件連接和軟件設(shè)置的正確。

記住以后編程要用到的參數(shù)設(shè)置:IP地址(192.168.0.123)和端口號(hào)(9999)。

VB中提供了一個(gè)網(wǎng)絡(luò)控件WINSOCK,主要用于可以與遠(yuǎn)程計(jì)算機(jī)建立連接,并通過(guò)TCPUDP協(xié)議進(jìn)行數(shù)據(jù)交換。這兩種協(xié)議都可以用來(lái)創(chuàng)建服務(wù)器(Server)與客戶端Client)類型的應(yīng)用程序。

 

程序的VB界面很簡(jiǎn)單。在窗體上包括一個(gè)Winsock控件、2個(gè)Text控件、3個(gè)Command控件。代碼為:

'Option Explicit

 

Private Sub commadn1_Click()

  SendMsg = Text2.Text

  SockCL.SendData SendMsg

End Sub

 

Private Sub Command2_Click() '發(fā)送\

  Dim SendMsg As String

  SendMsg = Text2.Text

  SockCL.SendData SendMsg

End Sub

 

Private Sub Form_Load()

    Text1.Text = ""

    Text2.Text = ""

    Text1.Locked = True

End Sub

 

Private Sub SockCL_ConnectionRequest(ByVal requestID As Long)

  If SockCL.State <> sckClosed Then SockCL.State = sckClosed

  SockCL.Accept requestID

  Text1.Text = "服務(wù)器請(qǐng)求連接!"

  SockCL.SendData "連接成功"

End Sub

 

Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)

    Dim DataStr As String

    SockCL.GetData DataStr    '  接收數(shù)據(jù)到文本框中

    If Text1.Text = "" Then

        Text1.Text = DataStr

    Else

        Text1.Text = Text1.Text & vbCrLf & DataStr

    End If

End Sub

 

 

Private Sub Command3_Click() ' 退出數(shù)據(jù)

    SockCL.Close

    End

End Sub

 

' 發(fā)送完畢后回顯

Private Sub SockCL_SendComplete()

    If Text1.Text = "" Then

        Text1.Text = "客戶端: " & SendMsg

    Else

        Text1.Text = Text1.Text & vbCrLf & "客戶端: " & SendMsg

    End If

End Sub

 

 

Private Sub Command1_Click() '  連接

   SockCL.RemoteHost = "192.168.0.123"

    '  指定服務(wù)器端口名

    SockCL.RemotePort = 9999

    '  連接到服務(wù)器

    SockCL.Connect

End Sub

通信成功后的界面截圖如上。本軟件還有另外一段為用WINSOCK寫的TCP服務(wù)器的部分。整個(gè)源代碼及程序見(jiàn)波仕WF232L產(chǎn)品的光盤。

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