前 言
本文檔主要介紹基于iMX6ULL開發(fā)板分享 物聯(lián)網(wǎng)模塊開發(fā)案例,其中內(nèi)容包括SDIO WIFI模塊測試、STA模式測試、NB-IoT模塊測試、Zigbee模塊測試、LoRa模塊測試和4G模塊測試由于篇幅過長,案例分為上下兩部分,歡迎各位感興趣的用戶查看更多。
適用開發(fā)環(huán)境:
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit 虛擬機:VMware15.1.0 U-Boot:U-Boot-2020.04 Kernel:Linux-5.4.70 Linux SDK:5.4.70_2.3.0
本案例測試板卡為創(chuàng)龍科技的TLIMX6U-EVM,它是一款基于 NXP i.MX 6ULL的 ARM Cortex-A7高性能低功耗處理器設(shè)計的評估板,由核心板和評估底板組成。核心板經(jīng)過專業(yè)的 PCB Layout和高低溫測試驗證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。
評估板接口資源豐富,引出雙路網(wǎng)口、雙路RS485、雙路CAN、三路 USB、多路DI/DO、 LCD等接口,板載WIFI、Bluetooth模塊,支持LoRa、NB-IoT、Zigbee、4G模塊,可選配外殼直接應(yīng)用于工業(yè)現(xiàn)場。
無特殊說明情況下,默認(rèn)使用USB TO UART1作為調(diào)試串口,使用Linux系統(tǒng)啟動卡(SD啟動模式)啟動系統(tǒng),通過路由器與PC機進行網(wǎng)絡(luò)連接。
SDIO WIFI模塊測試
本案例使用SDIO WIFI模塊型號為:RTL8189,請將SDIO WIFI模塊插至評估板SDIO接口,如下圖所示。
圖 1
SDIO WIFI模塊支持STA和AP模式,具體說明如下:
本案例測試程序位于產(chǎn)品資料“4-軟件資料\Demo\module-demos\sdio_wifi_test\”目錄下,具體說明如下。
表 1
請將bin目錄下所有文件和driver目錄下8189fs.ko驅(qū)動文件拷貝至評估板文件系統(tǒng)任意相同路徑下,并將SDIO WIFI模塊正確連接至評估板SDIO接口。由于SDIO接口與Micro SD接口存在引腳復(fù)用關(guān)系,因此請務(wù)必將Linux系統(tǒng)啟動卡從評估板Micro SD卡槽中取出。將評估板啟動方式選擇撥碼開關(guān)撥為011000(1~6),此檔位為NAND FLASH啟動模式。
STA模式測試
進入評估板文件系統(tǒng),在SDIO WIFI模塊驅(qū)動8189fs.ko所在路徑下,執(zhí)行如下命令加載驅(qū)動。 Target# insmod 8189fs.ko
圖 2
圖 3
執(zhí)行如下命令關(guān)閉其他網(wǎng)絡(luò)和wpa_supplicant進程,僅保留WIFI網(wǎng)絡(luò)。 Target# ifconfig eth0 down Target# ifconfig eth1 down Target# killall -9 wpa_supplicant Target# ifconfig wlan0 up Target# ifconfig
圖 4
在wifi_setup.sh文件所在路徑下執(zhí)行如下命令,將評估板通過WIFI模塊連接至路由器。"-i"指定WIFI名稱,"-p"指定WIFI密碼,請根據(jù)實際情況修改。
Target# ./wifi_setup.sh -i Tronlong-test -p omapl138
圖 5
執(zhí)行如下命令查看獲取的IP地址,并通過ping命令測試評估板與PC機通信是否正常。192.168.1.100為PC機實際IP地址,請確保評估板與PC機在同一局域網(wǎng)內(nèi)。 Target# ifconfig Target# ping 192.168.1.100
圖 6
在評估板文件系統(tǒng)執(zhí)行如下命令,查看評估板IP地址,使用Iperf3工具測試評估板與PC機的網(wǎng)絡(luò)通信帶寬。
Target# ifconfig Target# iperf3 -s
圖 7
在Ubuntu系統(tǒng)執(zhí)行如下命令測試網(wǎng)絡(luò)通信帶寬,192.168.1.103為評估板實際IP地址。測試完成后,Ubuntu和評估板均會打印測試結(jié)果。測試結(jié)果受網(wǎng)絡(luò)環(huán)境影響,僅供參考。
Host# iperf3 -c 192.168.1.103 -i 1
圖 8
圖 9
AP模式測試
請重啟評估板系統(tǒng),在SDIO WIFI模塊驅(qū)動8189fs.ko所在路徑下執(zhí)行如下命令加載驅(qū)動。 Target# insmod 8189fs.ko
圖 10
圖 11
執(zhí)行如下命令關(guān)閉其他網(wǎng)絡(luò)和wpa_supplicant進程,僅保留WIFI網(wǎng)絡(luò)。 Target# ifconfig eth0 down Target# ifconfig eth1 down Target# killall -9 wpa_supplicant Target# ifconfig wlan0 up Target# ifconfig
圖 12
在ap_setup.sh文件所在路徑下執(zhí)行如下命令,將SDIO WIFI模塊設(shè)置為AP模式。 Target# ./ap_setup.sh
圖 13
如啟動AP功能過程中,出現(xiàn)如下問題,是由于random熵不夠引起,需重啟評估板,執(zhí)行如下命令更換熵池,再重新測試。
Target# mv /dev/random /dev/random_ori Target# ln -s /dev/urandom /dev/random
圖 14
圖 15
程序默認(rèn)設(shè)置的WIFI名稱為:rtl8188fs,密碼為:88888888,可在rtl_hostapd_2G.conf配置文件內(nèi)進行修改。
將具有WIFI功能的PC機(比如筆記本電腦或裝有USB WIFI的臺式電腦)連接至此無線局域網(wǎng)熱點,并斷開已有的有線網(wǎng)絡(luò)連接。連接成功后,串口調(diào)試終端將會打印如下信息,顯示Ubuntu已分配的IP地址。如使用虛擬機 + Ubuntu的開發(fā)方式,將會獲取到兩個IP地址,其中一個為Windows端IP地址,一個為Ubuntu端IP地址。
圖 16
執(zhí)行如下命令測試無線局域網(wǎng)設(shè)備之間網(wǎng)絡(luò)連接是否正常。若出現(xiàn)連接超時或失敗,可嘗試關(guān)閉PC機防火墻后再次連接。
Target# ping 192.168.0.21 //192.168.0.21為Ubuntu端IP地址
圖 17
在評估板文件系統(tǒng)執(zhí)行如下命令,查看評估板IP地址并等待PC機連接。 Target# ifconfig Target# iperf3 -s
圖 18
在Ubuntu系統(tǒng)執(zhí)行如下命令測試網(wǎng)絡(luò)通信帶寬,192.168.0.1為評估板實際IP地址。測試完成后,Ubuntu和評估板均會打印測試結(jié)果。測試結(jié)果受網(wǎng)絡(luò)環(huán)境影響,僅供參考。
Host# iperf3 -c 192.168.0.1 -i 1
圖 19
圖 20
測試完成,請將評估板斷電,拔出SDIO WIFI模塊,將Linux系統(tǒng)啟動卡插入Micro SD卡槽,啟動方式選擇撥碼開關(guān)撥為010100(1~6) SD啟動模式。
SDIO WIFI驅(qū)動編譯
請將案例src目錄下的驅(qū)動源碼rtl8189FS.tar.gz拷貝至Ubuntu工作目錄下,執(zhí)行如下命令將源碼壓縮包解壓至該目錄下。 Host# tar -xf rtl8189FS.tar.gz
圖 21
執(zhí)行如下命令,進入驅(qū)動源碼目錄,修改頂層Makefile文件 Host# cd rtl8189FS/ Host# vim Makefile
圖 22
Makefile文件內(nèi)容請按如下說明進行修改。 KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定內(nèi)核源碼實際路徑
圖 23
在驅(qū)動源碼所在路徑執(zhí)行如下命令,使能SDK環(huán)境變量并編譯SDIO WIFI驅(qū)動。
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi Host# make
圖 24
圖 25
編譯完成后,即可在當(dāng)前路徑下生成驅(qū)動鏡像。
|