瘋殼AI語音及人臉識別教程2-7WIFI-UDP網絡通信

詳情地址:https://fengke.club/GeekMart/views/offline/ai
購買鏈接:https://fengke.club/GeekMart/su_fKw7Nb7oC.jsp
視頻地址:https://fengke.club/GeekMart/su_f9cTSxNsp.jsp
官方QQ羣:457586268
WIFI-UDP網絡通信
UDP是User Datagram Protocol的簡稱, 中文名是用戶數據報協議。在網絡中它與TCP協議一樣用於處理數據包,與TCP不一樣的是,UDP是一種無連接的協議,UDP只能是儘可能地傳輸到目的地,所以UDP也是具有一定的不可靠性。
那麼爲什麼還會存在UDP呢?因爲在早期的網絡開發中,人們發現一些簡單的網絡通信不需要經過TCP複雜的建立關係,而且過多的建立TCP連接,會造成很大的網絡負擔,而UDP協議可以相對快速的處理這些簡單通信。如表1.0.1所示爲UDP組成結構。
表1.0.1 UDP的組成結構
16位源端口 16位目的端口號
16位UDP長度 16位UDP校驗和
數據
CC3200支持多種基於WIFI的網絡通信,UDP也不例外。
打開Udp_Socket_Demo,如圖1.0.1所示爲main函數。
在這裏插入圖片描述

圖1.0.1 main函數
在main函數中有InitializeAppVariables該函數主要實現的是把宏定義中的UDP服務器的IP以及端口號取出,進入建立udp的就緒狀態。
ConfigureSimpleLinkToDefaultState()函數主要是實現CC3200的接入網絡部分:把CC3200設置爲STA模式;並且把CC3200接入在common.h中定義好的路由器,如圖1.0.2所示,爲common.h中定義好的路由器SSID、祕鑰以及加密方式等。
在這裏插入圖片描述

圖1.0.2 路由器相關信息
最重要的函數是如圖1.0.2所示的BsdUdpClient(),通過該函數建立UDP。
在這裏插入圖片描述

圖1.0.2 BsdUdpClient()函數
該函數會先通過函數sl_SendTo()向網絡中發送瘋殼的官網,然後通過函數sl_RecvFrom()進入等待接收。
打開網絡調試助手,然後點擊打開設置協議類型爲“UDP”,點擊打開。把網絡調試助手的“本地主機地址”和“本地主機端口”,填寫到程序中定義IP以及端口號處,如圖1.0.3所示(注意IP要爲16進制);如圖1.0.4所示,爲網絡調試助手打開時的畫面。
在這裏插入圖片描述

圖1.0.3 本地IP及端口號
在這裏插入圖片描述

圖1.0.4 網絡調試助手打開
編譯代碼,打開UniFlash,下載bin文件到板子上(下載方法參考GPIO小節)。
下載完成後,打開UARTA0的“RXD”,以及“CH340G_VCC”即撥碼開關撥到“ON”。
打開串口調試助手,選擇相應的串口號,並且把波特率設置爲115200bps,點擊打開。按下板子上的復位鍵可看到串口助手打印如圖1.0.5所示的信息。可見CC3200已經連接上了指定的路由器以及通過UDP發送了一段消息,如圖1.0.6所示。
在這裏插入圖片描述

圖1.0.5 串口助手打印信息
此刻網絡調試助手也收到CC3200發來的信息,並自動獲取到了IP等信息,如圖1.0.6所示。
在這裏插入圖片描述

圖1.0.6網絡調試助手收到信息
在網絡調試助手中輸入一串信息,點擊發送,如圖1.0.7所示,此刻,串口調試助手也把CC3200收到的信息打印出來,並且發送新的一串信息,如圖1.0.8所示。
在這裏插入圖片描述

圖1.0.7 網絡調試助手發送信息
在這裏插入圖片描述

圖1.0.8 串口調試助手收到信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章