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