前 言
本文档适用开发环境:
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接口,如下图所示。
相关测试文件位于产品资料“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
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。
Target# ./wifi_setup.sh -d wlan0 -i Tronlong-test -p omapl138
- 网络连通测试
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
Target# ifconfig
Target# ping 192.168.1.100
- TCP带宽测试
如下使用Iperf3工具测试评估板与PC机的网络通信带宽。若未安装,可在Ubuntu中执行"sudo apt-get install iperf3"安装。
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target# ifconfig
Target# iperf3 -s
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.101为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。
Host# iperf3 -c 192.168.1.101 -i 1
WIFI AP功能测试
请重启评估板,进入评估板文件系统执行如下命令关闭其他网络,仅保留WIFI网络,并加载WIFI驱动。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# insmod 8188eu.ko
在ap_setup.sh文件所在路径下执行如下命令,将WIFI模块设置为AP模式。
Target# ./ap_setup.sh
如启动WIFI AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
默认设置的WIFI名称为:rtl8188eu,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
- 网络连通测试
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。
Target# ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
- TCP带宽测试
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target# ifconfig
Target# iperf3 -s
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。
Host# iperf3 -c 192.168.0.1 -i 1
USB WIFI驱动编译
将usb_wifi_test的src目录下的WIFI驱动源码拷贝至Ubuntu任意路径并解压。
Host# tar -xf rtl8188eus.tar.gz
进入驱动源码目录,打开Makefile文件。
Host# cd rtl8188eus/
Host# vim Makefile
Makefile文件内容请按如下说明进行修改。
ARCH := arm
CROSS_COMPILE := arm-poky-linux-gnueabi- //指定交叉编译链
KSRC ?= /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径
在驱动源码所在路径执行如下命令使能SDK环境变量并编译WIFI驱动。
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
编译完成后即可在当前目录生成WIFI驱动8188eu.ko文件。
蓝牙模块测试
评估板板载蓝牙模块型号为:有人物联网WH-BLE105,位于评估板背面,如下图所示。评估板上电时蓝牙指示灯闪烁1s;当蓝牙连接设备成功后,蓝牙指示灯呈现黄色并常亮。
本案例测试需准备一台智能手机。将手机蓝牙功能开启,在手机应用商城搜索“BLE调试助手”软件,并下载安装。
软件安装完成,打开BLE调试助手软件,通过下拉刷新页面寻找名字为WH-BLE105的蓝牙设备,并点击CONNECT进行连接。
蓝牙连接成功后,进入如下界面。
- 发送测试
在BLE调试助手,点击"Unknown Service"菜单栏,然后点击接收按钮,如下图所示。
进入如下界面,关闭"HEX"选项,并打开“接收通知数据”选项。
进入评估板文件系统,执行如下命令配置串口并发送数据。
Target# stty -F /dev/ttymxc4 ispeed 57600 ospeed 57600 cs8 -icanon
Target# echo "tronlong" > /dev/ttymxc4
此时BLE调试助手将会显示接收到评估板发送的数据,如下图所示。
- 接收测试
进入评估板文件系统,执行如下命令,等待接收数据。
Target# cat /dev/ttymxc4
在BLE调试助手,点击"Unknown Service"菜单栏,然后点击发送按钮,如下图所示。
进入如下界面,关闭"HEX"选项,然后在输入框输入数据并点击发送。
此时串口调试终端将会接收并打印BLE调试助手发送的数据。
AUDIO音频模块测试
本案例使用的音频模块型号为:创龙科技TL3106。请将该模块正确插至评估板J6拓展接口上。模块上LINE IN和MIC IN接口为输入端,LINE OUT接口为输出端,如下图所示。
评估板上电,将产品资料“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
此时音箱或耳机可正常播放音乐,且声音质量正常,按"Ctrl + C"停止播放。
- MIC IN + LINE OUT测试
使用3.5mm音频线将PC机LINE OUT输出端连接至评估板MIC IN输入端,将音箱或耳机音频线连接模块LINE OUT输出端。在PC端使用音乐播放器播放音频,然后在评估板文件系统脚本文件所在目录执行如下命令进行测试。
Target# ./mic_in_test.sh