"); //-->
例程开发板:TQT507 内核版本:4.9.170
本指南旨在为广大TQT507开发板用户提供详细的WiFi和蓝牙使用方法,帮助您轻松实现无线通信功能。
随着物联网技术的不断发展,WiFi和蓝牙已经成为无线通信领域两项重要的技术。而作为具有较高性价比的ARM Cortex-A53开发板,TQT507提供了丰富的硬件资源和完整的软件支持,非常适合进行无线通信相关的应用开发。
在编写本指南时,我们参考了官方文档、开源社区和亲身经验,力求为读者提供全面、系统、易懂的教程,帮助您快速上手并完成您的项目。
驱动加载wifi内核模块驱动文件表:
模块名称 | 接口 | 驱动文件名 | 所在路径 |
rtl8723ds | SDIO | 8723ds.ko | /lib/modules/4.9.170 |
rtl8723du | USB | 8723du.ko | /lib/modules/4.9.170 |
rtl8821cu | USB | 8821cu.ko | /lib/modules/4.9.170 |
bluetooth内核模块驱动文件表:
模块名称 | 接口 | 驱动文件名 | 所在路径 |
rtl8723ds | UART | 已集成到内核 | 无 |
rtl8723du | USB | rtk_btusb.ko | /lib/modules/4.9.170 |
rtl8821cu | USB | rtk_btusb.ko | /lib/modules/4.9.170 |
在使用板载wifi和wifi蓝牙模块TQ8821都需要手动加载对应的模块。
core A
insmod /lib/modules/4.9.170/8723ds.ko
拿到TQ8821模块后可以查看芯片表面的模组名称来确定加载的驱动
rtl8723du
insmod /lib/modules/4.9.170/8723du.ko
rtl8821cu
insmod /lib/modules/4.9.170/8821cu.ko
1.2 蓝牙功能的使用
在使用板载的蓝牙功能时都需要先执行下面命令
rtk_hciattach -n -s 115200 /dev/ttySAC1 rtk_h5&
使用wifi蓝牙模块TQ8821的蓝牙功能时,无论是rtl8723du模组,还是8821cu模组都要加载rtk_btusb.ko驱动
insmod /lib/modules/4.9.170/rtk_btusb.kowifi连接测试 手动测试
1.模块上电后,需要手动加载驱动
insmod /lib/modules/4.9.170/8723ds.ko
模块成功加载:
2.使能wifi网卡:
一般为“wlan0”,除非存在多个wifi模块并都加载了驱动:
ifconfig wlan0 up
无报错表示网卡加载成功。
3.查看网卡是否存在:
ifconfig -a
wlan0网卡存在:
4.扫描可连接的wifi:
此处使用的是 wireless tools 工具集里的iwlist工具:
iwlist wlan0 scan | grep ESSID
可以找到要连接的wifi:
5.编辑 WIFI 配置文件/etc/wpa_supplicant.conf,设置待连接的 WIFI 热点 SSID 及密码:
vi /etc/wpa_supplicant.conf
6.使能wifi配置:
加 -B 选项会使wpa_supplicant成为守护进程在后台运行,如果想多次进行调试的话就无法杀死进程,只能重启,因此此处并未加入该选项。
wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf &
这里的提示表示已经找到要连接的wifi:
7.连接wifi:
udhcpc -i wlan0
等待wifi连接,如果没报错,则连接成功。
8.查看wifi网卡:
ifconfig -a
已经分配了ip:
9.验证 WIFI 功能是否正常:
ping www.baidu.com
功能正常:
脚本测试在 /test_utils /wifi/ 目录下也集成了便于一键测试的脚本。
1.进入脚本目录:
cd /test_utils /wifi/sta
目录下有两个文件,link.sh为测试脚本,wpa_supplicant.conf为配置文件
2.打开wpa_supplicant.conf配置文件,设置待连接的 WIFI 热点 SSID 及密码:
vi ./wpa_supplicant.conf
3.执行link.sh测试脚本:
sh link.sh
等待片刻,连接成功,功能正常:
ap热点测试 手动测试1.模块上电后,需要手动加载驱动:
insmod /lib/modules/4.9.170/8723ds.ko
模块成功加载:
2.编辑 WIFI 配置文件 /etc/hostapd.conf ,设置待连接的 WIFI 热点 SSID 及密码:
vi /etc/hostapd.conf
热点名称:
3.如果之前使能wifi网卡,需要先关闭:
ifconfig wlan0 down
4.发送热点:
hostapd -B /etc/hostapd.conf -f /var/log/hostap.log
5.配置IP:
ifconfig wlan0 192.168.0.2
6.此时手机可查找到名为 embedsky 的 WIFI 热点,成功连接上热点。
7.以上几步仅仅保证了连接,如何上网还需配置,首先保证板卡 eth0 可以正常联网,
其次将无线网卡 wlan0 的设备传输数据转发到有线网卡 eth0 上面。所以需要配置一下路由转发规则,打通数据传输的链路。
执行以下指令:
#设置 linux 系统允许 ip 包转发 echo "1" > /proc/sys/net/ipv4/ip_forward #清除原设置 iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -t nat -X iptables -t mangle -X #设置 filter table 默认原则 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT #启用 NAT 数据转发功能, iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
如果需要转发的是4G网卡,则将最后一句指令修改为:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE;
可尝试在手机上关闭移动数据流量,然后浏览器打开网页进行测试网络。
脚本测试在 /test_utils /wifi/ 目录下也集成了便于一键测试的脚本。
1.进入脚本目录:
cd /test_utils/wifi/ap
2.打开hostapd.conf配置文件,设置待连接的 WIFI 热点 SSID 及密码:
vi hostapd.conf
热点名称:
3.执行send_ap.sh脚本,创建热点:
bash ./send_ap.sh
4.设置转发:
bash ./iptables_ap.sh
输入0,对eth0网卡进行转发,输入1,对ppp0网卡进行转发:
输入0:
此时手机可查找到名为 embedsky 的 WIFI 热点,成功连接上热点。
可尝试在手机上关闭移动数据流量,然后浏览器打开网页进行测试网络。
蓝牙设备使能 USB接口模块使能1.模块上电后,需要手动加载驱动:
insmod /lib/modules/4.9.170/rtk_btusb.ko
模块成功加载:
2 使能蓝牙设备:
hciconfig hci0 up
无报错,蓝牙设备成功使能。3 查看蓝牙设备:
hciconfig -a
Bus为USB:
UART接口模块使能本例使用板载6223A(rtl8723ds)模块已将蓝牙驱动集成于内核中。1使用hciattach工具启动蓝牙:
rtk_hciattach -n -s 115200 /dev/ttySAC1 rtk_h5&
启动成功:
查看蓝牙设备:
hciconfig -a
Bus为UART:
完成设备使能后,开启蓝牙服务:
hciconfig hci0 up蓝牙扫描测试
蓝牙模块设备使能后,可使用 hcitool 工具进行扫描:
hcitool scan
耐心等待扫描完成,此为扫描结果:
也可以使用 bluetoothctl 工具进行扫描:
1.进入 bluetoothctl 终端:
/usr/libexec/bluetooth/bluetoothd -C -n & bluetoothctl
2.开始扫描
scan on
此工具扫描到的设备更多:
3.扫描到目标设备后,可以停止扫描:
scan off
目标设备MAC地址为:24:DA:33:6D:F5:4A
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。