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