前 言
本文档适用开发环境:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.1.0
Linux开发环境:Ubuntu18.04.4 64bit
U-Boot:U-Boot-2020.04
Kernel:Linux-5.4.70
Linux SDK:5.4.70_2.3.0
基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
WIFI模块测试
评估板板载WIFI模块型号为:必联BL-R8188EU2,支持STA模式和AP模式,请先将2.4G天线连接至评估板CON18接口,如下图所示。
![](https://p0.itc.cn/images01/20230503/648bffb82f9d43a28e67e0fd328437be.jpeg)
相关测试文件位于产品资料“4-软件资料\Demo\module-demos\usb_wifi_test\”目录下,驱动源码位于usb_wifi_test的src目录下。
- STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
- AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。
为方便测试,产品资料中提供了经过验证的脚本程序和驱动程序,脚本程序位于案例bin目录下,驱动程序位于案例driver目录下。请将bin目录下所有文件和driver目录下8188eu.ko驱动文件拷贝至评估板文件系统任意同一个路径下。
WIFI STA功能测试
进入评估板文件系统,在WIFI驱动8188eu.ko文件所在路径下执行如下命令加载WIFI驱动。
Target# insmod 8188eu.ko
![](https://p8.itc.cn/images01/20230503/dae9da4426d64d29934037ae0271656c.jpeg)
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
![](https://p9.itc.cn/images01/20230503/1f64e5572d7a4587a62601babd480a35.jpeg)
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。
Target# ./wifi_setup.sh -d wlan0 -i Tronlong-test -p omapl138
![](https://p2.itc.cn/images01/20230503/d18333e8ede147b7bb4d6a86201c5112.jpeg)
![](https://p7.itc.cn/images01/20230503/317d8e92dcdb498099166e9ddfa6a5b8.jpeg)
- 网络连通测试
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
Target# ifconfig
Target# ping 192.168.1.100
![](https://p6.itc.cn/images01/20230503/5f40bd51a9b74990a8a3d9c521fb114d.jpeg)
- TCP带宽测试
如下使用Iperf3工具测试评估板与PC机的网络通信带宽。若未安装,可在Ubuntu中执行"sudo apt-get install iperf3"安装。
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target# ifconfig
Target# iperf3 -s
![](https://p9.itc.cn/images01/20230503/43a86d237ed14ed0bbc532df9994fa80.jpeg)
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.101为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。
Host# iperf3 -c 192.168.1.101 -i 1
![](https://p0.itc.cn/images01/20230503/3faccd3d367e4919a3cd38106292c15e.jpeg)
![](https://p0.itc.cn/images01/20230503/cc99ea6482ac488cb8240ce635a6be9d.jpeg)
WIFI AP功能测试
请重启评估板,进入评估板文件系统执行如下命令关闭其他网络,仅保留WIFI网络,并加载WIFI驱动。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# insmod 8188eu.ko
![](https://p7.itc.cn/images01/20230503/07e233715d3748a88de93bcf373ad78b.jpeg)
在ap_setup.sh文件所在路径下执行如下命令,将WIFI模块设置为AP模式。
Target# ./ap_setup.sh
![](https://p1.itc.cn/images01/20230503/197490f8fd344bbe831a745620abe1d8.jpeg)
如启动WIFI AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
![](https://p0.itc.cn/images01/20230503/5ba33c4bb55e4a32828f1111f2941f90.jpeg)
![](https://p4.itc.cn/images01/20230503/504bf412330741c4b03fb156e2ebacbd.jpeg)
默认设置的WIFI名称为:rtl8188eu,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
![](https://p8.itc.cn/images01/20230503/ef38d372765845daa66c7cf171b551c0.jpeg)
- 网络连通测试
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。
Target# ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
![](https://p4.itc.cn/images01/20230503/e1f35341203b4c1b9b2698a9a9c0712d.jpeg)
- TCP带宽测试
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target# ifconfig
Target# iperf3 -s
![](https://p4.itc.cn/images01/20230503/cd68c4eca3624ff2aaf2a100f450ceee.jpeg)
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。
Host# iperf3 -c 192.168.0.1 -i 1
![](https://p0.itc.cn/images01/20230503/f7643e77e17045a2895d806c6e3479e3.jpeg)
![](https://p0.itc.cn/images01/20230503/1d9c7d42a04049659967fcfa6bea6eb1.jpeg)
USB WIFI驱动编译
将usb_wifi_test的src目录下的WIFI驱动源码拷贝至Ubuntu任意路径并解压。
Host# tar -xf rtl8188eus.tar.gz
![](https://p9.itc.cn/images01/20230503/d8a16efa8a304a27b0e7e748e00cdc05.jpeg)
进入驱动源码目录,打开Makefile文件。
Host# cd rtl8188eus/
Host# vim Makefile
![](https://p9.itc.cn/images01/20230503/ce536116ef324c438b5f28766a65ce03.jpeg)
Makefile文件内容请按如下说明进行修改。
ARCH := arm
CROSS_COMPILE := arm-poky-linux-gnueabi- //指定交叉编译链
KSRC ?= /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径
![](https://p2.itc.cn/images01/20230503/6640e15ea6e54bf88666bdf3e93c463a.jpeg)
在驱动源码所在路径执行如下命令使能SDK环境变量并编译WIFI驱动。
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
![](https://p9.itc.cn/images01/20230503/eac709bfff8e4847980107f766c07547.jpeg)
编译完成后即可在当前目录生成WIFI驱动8188eu.ko文件。
![](https://p2.itc.cn/images01/20230503/f77b88ac5bb64b2dae62ec512475f9ea.jpeg)
蓝牙模块测试
评估板板载蓝牙模块型号为:有人物联网WH-BLE105,位于评估板背面,如下图所示。评估板上电时蓝牙指示灯闪烁1s;当蓝牙连接设备成功后,蓝牙指示灯呈现黄色并常亮。
![](https://p2.itc.cn/images01/20230503/1bea7dcf78c143abad1e59dafe6e7fd1.jpeg)
本案例测试需准备一台智能手机。将手机蓝牙功能开启,在手机应用商城搜索“BLE调试助手”软件,并下载安装。
![](https://p7.itc.cn/images01/20230503/ac36d5e2af7f438e896c8db9eb2cd4a5.jpeg)
软件安装完成,打开BLE调试助手软件,通过下拉刷新页面寻找名字为WH-BLE105的蓝牙设备,并点击CONNECT进行连接。
![](https://p0.itc.cn/images01/20230503/18722d57b5754405a38b76b2374be9ed.jpeg)
蓝牙连接成功后,进入如下界面。
![](https://p2.itc.cn/images01/20230503/02d071f0c0de4409829faf426bfb818d.jpeg)
- 发送测试
在BLE调试助手,点击"Unknown Service"菜单栏,然后点击接收按钮,如下图所示。
![](https://p2.itc.cn/images01/20230503/b46d29a7e62747b99eca15e3931f4a87.jpeg)
进入如下界面,关闭"HEX"选项,并打开“接收通知数据”选项。
![](https://p0.itc.cn/images01/20230503/f8edfa0afe194acc87fe4b2d6cd4bda3.jpeg)
进入评估板文件系统,执行如下命令配置串口并发送数据。
Target# stty -F /dev/ttymxc4 ispeed 57600 ospeed 57600 cs8 -icanon
Target# echo "tronlong" > /dev/ttymxc4
![](https://p2.itc.cn/images01/20230503/3100952d1a9b48e0ba56cabfadeb4754.jpeg)
此时BLE调试助手将会显示接收到评估板发送的数据,如下图所示。
![](https://p6.itc.cn/images01/20230503/2320a9ceeea54ddaa7604d31d5114884.jpeg)
- 接收测试
进入评估板文件系统,执行如下命令,等待接收数据。
Target# cat /dev/ttymxc4
![](https://p8.itc.cn/images01/20230503/abeff389502146438312b75fe0bde0b7.jpeg)
在BLE调试助手,点击"Unknown Service"菜单栏,然后点击发送按钮,如下图所示。
![](https://p0.itc.cn/images01/20230503/f0add488ff1e4791bd6c2737242fe190.jpeg)
进入如下界面,关闭"HEX"选项,然后在输入框输入数据并点击发送。
![](https://p4.itc.cn/images01/20230503/64cbaba831fd42cd9c1ebebed89d2adb.jpeg)
此时串口调试终端将会接收并打印BLE调试助手发送的数据。
![](https://p6.itc.cn/images01/20230503/f1be709ab2b548af978e1f7126f85f7c.jpeg)
AUDIO音频模块测试
本案例使用的音频模块型号为:创龙科技TL3106。请将该模块正确插至评估板J6拓展接口上。模块上LINE IN和MIC IN接口为输入端,LINE OUT接口为输出端,如下图所示。
![](https://p8.itc.cn/images01/20230503/b28e1b10d6484f86bca0dcf4c14d6931.jpeg)
评估板上电,将产品资料“4-软件资料\Demo\module-demos\aic3106_test\bin\”目录下的line_in_test.sh和mic_in_test.sh脚本拷贝至评估板文件系统任意目录下。
- LINE IN + LINE OUT测试
使用3.5mm音频线将PC机LINE OUT输出端连接模块LINE IN输入端,将音箱或耳机音频线连接模块LINE OUT输出端。在PC端使用音乐播放器播放音频,然后进入评估板文件系统,在脚本所在目录执行如下命令进行测试。
Target# ./line_in_test.sh
![](https://p6.itc.cn/images01/20230503/825f274c61894669b8ec487afab05832.jpeg)
此时音箱或耳机可正常播放音乐,且声音质量正常,按"Ctrl + C"停止播放。
- MIC IN + LINE OUT测试
使用3.5mm音频线将PC机LINE OUT输出端连接至评估板MIC IN输入端,将音箱或耳机音频线连接模块LINE OUT输出端。在PC端使用音乐播放器播放音频,然后在评估板文件系统脚本文件所在目录执行如下命令进行测试。
Target# ./mic_in_test.sh
![](https://p0.itc.cn/images01/20230503/ab6671d7af554f4bab5a73958ab3ab07.jpeg)