武漢波仕電子公司 2011年3月
波仕電子的WF232L是一種WIFI與串口(RS-232,、RS-485/422)的轉換器,,能夠把IEEE802.11b/g的無線信號轉換出串口。TCP&DUP.exe測試工具可以顯示WIFI與串口之間的通信數據,,本文介紹的用WINSOCK編程實現WIFI與串口通信可以將源代碼嵌入到用戶自己的應用程序中,。也可以用于VB的WINSOCK編程的參考。
WF232L的使用必須與無線AP(無線路由器)配合,。WF232L的DB-9針串口有2個用處:1,、在設置模式下用于對WF232L產品進行設置,2,、在透明傳輸模式下作為WiFi轉換出來的串口,。用WINSOCK編程實現WIFI與串口通信顯然必須在透明傳輸模式下,但是在進入透明模式之間必須在設置模式下進行設置,。對WF232L進行設置有2種方法:1,、用專用配置軟件UART-WIFI.exe, 2,、是用IE瀏覽器的網頁進行設置。用專用配置軟件功能比較全面,,下面為配置軟件的部分界面:
設置成功后可以先用TCP&UDP.exe測試工具和scommassistant21.exe串口調試助手對WF232L進行WIFI與串口之間的成功通信,,確保硬件連接和軟件設置的正確。
記住以后編程要用到的參數設置:IP地址(192.168.0.123)和端口號(9999),。
VB中提供了一個網絡控件WINSOCK,,主要用于可以與遠程計算機建立連接,并通過TCP或UDP協(xié)議進行數據交換,。這兩種協(xié)議都可以用來創(chuàng)建服務器(Server)與客戶端(Client)類型的應用程序,。
程序的VB界面很簡單。在窗體上包括一個Winsock控件,、2個Text控件,、3個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 = "服務器請求連接,!"
SockCL.SendData "連接成功"
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim DataStr As String
SockCL.GetData DataStr ' 接收數據到文本框中
If Text1.Text = "" Then
Text1.Text = DataStr
Else
Text1.Text = Text1.Text & vbCrLf & DataStr
End If
End Sub
Private Sub Command3_Click() ' 退出數據
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"
' 指定服務器端口名
SockCL.RemotePort = 9999
' 連接到服務器
SockCL.Connect
End Sub
通信成功后的界面截圖如上,。本軟件還有另外一段為用WINSOCK寫的TCP服務器的部分。整個源代碼及程序見波仕WF232L產品的光盤,。