|
適用性說明表 1
開發(fā)板型號
| 是否支持本實驗
| TL437x-EVM
| 支持
| TL437x-EasyEVM
| 不支持
| TL437x-IDK
| 不支持
| TL437xF-EVM
| 支持
|
本例程測試使用的USB 4G模塊型號為ZTE中興ME3620,也可選擇ZTE中興ME3630模塊測試,這兩個模塊兼容。模塊封裝為Mini PCIe,通過USB轉(zhuǎn)Mini PCIe轉(zhuǎn)接板和開發(fā)板連接。
例程編譯修改內(nèi)核配置打開Ubuntu,進(jìn)入Linux內(nèi)核源碼頂層目錄,打開內(nèi)核圖形配置界面。
Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
​
圖 1
在打開的圖形配置界面中,點擊“Device Drivers—> USB support—> USB Serial Converter support”勾選以下選項,添加ME3620模塊所需USB驅(qū)動。
​
圖 2
​
圖 3
點擊“Device Drivers—> Network device support”勾選以下選項,添加ME3620模塊所需網(wǎng)絡(luò)功能。
​
圖 4
​
圖 5
添加VID在內(nèi)核源碼目錄下,修改“drivers/usb/serial/option.c”源碼,添加VID。在下圖所示位置添加如下語句,生成相應(yīng)usb節(jié)點。
Host#vi drivers/usb/serial/option.c
​
圖 6
添加以下內(nèi)容:
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) },
​
圖 7
重新編譯并替換內(nèi)核在修改內(nèi)核配置與添加VID完畢后,重新編譯內(nèi)核。進(jìn)入內(nèi)核源碼目錄,輸入如下指令編譯內(nèi)核,將在當(dāng)前目錄編譯生成的“arch/arm/boot/zImage”文件,將其替換掉SD卡rootfs分區(qū)boot目錄下的同名文件。
Host#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4
​
圖 8
​
圖 9
例程說明與應(yīng)用編譯程序本例程測試所需驅(qū)動源碼文件位于光盤“Demo\usb-4g\ZTE-ME3620\src”目錄下。為方便測試,我司同時提供了經(jīng)過驗證的可執(zhí)行程序,位于光盤“Demo\usb-4g\ZTE-ME3620\bin”目錄下。
將“Demo\usb-4g\ZTE-ME3620\src”目錄下的文件上傳至Ubuntu的“/home/tronlong/4G”目錄下,進(jìn)入該目錄,執(zhí)行以下命令編譯程序并將編譯好的可執(zhí)行程序拷貝到開發(fā)板“/home/root”目錄下。
Host#make
​
圖 10
實驗測試說明網(wǎng)絡(luò)功能測試:me3620_network_setup
程序功能:選擇ECM模式后重啟生效;設(shè)置網(wǎng)絡(luò)連接參數(shù)和ECM數(shù)據(jù)訪問方式;開啟DHCP以獲取IP和DNS;程序利用“ping www.baidu.com”測試網(wǎng)絡(luò)是否連接成功。
運行程序:./me3620_network_setup <device> <new_network_card
- <device>是ME3620的設(shè)備節(jié)點名的AT端,即設(shè)備號,可用命令:ls /dev/ttyUSB*查看,一般設(shè)備節(jié)點名為/dev/ttyUSB1。
- <new_network_card>是新增的網(wǎng)卡名,可用命令:ifconfig -a查看,一般為網(wǎng)卡名為usb0。
- 例子:./me3620_network_setup /dev/ttyUSB1 usb0
短信功能測試:me3620_send_sms
程序功能:設(shè)置短信發(fā)送內(nèi)容的模式;發(fā)送短信到手機上。
運行程序:./me3620_send_sms <device> <phonenumber> <text>
- <phonenumber>是發(fā)送短信目標(biāo)手機號。
- <text> 是要發(fā)送的短信內(nèi)容;短信內(nèi)容中間不可有空格;譬如mess age中間有空格,則提示錯誤。
- <device>為設(shè)備號;重啟后可能會變化,具體情況和操作處理參考重啟ME3620方法。
- 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message
通話功能測試:me3620_phone_call
程序功能:撥打電話。
運行程序:./me3620_phone_call <device> <phonenumber>
- <device>為設(shè)備號;
- <phonenumber>是撥打目標(biāo)手機號。
- 例子:./me3620_phone_call /dev/ttyUSB1 182********
獲取經(jīng)緯度功能測試:me3620_get_location
程序功能:獲取經(jīng)緯度。
運行./me3620_phone_call <device> <wait_minute>
- <device>為設(shè)備號;
- <wait_minute>為等待返回經(jīng)緯度信息的時間(單位為分鐘)。
- 例子:./me3620_get_location /dev/ttyUSB1 10
例程測試進(jìn)行4G模塊測試前,將移動或者聯(lián)通4G卡插到ME3620模塊上,同時插上天線,天線接到MAIN處,將USB 4G模塊插到USB HOST接口處。正確插入4G卡與天線后,轉(zhuǎn)接板上的D2 led會亮藍(lán)燈,若此燈不亮,請檢查4G卡是否插對位置,天線是否連接正確,USB接口是否插穩(wěn)。
查看VID
由修改內(nèi)核源碼而添加的VID可執(zhí)行l(wèi)susb命令可以查看
Target#lsusb
​
圖 11
網(wǎng)絡(luò)功能測試
執(zhí)行以下指令查看usb0網(wǎng)絡(luò)節(jié)點。
Target#ifconfig -a
​
圖 12
執(zhí)行以下指令關(guān)閉其他網(wǎng)口,只留住usb0網(wǎng)口,ping外網(wǎng)測試網(wǎng)絡(luò)功能。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# ./me3620_network_setup /dev/ttyUSB1 usb0
​
圖 13
短信功能測試
執(zhí)行以下指令,通過ME3620模塊發(fā)送短信,相應(yīng)手機就會收到信息。
Target# ./me3620_send_sms /dev/ttyUSB1 182******** message
​
圖 14
​
圖 15
通話功能測試
執(zhí)行以下指令,通過ME3620模塊撥打電話,相應(yīng)手機就會接收到來電提示。
Target# ./me3620_phone_call /dev/ttyUSB1 182********
​
圖 16
​
圖 17
獲取經(jīng)緯度功能測試
測試獲取經(jīng)緯度功能需要將GPS專用天線連接到ME3620模塊的GPS接口上,擺正GPS專用天線,使得只有GPS三個字母的那一面在上面。測試地點盡量選擇空曠的地方,例如天臺,廣場等,盡量遠(yuǎn)離墻面,靠近墻面會影響測試獲取經(jīng)緯度所需要的時間。
執(zhí)行以下指令,獲取經(jīng)緯度。
Target# ./me3620_get_location /dev/ttyUSB1 10
​
圖 18
測試過程中,獲取經(jīng)緯度需要等待2到10分鐘,如果獲取經(jīng)緯度失敗,超時,請檢查天線是否連接好,重新執(zhí)行以上指令即可。
在百度地圖上查看經(jīng)緯度坐標(biāo),與利用ME3620模塊獲取所得結(jié)果對比接近。
​
圖 19
|
|