SIM900A各功能指令_第1頁(yè)
SIM900A各功能指令_第2頁(yè)
SIM900A各功能指令_第3頁(yè)
SIM900A各功能指令_第4頁(yè)
SIM900A各功能指令_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 AT 指令簡(jiǎn)介關(guān)鍵詞:發(fā)送第一條指令;同步波特率; AT 即 Attention,指令集是從終端設(shè)備 (TerminalEquipment, ATTE)或數(shù)據(jù)終端設(shè)備(DataTerminalEquipment, DTE)向終端適配器(TerminalAdapter, TA)或數(shù)據(jù)電路終端設(shè)備(DataCircuitTerminalEquipment, DCE)發(fā)送的。通過(guò) TA, TE 發(fā)送 AT 指令來(lái)控制移動(dòng)臺(tái)(MobileStation, MS)的功能,與 GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶可以通過(guò) AT 指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。 AT 指令必須以&qu

2、ot;AT"或"at"開(kāi)頭( 第一條發(fā)給模塊的指令要都大寫),以回車( <CR>)結(jié)尾。模塊的響應(yīng)通常緊隨其后,格式為: <回車><換行><響應(yīng)內(nèi)容><回車><換行>。 我們通過(guò)串口調(diào)試助手 SSCOM 來(lái)測(cè)試一下,打開(kāi):選擇正確的 COM 號(hào)(連接到 SIM900A模塊的 COM 端口,我電腦是 COM3),然后設(shè)置波特率為 115200, 勾選發(fā)送新行( 必選!即 sscom 自動(dòng)添加回車換行功能),然后發(fā)送 AT 到 SIM900A 模塊,如下圖所示:我們發(fā)送了 2 次 AT 指令,第一

3、次看到有亂碼,這是因?yàn)槟K上電后,還沒(méi)有實(shí)現(xiàn)串口同步,在收到第一次數(shù)據(jù)(不一定要 AT 指令)后,模塊會(huì)自動(dòng)實(shí)現(xiàn)串口同步后續(xù)通信就不會(huì)出現(xiàn)亂碼了。 因?yàn)?SIM900A 具有自動(dòng)串口波特率識(shí)別功能(識(shí)別范圍: 1200115200),所以我們的電腦(或設(shè)備)可以隨便選擇一個(gè)波特率(不超過(guò)識(shí)別范圍即可),來(lái)和模塊進(jìn)行通信,這里我們選擇最快的 115200。從上圖可以看出,我們現(xiàn)在已經(jīng)可以和 SIM900A 模塊進(jìn)行通信了,我們通過(guò)發(fā)送不同的 AT 指令,就可以實(shí)現(xiàn)對(duì) SIM900A 的各種控制了。 常用的 AT 指令:1, AT+CPIN? 該指令用于查詢 SIM 卡的狀態(tài),主要是 PIN 碼,

4、如果該指令返回+CPIN:READY,則表明 SIM 卡狀態(tài)正常,返回其他值,則有可能是沒(méi)有 SIM 卡。2, AT+CSQ 該指令用于查詢信號(hào)質(zhì)量,返回 SIM900A 模塊的接收信號(hào)強(qiáng)度,如返回+CSQ:30,0,表示信號(hào)強(qiáng)度是 30 (最大有效值是 31)。如果信號(hào)強(qiáng)度過(guò)低,則要檢查天線是否接好了?3, AT+COPS? 該指令用于查詢當(dāng)前運(yùn)營(yíng)商,該指令只有在連上網(wǎng)絡(luò)后,才返回運(yùn)營(yíng)商,否則返回空,如返回: +COPS:0,0,"CHINAMOBILE",表示當(dāng)前選擇的運(yùn)營(yíng)商是中國(guó)移動(dòng)。4, AT+CGMI 該指令用于查詢模塊制造商,如返回: SIMCOM_Ltd,說(shuō)明

5、 SIM900A 模塊是 SIMCOM 公司生產(chǎn)的。5, AT+CGMM 該指令用于查詢模塊型號(hào),如返回: SIMCOM_SIM900A,說(shuō)明模塊型號(hào)是SIM900A。6, AT+CGSN 該指令用于查詢產(chǎn)品序列號(hào)(即 IMEI 號(hào)),每個(gè)模塊的 IMEI 號(hào)都是不一樣的,具有全球唯一性,如返回: 869988012018905,說(shuō)明模塊的產(chǎn)品序列號(hào)是: 869988012018905。7, AT+CNUM 該指令用于查詢本機(jī)號(hào)碼,必須在 SIM 卡在位的時(shí)候才可查詢,如返回:+CNUM:"","quot;,129,7,4,則表明本機(jī)號(hào)碼為

6、:另外,不是所有的 SIM卡都支持這個(gè)指令,有個(gè)別 SIM 卡無(wú)法通過(guò)此指令得到其號(hào)碼。8, ATE1 該指令用于設(shè)置回顯模式(默認(rèn)開(kāi)啟),即模塊將收到的 AT 指令完整的返回給發(fā)送端,啟用該功能,有利于調(diào)試模塊。如果不需要開(kāi)啟回顯模式,則發(fā)送 ATE0 指令即可關(guān)閉,這樣收到的指令將不再返回給發(fā)送端,這樣方便程序控制。發(fā)送給模塊的指令,如果執(zhí)行成功,則會(huì)返回對(duì)應(yīng)信息和"OK",如果執(zhí)行失敗/指令無(wú)效,則會(huì)返回"ERROR"。另外,提醒大家,所有的指令都必須是以 ASCII 編碼字符格式發(fā)送,不要在指令里面夾雜中文符號(hào)。同時(shí),很

7、多指令都帶有查詢或提示功能,可以通過(guò)指令+"?"來(lái)查詢當(dāng)前設(shè)置,通過(guò)指令+"=?"的方式來(lái)獲取設(shè)置提示。2 撥打/接聽(tīng)電話關(guān)鍵詞:接打電話; DTMF; ATE1,用于設(shè)置回顯,即模塊將收到的指令完整的返回給發(fā)送設(shè)備,方便調(diào)試。 ATD,用于撥打任意電話號(hào)碼,格式為: ATD+號(hào)碼+;, 末尾的 ;一定要加上,否則不能成功撥號(hào), 如發(fā)送: ATD10086;,即可實(shí)現(xiàn)撥打 10086。 ATA,用于應(yīng)答電話,當(dāng)收到來(lái)電的時(shí)候,給模塊發(fā)送: ATA,即可接聽(tīng)來(lái)電。 ATH,用于掛斷電話,要想結(jié)束正在進(jìn)行的通話,只需給模塊發(fā)送: ATH,即可掛斷。 AT+C

8、OLP,用于設(shè)置被叫號(hào)碼顯示,這里我們通過(guò)發(fā)送:AT+COLP=1,開(kāi)啟被叫號(hào)碼顯示,當(dāng)成功撥通的時(shí)候(被叫接聽(tīng)電話),模塊會(huì)返回被叫號(hào)碼。 AT+CLIP,用于設(shè)置來(lái)電顯示,通過(guò)發(fā)送: AT+CLIP=1,可以實(shí)現(xiàn)設(shè)置來(lái)電顯示功能,模塊接收到來(lái)電的時(shí)候,會(huì)返回來(lái)電號(hào)碼。 AT+VTS=*,產(chǎn)生 DTMF 音,該指令只有在通話進(jìn)行中才有效,用于向?qū)Ψ桨l(fā)送 DTMF 音,比如在撥打 10086 查詢的時(shí)候,我們可以通過(guò)發(fā)送:AT+VTS=1,模擬發(fā)送按鍵 1。 在介紹了本節(jié)要用到的幾個(gè) AT 指令之后,我們開(kāi)始實(shí)現(xiàn)本節(jié)功能,不過(guò)有前提條件:那就是模塊必須開(kāi)機(jī),并且找到了運(yùn)營(yíng)商。通過(guò)發(fā)送: AT+

9、COPS?,如果返回:+COPS:0,0,"CHINAMOBILE",則可以開(kāi)始下面的測(cè)試了。2.1 撥打電話本節(jié),我們將利用 SIM900A 模塊來(lái)?yè)艽?10086,并進(jìn)行話費(fèi)查詢。首先發(fā)送: ATE1,設(shè)置回顯,再發(fā)送: AT+COLP=1,設(shè)置被叫號(hào)碼顯示。如圖下圖所示:然后,我們發(fā)送: ATD10086; ,撥打 10086 ,在接通后, SIM900A 模塊返回:+COLP:"10086",129,"","",此時(shí),待一堆話結(jié)束后,我們發(fā)送: AT+VTS=1,即可查詢本機(jī)電話號(hào)碼。最后,通過(guò)發(fā)送: AT

10、H,掛斷,結(jié)束本次通話。查詢?cè)捹M(fèi)余額至此,我們就完成了一次撥號(hào)、發(fā)送 DTMF 音、結(jié)束通話的操作。十分簡(jiǎn)單,所以用 SIM900A 模塊來(lái)實(shí)現(xiàn)打電話,那實(shí)在是小菜一碟。2.2 接聽(tīng)電話首先,我們發(fā)送: AT+CLIP=1,開(kāi)啟來(lái)電顯示功能,然后我們用其他電話機(jī)/手機(jī)撥打模塊上 SIM 卡的號(hào)碼。然后,模塊在接收到來(lái)電的時(shí)候,會(huì)通過(guò)耳機(jī)輸出來(lái)電鈴聲,并且可以在串口接收到來(lái)電號(hào)碼,如:+CLIP:"quot;,161,"","ailin",0,表示當(dāng)前接入號(hào)碼為此時(shí),我們發(fā)送:ATA,即可接聽(tīng)來(lái)電

11、,并進(jìn)行通話。當(dāng)對(duì)方掛斷電話的時(shí)候, SIM900A 模塊會(huì)返回: NOCARRIER,并結(jié)束此次通話。當(dāng)然,我們也可以通過(guò)發(fā)送: ATH,來(lái)主動(dòng)結(jié)束通話。2.3 短信的讀取與發(fā)送AT+CNMI,用于設(shè)置新消息指示。發(fā)送: AT+CNMI=2,1,設(shè)置新消息提示,當(dāng)收到新消息,且 SIM 卡未滿的時(shí)候, SIM900A 模塊會(huì)返回?cái)?shù)據(jù)給串口,如: +CMTI:"SM",2,表示收到接收到新消息,存儲(chǔ)在 SIM卡的位置 2;存滿了就不會(huì)提示,可以通過(guò)刪除短信來(lái)解決。AT+CMGF,用于設(shè)置短消息模式, SIM900A 支持 PDU 模式和文本( TEXT)模式等 2 種模式,

12、發(fā)送:AT+CMGF=1,即可設(shè)置為文本模式。 AT+CSCS,用于設(shè)置 TE 字符集,默認(rèn)的為 GSM7 位缺省字符集,在發(fā)送純英文短信的時(shí)候,發(fā)送: AT+CSCS="GSM",設(shè)置為缺省字符集即可。在發(fā)送中英文短信的時(shí)候,需要發(fā)送: AT+CSCS="UCS2",設(shè)置為 16 位通用 8 字節(jié)倍數(shù)編碼字符集。 AT+CSMP,用于設(shè)置短消息文本模式參數(shù),在使用 UCS2 方式發(fā)送中文短信的時(shí)候,需要發(fā)送: AT+CSMP=17,167,2,25,設(shè)置文本模式參數(shù)。 AT+CMGR,用于讀取短信,比如發(fā)送:AT+CMGR=1,則可以讀取 SIM 卡存

13、儲(chǔ)在位置 1 的短信。 AT+CMGS,用于發(fā)送短信,在"GSM"字符集下,最大可以發(fā)送 180 個(gè)字節(jié)的英文字符,在"UCS2"字符集下,最大可以發(fā)送 70 個(gè)漢字(包括字符/數(shù)字)。該指令我們?cè)诤竺嬖敿?xì)介紹。 AT+CPMS,用于查詢/設(shè)置優(yōu)選消息存儲(chǔ)器,通過(guò)發(fā)送: AT+CPMS?,可以查詢當(dāng)前 SIM 卡最大支持多少條短信存儲(chǔ),以及當(dāng)前存儲(chǔ)了多少條短信等信息。如返回: +CPMS:用戶手冊(cè)"SM",1,50,"SM",1,50,"SM",1,50,表示當(dāng)前 SIM 卡最大存儲(chǔ) 50 條信

14、息,目前已經(jīng)有 1 條存儲(chǔ)的信息。2.4 英文短信的讀取 本節(jié),我們將用其他手機(jī)先發(fā)送一條英文短信到 SIM900A 模塊上,然后讀取模塊接收到的這條英文短信。 首先,我們發(fā)送: AT+CMGF=1,設(shè)置為文本模式,然后發(fā)送: AT+CSCS="GSM",設(shè)置GSM 字符集,然后發(fā)送: AT+CNMI=2,1,設(shè)置新消息提示。接著,我們用別的手機(jī)發(fā)送一條英文短信“ SIM900AModule”到我們的模塊上(如果不知道模塊號(hào)碼,可以發(fā)送: AT+CNUM,查詢模塊號(hào)碼)。模塊接收到短信后,會(huì)提示如: +CMTI:"SM",2,表明收到了新的短信,存放在

15、SIM 卡位置 2。然后,我們發(fā)送 AT+CMGR=2,即可讀取該短信。注意:某些時(shí)候,模塊收到了短信,但卻不發(fā)送提示,原因是:模塊存儲(chǔ)容量有限,不能繼續(xù)存儲(chǔ)短信。解決方法:可以刪除一些短信,例如發(fā)送: AT+CMGD=1,刪除全部短信命令。2.5 英文短信的發(fā)送 本節(jié),我們將利用 SIM900A 模塊來(lái)給指定手機(jī)號(hào)碼發(fā)送一條英文短信。這里,我們用到 AT+CMGS 指令來(lái)發(fā)送短信,發(fā)送全英文/數(shù)字短信的時(shí)候,我們先設(shè)置為: "GSM"字符集( AT+CSCS="GSM"),文本模式( AT+CMGF=1)假設(shè)我們要給手機(jī)號(hào):。

16、發(fā)送一條短信,則發(fā)送: AT+CMGS="quot;,然后模塊返回: >,此時(shí)我們輸入我們需要發(fā)送的內(nèi)容: SIM900A TEST,注意,此可以不用發(fā)送回車了。在發(fā)送完內(nèi)容以后,最后以十六進(jìn)制(HEX)格式單獨(dú)發(fā)送: 1A(即 0X1A),即可啟動(dòng)一次短信發(fā)送.注 1: 0X1A,“ CTRL+Z”的鍵值,即用于告訴 SIM900A,要執(zhí)行發(fā)送操作。另外還可以發(fā)送: 0X1B,即“ ESC”的鍵值,用于告訴 SIM900A, 取消本次操作,不執(zhí)行發(fā)送。稍等片刻,在短信成功發(fā)送后,模塊返回如: +CMGS:156,的確認(rèn)信息,表示短信成功發(fā)送, 其中 1

17、56 為模塊內(nèi)部的短信計(jì)數(shù)器,一般不用理會(huì)。2.6 中英文短信的發(fā)送 本節(jié),我們將利用 SIM900A 模塊來(lái)給指定手機(jī)號(hào)碼發(fā)送一條中英文短信。同樣,我們用到 AT+CMGS 指令來(lái)發(fā)送中英文短信。還是采用文本模式發(fā)送,發(fā)送步驟如下:首先,發(fā)送: AT+CMGF=1,設(shè)置為文本模式。然后,發(fā)送: AT+CSMP=17,167,2,25,設(shè)置文本模式參數(shù)。最后發(fā)送: AT+CSCS="UCS2",設(shè)置為 UCS2 編碼字符集。此時(shí),我們便可以發(fā)送 AT+CMGS 指令來(lái)發(fā)送中英文短信了,不過(guò)由于使用了 UCS2 字符集,所有字符/數(shù)字/漢字,都必須使用 UNICODE 編碼。

18、假定我們要給手機(jī)號(hào):發(fā)送一條中英文短信,內(nèi)容為“ SIM900A 中英文短信發(fā)送測(cè)試”。我們首先要用:漢字 UNICODE 互換工具.exe,這個(gè)軟件將號(hào)碼和發(fā)送內(nèi)容轉(zhuǎn)換為 UNICODE 字符串(需要手動(dòng)去掉空格),得到轉(zhuǎn)換后的 UNICODE 字符串(去掉空格后)為:00310035003100320034003500330032003600370032.SIM900A。中英文短信發(fā)送測(cè)試,轉(zhuǎn)換后的 UNICODE 字符串為:00530049004D00390030003000414E2D82F1658777ED4FE153D190016

19、D4B8BD5,然后,發(fā)送:AT+CMGS="00310035003100320034003500330032003600370032",這個(gè)指令,然后模塊返回: >此時(shí)我們輸入我們需要發(fā)送的內(nèi)容:00530049004D00390030003000414E2D82F1658777ED4FE153D190016D4B8BD5, 注意,此處不發(fā)送回車。 在發(fā)送完內(nèi)容以后,最后以十六進(jìn)制(HEX)格式單獨(dú)發(fā)送(不用添加回車): 1A(即0X1A),啟動(dòng)一次短信發(fā)送。短信的讀取與發(fā)送,我們就介紹到這里,我們?nèi)渴鞘褂梦谋荆?TEXT)模式來(lái)實(shí)現(xiàn)的,當(dāng)然還可以用 PDU 模式

20、,不過(guò) PDU 模式稍微復(fù)雜點(diǎn),有興趣的朋友,可以參考相關(guān)資料自行研究下。2.7 GPRS 通信 本節(jié),我們將介紹如何使用 SIM900A 模塊進(jìn)行 GPRS 通信,實(shí)現(xiàn)模塊與電腦的 TCP 和UDP 數(shù)據(jù)傳輸。本節(jié),將要用到的指令有:AT+CGCLASS/AT+CGDCONT/AT+CGATT/AT+CIPCSGP/AT+CLPORT/AT+CIPSTART/AT+CIPSEN/AT+CIPSTATUS/AT+CIPCLOSE/AT+CIPSHUT等 10條 AT指令。AT+CGCLASS,用于設(shè)置移動(dòng)臺(tái)類別。SIM900A模塊僅支持類別"B"和"CC"

21、;,發(fā)送: AT+CGCLASS="B",設(shè)置移動(dòng)臺(tái)類別為 B。即,模塊支持包交換和電路交換模式,但不能同時(shí)支持。 AT+CGDCONT,用于設(shè)置 PDP 上下文。發(fā)送:AT+CGDCONT=1,"IP","CMNET",設(shè)置 PDP 上下文標(biāo)志為 1,采用互聯(lián)網(wǎng)協(xié)議( IP),接入點(diǎn)為"CMNET"。 AT+CGATT,用于設(shè)置附著和分離 GPRS 業(yè)務(wù)。發(fā)送: AT+CGATT=1,附著 GPRS 業(yè)務(wù)。 AT+CIPCSGP,用于設(shè)置 CSD 或 GPRS 鏈接模式。發(fā)送: AT+CIPCSGP=1,&quo

22、t;CMNET",設(shè)置為GPRS 連接,接入點(diǎn)為” CMNET”。 AT+CLPORT,用于設(shè)置本地端口號(hào)。發(fā)送:AT+CLPORT="TCP","8888",即設(shè)置 TCP 連接本地端口號(hào)為 8888。 AT+CIPSTART,用于建立 TCP連接或注冊(cè) UDP 端口號(hào)。發(fā)送: AT+CIPSTART="TCP","180.120.52.222","8086",模塊將建立一個(gè) TCP 連接,連接目標(biāo)地址為: 180.120.52.222,連接端口為 8086,連接成功會(huì)返回: CON

23、NECTOK。 AT+CIPSEND,用于發(fā)送數(shù)據(jù)。在連接成功以后發(fā)送: AT+CIPSEND,模塊返回: >,此時(shí)可以輸入要發(fā)送的數(shù)據(jù),最大可以一次發(fā)送 1352 字節(jié),數(shù)據(jù)輸入完后,同發(fā)短信一樣,輸入十六進(jìn)制的: 1A( 0X1A),啟動(dòng)發(fā)送數(shù)據(jù)。在數(shù)據(jù)發(fā)送完成后,模塊返回: SENDOK,表示發(fā)送成功。AT+CIPSTATUS,用于查詢當(dāng)前連接狀態(tài)。 發(fā)送: AT+CIPSTATUS,模塊即返回當(dāng)前連接狀態(tài)。AT+CIPCLOSE,用于關(guān)閉 TCP/UDP 連接。發(fā)送: AT+CIPCLOSE=1,即可快速關(guān)閉當(dāng)前 TCP/UDP 連接。AT+CIPSHUT,用于關(guān)閉移動(dòng)場(chǎng)景。發(fā)送

24、: AT+CIPSHUT,則可以關(guān)閉移動(dòng)場(chǎng)景,關(guān)閉場(chǎng)景后連接狀態(tài)為: IPINITIAL,可以通過(guò)發(fā)送: AT+CIPSTATUS,查詢。另外,在連接建立后,如果收到: +PDP:DEACT,則必須發(fā)送: AT+CIPSHUT,關(guān)閉場(chǎng)景后,才能實(shí)現(xiàn)重連。以上就是我們本節(jié)可能將要用到的一些 AT 指令的簡(jiǎn)單介紹,要實(shí)現(xiàn)模塊與電腦的 GPRS通信,需要確保所用電腦具有公網(wǎng) IP,否則無(wú)法實(shí)現(xiàn)通信,推薦在 ADSL 網(wǎng)絡(luò)下進(jìn)行測(cè)試,并最好關(guān)閉防火墻/殺毒軟件。擁有 1 個(gè)公網(wǎng) IP,你可以通過(guò)百度,搜索: IP,第一個(gè)條目,就是本機(jī) IP,如圖下圖所示。該 IP 將與你的電腦 IP(開(kāi)始-運(yùn)行-cm

25、d-IPCONFIG/ALL) 進(jìn)行對(duì)比,不一致的, 對(duì)于使用了路由器的 ADSL 用戶,如下圖所示可以看到,我們電腦 IP 為 192.168.1.103,與公網(wǎng) IP 不一致,此時(shí)我們需要對(duì)路由器進(jìn)行一下轉(zhuǎn)發(fā)規(guī)則設(shè)置:登錄路由器控制頁(yè)面,然后選擇轉(zhuǎn)發(fā)規(guī)則 DMZ 主機(jī),如下圖所示:2.7.1 TCP 連接TCP 是基于連接的協(xié)議,在收發(fā)數(shù)據(jù)前,必須先和對(duì)方建立可靠連接,是一種可靠的數(shù)據(jù)傳輸方式,不過(guò)速度慢。本節(jié),我們將在 SIM900A 模塊和電腦之間建立一個(gè) TCP 連接,并實(shí)現(xiàn)數(shù)據(jù)的互相收發(fā)。首先,在電腦端,我們需要用到一個(gè)軟件:網(wǎng)絡(luò)調(diào)試助手.exe,該軟件在: 網(wǎng)絡(luò)調(diào)試助手文件夾下可

26、以找到。打開(kāi)該軟件,設(shè)置協(xié)議類型為: TCPServer,本地 IP 地址直接用默認(rèn)的即可,設(shè)置本地端口為: 8086,注意,這里的端口號(hào)可以隨便設(shè)置,范圍為 065535,只要該端口沒(méi)有被其他程序占用即可。設(shè)置好之后,點(diǎn)擊“連接”按鈕(點(diǎn)擊后變?yōu)椤皵嚅_(kāi)”,此時(shí)電腦端的) TCPServer 已經(jīng)開(kāi)始工作,等待連接接入,如下圖所示:在 SIM900A 模塊這邊,先發(fā)送 4 個(gè)指令:AT+CGCLASS="B"AT+CGDCONT=1,"IP","CMNET"AT+CGATT=1AT+CIPCSGP=1,"CMNET"

27、;這幾條指令前面已經(jīng)介紹過(guò),用于設(shè)置移動(dòng)臺(tái)類別、連接方式、接入點(diǎn)和附著 GPRS 業(yè)務(wù)等。起到一個(gè)前期準(zhǔn)備的作用。之后,發(fā)送 AT+CLPORT="TCP","2000",設(shè)置本地 TCP 連接端口為 2000,然后發(fā)送: AT+CIPSTART="TCP","180.120.52.222","8086",建立 TCP 連接,連接到 IP: 180.120.52.222,連接端口為: 8086。等待 TCP 連接成功建立, 模塊返回: CONNECT OK。此時(shí), SIM900A 模塊和電腦便建

28、立了一個(gè) TCP 連接,可以互相發(fā)送數(shù)據(jù)了。首先,我們來(lái)看如何通過(guò) SIM900A 模塊給電腦發(fā)送數(shù)據(jù)。通過(guò)串口調(diào)試助手發(fā)送: AT+CIPSEND,此時(shí)模塊返回: >,然后我們發(fā)送字符串(不用發(fā)送新行): SIM900A TCP 連接測(cè)試,最后發(fā)送十六進(jìn)制的: 1A,啟動(dòng)數(shù)據(jù)發(fā)送。然后等待模塊回應(yīng): SEND OK,說(shuō)明發(fā)送成功。 在串口調(diào)試助手收到: SEND OK,之后,表明我們的數(shù)據(jù)已經(jīng)成功發(fā)送出去了,此時(shí)在電腦端的網(wǎng)絡(luò)調(diào)試助手,會(huì)顯示收到的數(shù)據(jù)。最后,我們要關(guān)閉 TCP 連接,發(fā)送: AT+CIPCLOSE=1,關(guān)閉當(dāng)前 TCP 連接,再發(fā)送:AT+CIPSHUT,關(guān)閉場(chǎng)景。2

29、.7.2 UDP 連接UDP 與 TCP 對(duì)應(yīng),是面向非連接的協(xié)議,在收發(fā)數(shù)據(jù)時(shí),不需要建立連接,是一種不可靠的數(shù)據(jù)傳輸方式,不過(guò)速度快。本節(jié),我們將在-SIM900A 模塊和電腦之間建立一個(gè) UDP連接,并實(shí)現(xiàn)數(shù)據(jù)的互相收發(fā)。同樣,我們先在電腦端,打開(kāi)網(wǎng)絡(luò)調(diào)試助手,設(shè)置協(xié)議類型為: UDP,使用默認(rèn)的 IP 地址,并設(shè)置本地端口為: 8086。設(shè)置好之后,點(diǎn)擊“連接”按鈕(點(diǎn)擊后變?yōu)椤皵嚅_(kāi)”,此) 時(shí)電腦端的 UDP 通信就準(zhǔn)備好了,等待發(fā)送和接收數(shù)據(jù),如下圖所示。由于移動(dòng)臺(tái)類別、連接方式、接入點(diǎn)和附著 GPRS 業(yè)務(wù)等的設(shè)置指令,在 TCP 連接的時(shí)候,我們已經(jīng)發(fā)送過(guò)了,所以不需要再次發(fā)送

30、了(其實(shí) TCP 連接的時(shí)候也可以不發(fā)送,只要模塊的參數(shù)沒(méi)有被修改,默認(rèn)就是我們發(fā)送的設(shè)置)。對(duì)于 UDP 連接,通過(guò)串口助手發(fā)送:AT+CLPORT="UDP","3000",設(shè)置本地 UDP 連接端口為 3000,然后發(fā)送:AT+CIPSTART="UDP","180.120.52.222","8086",建立 UDP 連接,目標(biāo) IP 地址為:180.120.52.222,連接端口為: 8086。等待 UDP 連接成功,模塊返回: CONNEC TOK。此時(shí), UDP 連接已經(jīng)準(zhǔn)備好,可以

31、互相發(fā)送數(shù)據(jù)了。同樣,先看 SIM900A 模塊發(fā)送數(shù)據(jù)給電腦。通過(guò)串口調(diào)試助手發(fā)送: AT+CIPSEND,此時(shí)模塊返回: >,然后我們發(fā)送字符串(不用發(fā)送新行): SIM900AUDP 連接測(cè)試,最后發(fā)送十六進(jìn)制的: 1A,啟動(dòng)數(shù)據(jù)發(fā)送。然后等待模塊回應(yīng): SEND OK,說(shuō)明發(fā)送成功。2.7.3 通過(guò)域名進(jìn)行 GPRS 通信通過(guò)域名的方式來(lái)連接我們的服務(wù)器,我們首先需要有一個(gè)域名,建議大家使用花生殼軟件這款軟件,大家可以到花生殼網(wǎng)站上注冊(cè)一個(gè) ID,會(huì)免費(fèi)獲得一個(gè)域名。這里我經(jīng)過(guò)注冊(cè)登陸后,獲得的一個(gè)免費(fèi)域名為: 。下面我們將用這個(gè)域名來(lái)進(jìn)行實(shí)驗(yàn)。2.7.4 關(guān)于沒(méi)有公網(wǎng) IP 的

32、解決方法方法 1: 在學(xué)校使用校園網(wǎng)的用戶,如果使用的電腦有無(wú)線網(wǎng)卡,可以到淘寶購(gòu)買ChinaNet 的短期 WIFI 賬號(hào)來(lái)上網(wǎng)(幾毛錢就能解決),這樣就可以擁有一個(gè)外網(wǎng) IP 來(lái)做測(cè)試了。首先打開(kāi)提供的測(cè)試用的 TCP/UDP 網(wǎng)絡(luò)調(diào)試軟件( NetAssis 軟件),設(shè)置協(xié)議類型為“ TCP服務(wù)器”,填好本地公網(wǎng) IP 地址和端口號(hào),這里我們的公網(wǎng) IP 地址為: 180.143.232.114(根據(jù)具體情況進(jìn)行更改),本地端口號(hào)使用“ 8080”。 然后我們繼續(xù)回到串口調(diào)試助手,發(fā)送下面的指令:( 1) AT+CIPMUX=0 這條命令是用來(lái)設(shè)置 SIM900 模塊工作在單鏈接方式的,多連接方式應(yīng)用起來(lái)比較麻煩,我們這里先以單鏈接的方式來(lái)演示。( 2) AT+CIPRXGET=1 這條命令是用來(lái)設(shè)置獲取數(shù)據(jù)的方式的,參數(shù)為: 1 是用來(lái)設(shè)置以手動(dòng)的方式來(lái)提取接收到的數(shù)據(jù)的。( 3) AT+CIPQRCLOSE=1 這條命令是用來(lái)設(shè)置加速遠(yuǎn)程斷開(kāi)連接用的,不必細(xì)究這條命令,照此設(shè)置就行了。( 4) AT+CIPMODE=0 這條命令是用來(lái)選擇 TCPIP 應(yīng)用模式的,如果參數(shù)為 0,那么以非透明的方式來(lái)應(yīng)用,如果參數(shù)為 1,那么以透

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論