四、4G 模塊測試
這里主要介紹龍尚4G模塊的電話、網(wǎng)絡(luò)等控制接口以及IoT-3960L工控板對其操作的通信流程。用于測試的工控板必須燒寫EPC-280_283_287 V1.04.iso 光盤中V1.03的uboot 及文件系統(tǒng),因?yàn)槠渲邪匾膿芴柹暇W(wǎng)工具。
1、電話控制接口
電話接聽和撥打命令如表1所示。通過向串口發(fā)送相應(yīng)的命令就可以實(shí)現(xiàn)電話的接聽和撥打。如:可以向串口發(fā)送“ATD12345678901;\n\r”就可以向12345678901撥打電話。
表1 電話撥打和接聽控制命令表
命令語法及作用
ATD撥打電話:ATD+電話+;\r\n”如ATD10010;后面分號
不能少,返回OK 或ERROR
AT+COPS?“AT+COPS?\r\n”檢測運(yùn)營商,返回OK 或ERROR
AT+CVHU=0和ATH掛斷電話:“AT+CVHU=0\r\n”再發(fā)“ATH\r\n”
ATA接聽電話:“ATA\n\r”
電話撥打接聽代碼執(zhí)行流程如圖4所示。代碼首先會顯示可供使用的菜單,如電話撥打,短信接收等。等待用戶輸入參數(shù),執(zhí)行參數(shù)對應(yīng)的流程。然后判斷是否執(zhí)行成功,如果執(zhí)行成功就會返回顯示菜單代碼處繼續(xù)執(zhí)行下一下循環(huán)。
圖4 電話撥打接聽流程圖
2、網(wǎng)絡(luò)控制接口
4G 模塊上網(wǎng)功能通過PPP 撥號提供的接口連接網(wǎng)絡(luò)。在開發(fā)套件文件系統(tǒng)的“/etc/ppp”目錄下預(yù)置了可以參考的撥號腳本。撥號成功后(執(zhí)行PPP 撥號腳本),內(nèi)核會生成PPP 網(wǎng)絡(luò)設(shè)備。通過創(chuàng)建套接字就可以訪問網(wǎng)絡(luò)。
3、演示程序?qū)嵅?/strong>
l 使能4G 模塊
默認(rèn)內(nèi)核啟動時(shí),把4G模塊的復(fù)位引腳拉低,使模塊處于非工作的狀態(tài)。要想完全使能模塊,運(yùn)行/opt 目錄下的upmodule.sh 腳本即可。
此時(shí)板子的WWAN 這個(gè)LED 會出現(xiàn)閃爍的現(xiàn)象,閃爍頻率大概為800 毫秒,然后設(shè)備開始入網(wǎng),入網(wǎng)成功后,板子的WWAN 這個(gè)LED 的閃爍頻率變?yōu)? 秒左右。同時(shí),大概10 秒之后,板子開始檢測到USB 設(shè)備的插入,然后板子自動安裝USB 轉(zhuǎn)串口的驅(qū)動,驅(qū)動安裝完成后,會在板子的/dev 目錄下自動生成ttyUSB0~ttyUSB5 這6 個(gè)串口設(shè)備。
l 編譯演示程序
將/works/mx28x/app/目錄下的longsung-test文件夾拷貝到Linux 開發(fā)主機(jī),編譯了longsung-test 下的代碼,將生成的longsung-test 文件拷貝到板子即可進(jìn)行后續(xù)的電話功能測試。
l 電話功能測試
使用U8300C,以中國聯(lián)通4G卡為例進(jìn)行電話功能測試,設(shè)備上電之前需要先插入SIM 卡,且保證已經(jīng)按前面介紹使能了4G模塊,并能成功入網(wǎng)。進(jìn)入 longsung-test 測試程序存放的目錄,然后運(yùn)行l(wèi)ongsung-test 程序。
?。踨oot@M28x opt]# 。/longsung-test /dev/ttyUSB1
longsung-test 測試程序運(yùn)行結(jié)果及其中各數(shù)字代表功能如圖5所示。需要注意,輸入“1”撥打電話之后,必須需要輸入“2”掛斷電話之后方可繼續(xù)撥打電話。
圖5 代碼啟動運(yùn)行結(jié)果
l 4.4.4 上網(wǎng)功能測試
這里使用U8300C,以中國移動4G卡為例進(jìn)行撥號上網(wǎng),設(shè)備上電之前需要先插入SIM 卡,保證以使能4G
模塊并成功入網(wǎng)。
進(jìn)入板子的/etc/ppp/目錄,創(chuàng)建一個(gè)名字為ppp_dial_LTE.sh的腳本,寫入如下程序:
echo “TIMEOUT 5 ‘’ AT OK ATE0V1 OK AT OK ATS0=0 OK AT OK ATE0V1 OK AT OK ATDT*99*# CONNECT ‘’” 》 /tmp/chatscript
pppd /dev/ttyUSB3 persist connect “chat -v -f /tmp/chatscript”
保存退出后,修改ppp_dial_LTE.sh 的運(yùn)行屬性,然后直接運(yùn)行該腳本,進(jìn)行撥號操作,參考操作如下:
?。踨oot@M28x ppp]# wr chmod 755 ppp_dial_LTE.sh
?。踨oot@M28x ppp]# 。/ppp_dial_LTE.sh
執(zhí)行后,等待大概10~20s,使用ifconfig 命令查看網(wǎng)絡(luò)設(shè)備,能看到系統(tǒng)生成了一個(gè)名為ppp0 的網(wǎng)絡(luò)設(shè)備,該設(shè)備就是撥號成功后生成的網(wǎng)絡(luò)設(shè)備。撥號成功后可通過ping 114.114.114.114.-I ppp0檢查外網(wǎng)是否連接正常。如果沒能成功撥號,可以參考下面的“撥號異常分析”來排除問題。
l 撥號異常分析
運(yùn)行撥號腳本后,使用ps 命令能看到撥號進(jìn)程的存在。只要撥號成功,撥號進(jìn)程是一直存在的(與pppd 相關(guān)的進(jìn)程),如果該進(jìn)程不存在,那么生成的ppp0 網(wǎng)絡(luò)設(shè)備也會隨同消失。
如果使用 ifconfig 命令,無法看到ppp0 這個(gè)網(wǎng)絡(luò)設(shè)備,只要使用ps 命令一直都能看到撥號進(jìn)程的存在,那么只能耐心的等待撥號程序的反饋了。如果ps 命令無法看到撥號進(jìn)程了,那么重新運(yùn)行撥號腳本即可。撥號進(jìn)程的退出,極有可能是因?yàn)樾盘柸趸蛘逽IM 卡余額不足導(dǎo)致的。
評論