SIM300為內嵌TCP/IP協議的GPRS模組,可以實現GPRS通訊和撥接。其實到現在我還沒有明白GPRS通訊是否=撥接?
我的板子由SIM300和STC單片機組成,在單片機裡用程式實現發送一組AT命令給SIM300模組,可以實現發送資料到公網IP地址的伺服器上。在這裡我有疑問。伺服器這時能否發送資料到SIM300模組來?(應該可以。)同樣的事情可以用PC機的串口調試助手做到。我在很多資料裡都看到了GPRS模組需要撥號之類的AT指令,但是這裡卻不需要撥號,直接連接伺服器然後發送資料。不需要撥號的原因是什麼呢?我的想法是:其一,能進行GPRS串連以及發送資料不一定需要撥號,撥號只有在撥接的時候才會需要。這裡的撥接指的是能夠通過瀏覽器瀏覽網頁等。也就是說GPRS串連接收發送資料和GPRS上網不是一回事。事實上,如果模組內部沒有TCPIP協議,單片機若想發送資料到網路上,還必須在其內部實現PPP協議,這樣才能與移動網路建立串連。如果內建協議,則模組會自動封裝我們所發送的資料,然後發送出去。其二,
SIM300帶有內嵌的TCPIP協議,
模組內部已經自動完成了這些操作。
這兩天有個想法,想通過SIM300模組串連電腦串口,實現通過SIM300模組無線上網。也就是諸如
:如何通過一個串口終端實現GPRS Modem撥接之類的問題。由於不懂GPRS上網流程,還按照SIM300和單片機通訊的方式發送AT命令,在網上看見了操作步驟:http://tech.sina.com.cn/s/2009-08-13/18501026701.shtml,上面說:
一個Serial Port終端,可以使用AT命令來串連上Network carrier,但是想要撥號成功上網,使用終端是不可以的,因為沒有實現PPP協議。
進行GPRS上網為什麼需要上位機或者是嵌入式作業系統具有PPP協議呢?看來要想上網必須有PPP協議並且進行撥號是無疑的了。在網上找了好久,http://topic.csdn.net/u/20080326/16/0966217f-d863-4957-b65f-76f86c94c965.html這裡面討論的很激烈。
PDP啟用資訊中有PDP類型,使用者名稱,密碼,存取點(APN),PDP地址等。atd×99#撥號後還是要有協議的互動的。撥號後要調用PPP協議棧,回答響應server訊息。PPP協議,這裡面要進行PAP、CHAP鑒證。
wavecom的官方資料,是這樣解釋的:
AT+CGACT=1,1 是啟用PDP,建立modem和GPRS網路之間的串連
AT+CGDATA=1 是建立PC和modem之間的資料連線,這個串連中,modem相當於PPP server,PC機相當於PPP client。
超級終端好像不會調用PPP協議棧,所以不會響應那些訊息,串連就斷開了。上述兩個串連可以同時建立,用一條命令ATD*99***1#
但是和上面同樣的問題,所以串連斷開了。
連接埠監控程式。
1,關於Q24PLUS模組應該是內建TCP/IP協議,只要使用專門的AT指令就可以與伺服器的串連及發送或接收資料。
2,如果只當它的MODEM,那麼就需要你的CPU來完成協議,如PPP,CHAP,TCP,UDP。。。。。。
3,Q24PLUS支援OPEN AT,也就是說可以將使用者程式駐留在模組內部工作,但比較複雜,不是一兩句話能說清的。open at 是WAVECOM公司提供的一套整合式開發環境,利用VC編寫程式,然後產生下載檔案,將程式下載到WAVECOM的模組中執行.
如果你要像PC那樣使用MODEM上網,需要終端和MODEM之間建立ppp串連
,ppp串連過程你是沒法手工輸入的。內建TCP/IP協議是可以通過AT指令進行TCP/UDP資料的發送,其實發送過程中,MODEM已經和網路建立起串連了,像PDP啟用,網路連接等MODEM都自動做好了。然後把你的資料封裝為IP資料包,或許還有別的封裝,再GPRS方式發送出去。
一、把wavecom看做一台電腦。WAVECOM Q24PL002
內嵌PPP協議。也就是說,通過AT指令就可以讓WAVECOM自己撥上GPRS,此時你可以認為Q24PL002已經是一台電腦在工作,只不過這台電腦
是ARM7的CPU。此時Wavecom已經獲得了一個動態IP,可以用TCP協議進行資料互動。內嵌的協議有UDP、FTP、SMTP和POP3。
二、
把wavecom看做一台modem。此時WAVECOM Q24PL002
也僅僅就是Modem的角色
,通過AT指令可以打電話、發簡訊。如果要上GPRS,必須讓PC來實現撥號等功能,也就是說,在PC端實現PPP協議。利用windows內建的撥號網路完成PPP串連。此時,如果在超級終端輸入ATD*99***1#等,都是沒有任何意義的。
GPRS模組 首先通過AT命令撥號如中國移動的“*99***1#”,如果 CONNECT OK的話,那麼就說明物理層已經連通了。
那麼接著要做的工作就是連通資料連結層,那麼就是PPP協議了。PPP協議包括 LCP(鏈路控制協議),NCP(網路控制協議),也就是說物理層連通之後,首先就要通過LCP協議來配置串口線路的各項資料格式,和雙方的傳送資料的約定(詳見RFC),之後就是NCP協議了,NCP
主要是獲得IP地址,以及以後在PPP封裝中的IP報文的一些具體約定。
對於會話管理層訊息流程程來說,PDP上下文啟用和ATD*99#是完全一樣地效果。但是ATD*99#除了啟用PDP上下文,MODEM內部一些狀態也會發生改變,不會再保持AT命令狀態,轉而進入分組資料收發模式,這樣才可以進行PPP協商。
看了這些話,還懂了一點點的。