【ALINX 教程分享】基于 Z19-P 开发板实现 WIFI 无线通信的功能

 

教程基于 ALINX 开发板 Z19-P , 实现 WIFI 无线通信的功能,WIFI 模块使用 USB WIFIrtl8188cu。

使用的 usb wifi 设备购买链接:http://e.tb.cn/h.gy25HiTTj7n5eNg?tk=zvvU3oWX4X

特别提醒,本教程 Z19-P 所使用的 Linux环境是按照教程“ Xilinx 开发环境安装教程”搭建的,请先按该教程搭建开发板的 Linux 开发环境。

 

1、创建工程

创建工程可以参考教程“ zynqMPSOC Linux 开发教程基础篇”的第一章,创建一个基础的 petalinux 工程,并完成设备树修改,离线编译配置。(如果不需要改动内核,离线内核源码和 uboot 源码可以不用配置)

wKgaoWctcpWAYB6ZAALOfGfroPQ430.png

 

2、配置工程

配置 sd 卡根文件系统

进入 config 配置界面,命令:petalinux-config

在 Image Packaging Configuration 下修改根文件系统类型为 EXT4 类型,设备节点为/dev/mmcblk1p2

wKgaoWctcqWAOq3oAACYGmQzeZQ548.png

 

配置内核

1、进入内核配置界面,命令:petalinux-config -c kernel

2、在 Device Drivers -> Network device support -> Wireless LAN -> Realtek rtlwifi family of devices 路径下配置 rtl8188cu 驱动:Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter

wKgZoWctcqyAHdUaAAETHopmSRc580.png

3、保存配置,退出

 

配置文件系统

1、进入文件系统配置界面,命令:petalinux-config -c rootfs

2、在 Filesystem Packages -> network -> wpa-supplicant 路径下配置 wpa-supplicant 和 wpa-supplicant-cli 工具,该工具用于配置 wifi

wKgaomctcrqAO22mAABc8bq8NoQ073.png

3、在 Petalinux Package Groups -> packagegroup-petalinux-benchmarks 路径下配置 packagegroup-petalinux-benchmarks ,这是一个工具包,里面包含了 iperf3 工具

wKgaomctcsSAdv9oAABkQdFNwKk034.png

4、保存配置,退出

 

3、制作启动镜像

编译工程,生成启动镜像

1、编译工程,命令:petalinux-build

2、生成 BOOT.BIN ,命令:petalinux-package --boot --u-boot --fsbl --force

3、将 petalinux 工程中的 boot.scr BOOT.BIN image.ub 拷贝到 sd 卡 BOOT 分区(FAT32),将 rootfs.tar.gz 解压到 sd 卡 ROOTFS 分区( EXT4 )

4、将 sd 卡插入开发板,usbwifi 接到 usb 接口,拨码为 sd 模式,上电启动

wKgZomctcs6ADDMcAAHt6zYwZ1c869.png

 

4、配置 wifi

1、系统启动后在串口终端登录账户(默认用户名和密码都为 root )

2、修改 wpa 网络配置文件 wpa_supplicant.conf ,命令:vi /etc/wpa_supplicant.conf

wKgaomctcuCASmCTAAAdSb6jkcc668.png

3、在 network 里添加 wifi 名称和密码,ssid 设置 wifi 名称,psk 设置 wifi 的登陆密码(注意,等号两端不能有空格),注意,本款 usbwifi 支持的频率为 2.4GHz ,5G 网点是无法连接的

wKgaomctcueARFZ1AAAP1Nugpo8030.png

 

wKgZomctcu-AURzYAAFnwdYRjno379.png

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

wKgZomctcvuAHvgoAADAojrMAE0213.png

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

wKgaomctcwWAdgs6AAAx_brEyck337.png

 

5、测速

1、ping 测试,命令:ping www.baidu.com

wKgaomctcw6ALuhFAABpbnZzhHI356.png

2、iperf3 测试,windows 中打开命令行窗口,切换到 iperf3.exe 所在目录,运行 iperf3 服务端,命令:

iperf3.exe -s

wKgZomctcxWAcInCAAAVkLiTwV8896.png

3、在开发板串口终端运行 iperf3 客户端,命令:iperf3 -c 主机ip地址

wKgZomctcx-AJj8SAACKuK21H6E653.png

 

6、tcp 通信收发测试

1、在主机上运行 socket 通信程序的服务端: ./tcp_serv 9190 (端口号自定,非 0~1023 即可)

wKgaomctcymAdzmqAAAa9WMWa4o153.png

2、在开发板上配置好 usbwifi 后,运行 socket 通信程序的客户端:./tclnt 192.168.8.114 9190 ( ip 地址为服务端主机 ip 地址,端口号为服务端指定的端口号)

wKgZomctcy6Afdl8AAAR7ktshlg399.png

3、此时可以输入想要发送的信息,服务端会在收到信息后显示并返回给客户端

开发板(客户端):

wKgaomctczaAY19zAAAirAULaxQ936.png

主机端(服务端):

wKgaomctczuAPWRkAAAo-R6a26k649.png

 

注意:

在完成传输测试后,需要在客户端输入 q 结束传输连接(如果直接取消客户端程序,会导致服务端的对应端口被占用)

服务端在接收 5 次客户端的连接请求后会自动关闭(即客户端程序运行 5 次,一次连接可以发送的信息次数不限,一次发送不超过 1k 字节)

*相关文件下载:下载链接

wKgaoWctc46AXD9ZAAEiNZdeGYI649.png

posted on 2024-11-08 11:14  ALINX官方博客  阅读(10)  评论(0编辑  收藏  举报