《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 用WINSOCK编程实现WIFI与串口通信
用WINSOCK编程实现WIFI与串口通信
孙汉华
摘要: 武汉波仕电子公司2011年3月波仕电子的WF232L是一种WIFI与串口(RS-232、RS-485/422)的转换器,能够把IEEE802.11b/g的无线信号转换出串口。
Abstract:
Key words :

 

武汉波仕电子公司  20113

 

波仕电子的WF232L是一种WIFI与串口(RS-232RS-485/422)的转换器,能够把IEEE802.11b/g的无线信号转换出串口。TCP&DUP.exe测试工具可以显示WIFI与串口之间的通信数据,本文介绍的用WINSOCK编程实现WIFI串口通信可以将源代码嵌入到用户自己的应用程序中。也可以用于VBWINSOCK编程的参考。

 

WF232L的使用必须与无线AP(无线路由器)配合。WF232LDB-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,主要用于可以与远程计算机建立连接,并通过TCPUDP协议进行数据交换。这两种协议都可以用来创建服务器(Server)与客户端Client)类型的应用程序。

 

程序的VB界面很简单。在窗体上包括一个Winsock控件、2Text控件、3Command控件。代码为:

'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

通信成功后的界面截图如上。本软件还有另外一段为用WINSOCK写的TCP服务器的部分。整个源代码及程序见波仕WF232L产品的光盘。

此内容为AET网站原创,未经授权禁止转载。