1. 程式人生 > >資料分享:wifi模塊資料使用指南

資料分享:wifi模塊資料使用指南

橋梁 -o sha 完整 接口實現 sys point service 流動

資料分享:wifi模塊資料使用指南

今天給大家分享wifi模塊總結資料,在網上看到蠻多小夥伴找這方向的內容的,統計了一些,拿出來大家分享,有什麽不懂的地方可以加群討論,更多單片機、proteus,物聯網資料下載:813238832

WLAN技術
WLAN是英文WirelessLAN的縮寫,就是無線局域網的意思。無線以太網技術是一種基於無線傳輸的局域網技術,與有線網絡技術相比,具有靈活、建網迅速、個人化等特點。將這一技術應用於電信網的接入網領域,能夠方便、靈活地為用戶提供網絡接入,適合於用戶流動性較大、有數據業務需求的公共場所、高端的企業及家庭用戶、需要臨時建網的場合以及難以采用有線接入方式的環境等。

四種主要物理組件
工作站(Station):構建網絡的主要目的是為了在工作站間傳送數據。所謂工作站,是指配備無線網絡接口的計算設備。
接入點(Access Point):802.11網絡所使用的幀必須經過轉換,方能被傳遞至其他不同類型的網絡。具備無線至有線的橋接功能的設備稱為接入點,接入點的功能不僅於此,但橋接最為重要。
無線媒介(Wireless Medium):802.11標準以無線媒介在工作站之間傳遞幀。其所定義的物理層不只是一種,802.11最初標準化了兩種射頻物理層以及一種紅外線物理層。
分布式系統(Distribution System):當幾個接入點串聯以覆蓋較大區域時,彼此之間必須相互通信以掌握移動式工作站的行蹤。分布式系統屬於802.11的邏輯組件,負責將幀轉送至目的地。

下圖為802.11網絡的基本服務集(basic service set),其中包含了這四種物理組件。
技術分享圖片
圖一
更多完整資料信息下載在闖客網

WIFI適配層
裏面定義很多字符串變量和適配層的接口實現,是對wpa_supplicant程序通信的接口封裝,用來完成上層和wpa_supplicant的通信, 頭文件在libhardware/include/hardware下,這裏的函數用來向JNI的本地實現提供調用接口。
這裏的函數,我把它們分為四類函數:
一類是命令相關的(控制)函數,就是在JNI層android_XXX_Command()函數所調用 的Wifi_Command()函數,調用流程如下:
android_XXX_command()=>docommand()=>wifi_command()=>wifi_send_command()=>wpa_ctrl_require()。

二類是 監聽函數,即Wifi_wait_for_event()函數,調用流程如下:android_net_wifi_Waitforevent()=> wifi_wait_for_event()=>wpa_ctrl_recv()。
三就是WPA_SUPPLICANT的啟動,連接,關閉函數
四是驅動的加載和卸載函數
技術分享圖片

圖二

wpa_ctrl的作用
定義了兩類套接字和一個管道,並分別實現了和wpa_supplicant的通信,而在實際的實現中采用的都是套接字的方式,因此wpa_supplicant適配層和wpa_supplicant層 是通過socket通訊的。
要是從wifi.c中真的很難看出它和wpa_supplicant有什麽關系,和它聯系密切的就是 這個wpa_ctrl.h文件,這裏面定義了一個類wpa_ctrl,這個類中聲明了兩個Socket套接口,一個是本地一個是要連接的套接 口,wpa_ctrl與wpa_supplicant的通信就需要socket來幫忙了,而wpa_supplicant就是通過調用 wpa_ctrl.h中定義的函數和wpa_supplicant進行通訊的,wpa_ctrl類(其實是其中的兩個socket)就是他們之間的橋梁。

資料分享:wifi模塊資料使用指南