本教程基于 ALINX 開發(fā)板 Z19-P , 實現(xiàn) WIFI 無線通信的功能,WIFI 模塊使用 USB WIFIrtl8188cu。
Z19-P 購買鏈接:https://sourl.cn/SACdvx
使用的 usb wifi 設備購買鏈接:http://e.tb.cn/h.gy25HiTTj7n5eNg?tk=zvvU3oWX4XZ
特別提醒,本教程 Z19-P 所使用的 Linux 環(huán)境是按照教程“ Xilinx 開發(fā)環(huán)境安裝教程”搭建的,請先按該教程搭建開發(fā)板的 Linux 開發(fā)環(huán)境。
1、創(chuàng)建工程
創(chuàng)建工程可以參考教程“ zynqMPSOC Linux 開發(fā)教程基礎篇”的第一章,創(chuàng)建一個基礎的 petalinux 工程,并完成設備樹修改,離線編譯配置。(如果不需要改動內核,離線內核源碼和 uboot 源碼可以不用配置)

2、配置工程
配置 sd 卡根文件系統(tǒng)
- 進入 config 配置界面,命令:petalinux-config
- 在 Image Packaging Configuration 下修改根文件系統(tǒng)類型為 EXT4 類型,設備節(jié)點為/dev/mmcblk1p2

配置內核
- 進入內核配置界面,命令:petalinux-config -c kernel
- 在 Device Drivers -> Network device support -> Wireless LAN -> Realtek rtlwifi family of devices 路徑下配置 rtl8188cu 驅動:Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter

3. 保存配置,退出
配置文件系統(tǒng)
- 進入文件系統(tǒng)配置界面,命令:petalinux-config -c rootfs
- 在 Filesystem Packages -> network -> wpa-supplicant 路徑下配置 wpa-supplicant 和 wpa-supplicant-cli 工具,該工具用于配置 wifi

3. 在 Petalinux Package Groups -> packagegroup-petalinux-benchmarks 路徑下配置 packagegroup-petalinux-benchmarks ,這是一個工具包,里面包含了 iperf3 工具

4. 保存配置,退出
3、制作啟動鏡像
編譯工程,生成啟動鏡像
- 編譯工程,命令:petalinux-build
- 生成 BOOT.BIN ,命令:petalinux-package --boot --u-boot --fsbl --force
- 將 petalinux 工程中的 boot.scr BOOT.BIN image.ub 拷貝到 sd 卡 BOOT 分區(qū)(FAT32),將 rootfs.tar.gz 解壓到 sd 卡 ROOTFS 分區(qū)( EXT4 )
- 將 sd 卡插入開發(fā)板,usbwifi 接到 usb 接口,撥碼為 sd 模式,上電啟動

4、配置 wifi
- 系統(tǒng)啟動后在串口終端登錄賬戶(默認用戶名和密碼都為 root )
- 修改 wpa 網絡配置文件 wpa_supplicant.conf ,命令:vi /etc/wpa_supplicant.conf

3. 在 network 里添加 wifi 名稱和密碼,ssid 設置 wifi 名稱,psk 設置 wifi 的登陸密碼(注意,等號兩端不能有空格),注意,本款 usbwifi 支持的頻率為 2.4GHz ,5G 網點是無法連接的


4. 使用 wpa_supplicant 工具連接 wifi,命令:wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &

5. 使用 dhcp 服務分配 ip 地址,命令: udhcpc -i wlan0

5、測速
- ping 測試,命令:ping?http://www.baidu.com

2. iperf3 測試,windows 中打開命令行窗口,切換到 iperf3.exe 所在目錄,運行 iperf3 服務端,命令:
iperf3.exe -s

3. 在開發(fā)板串口終端運行 iperf3 客戶端,命令:iperf3 -c 主機ip地址

6、tcp 通信收發(fā)測試
- 在主機上運行 socket 通信程序的服務端: ./tcp_serv 9190 (端口號自定,非 0~1023 即可)

2. 在開發(fā)板上配置好 usbwifi 后,運行 socket 通信程序的客戶端:./tclnt 192.168.8.114 9190 ( ip 地址為服務端主機 ip 地址,端口號為服務端指定的端口號)

3. 此時可以輸入想要發(fā)送的信息,服務端會在收到信息后顯示并返回給客戶端
開發(fā)板(客戶端):

主機端(服務端):

注意:
在完成傳輸測試后,需要在客戶端輸入 q 結束傳輸連接(如果直接取消客戶端程序,會導致服務端的對應端口被占用)
服務端在接收 5 次客戶端的連接請求后會自動關閉(即客戶端程序運行 5 次,一次連接可以發(fā)送的信息次數(shù)不限,一次發(fā)送不超過 1k 字節(jié))
*相關文件下載:下載鏈接
