用WINSOCK编程实现WIFI与串口通信———WIFI与串口(RS-232、RS-485/422)
武汉波仕电子有限公司

  波仕电子的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协议进行数据交换。这两种协议都可以用来创建服务器(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() '发送\  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   ' 发送完毕后回显 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   </p