TQT507開發(fā)板wifi藍牙使用指南
▲點擊上方“廣州天嵌”關注公眾號后回復TQT507獲取板卡規(guī)格書

例程開發(fā)板:TQT507? ?內核版本:4.9.170
本指南旨在為廣大TQT507開發(fā)板用戶提供詳細的WiFi和藍牙使用方法,幫助您輕松實現無線通信功能。
隨著物聯網技術的不斷發(fā)展,WiFi和藍牙已經成為無線通信領域兩項重要的技術。而作為具有較高性價比的ARM Cortex-A53開發(fā)板,TQT507提供了豐富的硬件資源和完整的軟件支持,非常適合進行無線通信相關的應用開發(fā)。
在編寫本指南時,我們參考了官方文檔、開源社區(qū)和親身經驗,力求為讀者提供全面、系統、易懂的教程,幫助您快速上手并完成您的項目。
驅動加載??
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
1.1 wifi功能的使用 ?
在使用板載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 藍牙功能的使用???
在使用板載的藍牙功能時都需要先執(zhí)行下面命令
rtk_hciattach -n -s 115200 /dev/ttySAC1 rtk_h5&
使用wifi藍牙模塊TQ8821的藍牙功能時,無論是rtl8723du模組,還是8821cu模組都要加載rtk_btusb.ko驅動
insmod /lib/modules/4.9.170/rtk_btusb.ko
wifi連接測試??
手動測試 ?
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.執(zhí)行l(wèi)ink.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.發(fā)送熱點:
hostapd -B /etc/hostapd.conf -f /var/log/hostap.log ? ? ?? ? ?
5.配置IP:
ifconfig wlan0 192.168.0.2 ? ? ?
6.此時手機可查找到名為 embedsky 的 WIFI 熱點,成功連接上熱點。

7.以上幾步僅僅保證了連接,如何上網還需配置,首先保證板卡 eth0 可以正常聯網,
其次將無線網卡 wlan0 的設備傳輸數據轉發(fā)到有線網卡 eth0 上面。所以需要配置一下路由轉發(fā)規(guī)則,打通數據傳輸的鏈路。
執(zhí)行以下指令:
#設置 linux 系統允許 ip 包轉發(fā) ? ? ? ? ? ?
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 數據轉發(fā)功能, ? ? ? ? ? ?
iptables -t nat -A POSTROUTING -j MASQUERADE ? ? ? ? ? ?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ? ? ? ? ? ?
如果需要轉發(fā)的是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.執(zhí)行send_ap.sh腳本,創(chuàng)建熱點:
bash ./send_ap.sh ? ? ?? ??
4.設置轉發(fā):
bash ./iptables_ap.sh ? ? ? ? ??
輸入0,對eth0網卡進行轉發(fā),輸入1,對ppp0網卡進行轉發(fā):

輸入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
