項目總結------基於龍尚芯片的通話短信設計(1)
網絡 | 描述 | 相關通訊技術 |
GSM | 移動聯通2G | GSM,GPRS,EGPRS (EDGE) |
CDMA | 電信2G | CDMA |
TDS-CDMA | 移動3G | TDS-CDMA,TDS-HSDPA,TDS-HSUPA,TDS-HSPA(HSDPA and HSUPA) |
WCDMA | 聯通3G | WCDMA,HSDPA,HSUPA,HSPA(HSDPA and HSUPA) |
EVDO | 電信3G | EVDO,HYBRID(CDMA and EVDO) |
LTE | 移動聯通電信4G | LTE |
二、撥號模塊使用
1.查看模塊USB節點
# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 0424:2514
Bus 001 Device 003: ID 0424:2514
Bus 001 Device 005: ID 1e0e:9001
例如:上圖第五行為sim7100CE的節點,VID為1e0e,PID為9001。通過VIP和PID可以區分不同類型模塊。
(註:目前PT8000通訊模塊上電是在808程序啟動後,且上電時間有20多秒,建議優化到uboot中上電,提升撥號速度。)
2.查看串口設備節點
# ls -l /dev/ttyUSB*
crw-rw---- 1 root 0 188, 0 Feb 20 11:55 /dev/ttyUSB0
crw-rw---- 1 root 0 188, 1 Feb 20 11:55 /dev/ttyUSB1
crw-rw---- 1 root 0 188, 2 Feb 20 11:55 /dev/ttyUSB2
crw-rw---- 1 root 0 188, 3 Feb 20 11:55 /dev/ttyUSB3
crw-rw---- 1 root 0 188, 4 Feb 20 11:55 /dev/ttyUSB4
各串口作用各不相同,例如sim7100ce模塊各串口功能如下:
/dev/ttyUSB0 調試口,用於模塊研發調試和輸出模塊調試log
/dev/ttyUSB1 NMEA數據輸出口, GPS定位使用
/dev/ttyUSB2 AT交互口,用於主機和模塊
/dev/ttyUSB3 modem口,也可以AT交互,主要是ppp撥號時候使用
/dev/ttyUSB4 打電話的時候的PCM音頻輸入輸出
/dev/ttyUSB5 USB網卡,高速撥號使用
程序中主要使用AT口和modem口,分別用於執行AT命令和pppd撥號。
3.AT口確認小技巧
因為模塊產生的設備節點有時是ttyUSB0——ttyUSB5,但有時也會產生如下排列:
# ls -l /dev/ttyUSB*
crw-rw---- 1 root 0 188, 0 Feb 20 11:55 /dev/ttyUSB0
crw-rw---- 1 root 0 188, 1 Feb 20 11:55 /dev/ttyUSB1
crw-rw---- 1 root 0 188, 2 Feb 20 11:55 /dev/ttyUSB4
crw-rw---- 1 root 0 188, 3 Feb 20 11:55 /dev/ttyUSB5
crw-rw---- 1 root 0 188, 4 Feb 20 11:55 /dev/ttyUSB6
所以使用模塊前需要確認AT口和modem口,BNT4000HD裏確認的方法是逐個串口發送命令測試,等待一定時間不返回則測試下一個,這裏耗費了較多時間。實際上雖然串口號不一定連續,但是比如sim7100C/CE模塊,它的AT口就是第2個串口,modem就是第3個串口,所以只需計算出第2個串口是/dev/ttyUSB4,第3個串口是/dev/ttyUSB5即可。如此可節約幾十秒時間。
4.AT命令使用示例
# microcom /dev/ttyUSB2
at+csq #查詢信號值
+CSQ: 22,99
OK
at+cpin? #查詢sim卡狀態
+CPIN: READY
OK
at+cops? #查詢運營商
+COPS: 0,0,"CHINA MOBILE CMCC",7
OK
RING #來電事件
+CLCC: 1,1,4,0,0,"18030462079",161
RING
+CLCC: 1,1,4,0,0,"18030462079",161
三、pppd撥號命令
pppd撥號需要一個配置腳本,用於設置撥號的選項。還需要一個撥號命令腳本,用於執行AT命令來撥號。示例腳本如下:
撥號配置腳本:
# cat /etc/ppp/peers/option
/dev/ttyUSB3 #撥號使用的modem口
115200 #波特率
user [email protected] #用戶名
password "vnet.mobi" #密碼
debug
persist
crtscts
modem
noauth
nodetach
usepeerdns #使用遠程DNS
noipdefault
defaultroute
ipcp-accept-local
ipcp-accept-remote
noccp
novj
novjccomp
connect "/usr/sbin/chat -svf /etc/ppp/chat/chat" #建立連接的命令
撥號命令腳本:
# cat /etc/ppp/chat/chat
TIMEOUT 20 #命令超時時間
ABORT "NO CARRIER" #遇到以下的信息則終止撥號
ABORT "ERROR"
ABORT "DELAYED"
ABORT "BUSY"
ABORT "NO DIALTONE"
ABORT "NO ANSWER"
"" \rAT
OK ATD*99***1# #調用AT命令撥號
CONNECT
撥號命令:
# pppd call option
執行以上撥號命令時,pppd去到配置腳本目錄/etc/ppp/peers/,找到對應的配置腳本option,加載option中的配置選項。之後,則通過執行connect選項裏配置的命令來建立通訊連接。
connect "/usr/sbin/chat -svf /etc/ppp/chat/chat" 即是使用/usr/sbin/下的chat程序來建立連接,連接時使用的規則和AT命令在/etc/ppp/chat/chat中指定。
項目總結------基於龍尚芯片的通話短信設計(1)