1. 程式人生 > >項目總結------基於龍尚芯片的通話短信設計(1)

項目總結------基於龍尚芯片的通話短信設計(1)

龍尚 at 通話

一、常用網絡類型

網絡

描述

相關通訊技術

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的節點,VID1e0ePID9001。通過VIPPID可以區分不同類型模塊。

(註:目前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交互口,用於主機和模塊

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)