當(dāng)前位置:首頁 > 通信技術(shù) > 通信模塊
[導(dǎo)讀]   AT 即 AttenTIon,指令集是從終端設(shè)備 (TerminalEquipment, ATTE)或數(shù)據(jù)終端設(shè)備 (DataTerminalEquipment, DTE)向終端適配器(Te

  AT 即 AttenTIon,指令集是從終端設(shè)備 (TerminalEquipment, ATTE)或數(shù)據(jù)終端設(shè)備 (DataTerminalEquipment, DTE)向終端適配器(TerminalAdapter, TA)或數(shù)據(jù)電路終端設(shè)備 (DataCircuitTerminalEquipment, DCE)發(fā)送的。通過 TA, TE 發(fā)送 AT 指令來控制移動(dòng)臺(tái) (MobileStaTIon, MS)的功能,與 GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶可以通過 AT 指令進(jìn)行呼叫、 短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。

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

  

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

  1, AT+CPIN? 該指令用于查詢 SIM 卡的狀態(tài),主要是 PIN 碼,如果該指令返回+CPIN:READY,則表明 SIM 卡狀態(tà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)度過低,則要檢查天線是否接好了?

  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,說明 SIM900A 模塊 是 SIMCOM 公司生產(chǎn)的。

  5, AT+CGMM 該指令用于查詢模塊型號(hào),如返回: SIMCOM_SIM900A,說明模塊型號(hào)是 SIM900A。

  6, AT+CGSN 該指令用于查詢產(chǎn)品序列號(hào)(即 IMEI 號(hào)),每個(gè)模塊的 IMEI 號(hào)都是不一樣 的,具有全

  球唯一性,如返回: 869988012018905,說明模塊的產(chǎn)品序列號(hào)是: 869988012018905。

  7, AT+CNUM 該指令用于查詢本機(jī)號(hào)碼,必須在 SIM 卡在位的時(shí)候才可查詢,如返回: +CNUM:“”,“15902020353”,129,7,4,則表明本機(jī)號(hào)碼為: 15902020353。另外,不是所有的 SIM 卡都支持這個(gè)指令,有個(gè)別 SIM 卡無法通過此指令得到其號(hào)碼。

  8, ATE1 該指令用于設(shè)置回顯模式(默認(rèn)開啟),即模塊將收到的 AT 指令完整的返回給 發(fā)送端,啟用該功能,有利于調(diào)試模塊。如果不需要開啟回顯模式,則發(fā)送 ATE0 指令即可 關(guān)閉,這樣收到的指令將不再返回給發(fā)送端,這樣方便程序控制。

  發(fā)送給模塊的指令,如果執(zhí)行成功,則會(huì)返回對(duì)應(yīng)信息和“OK”,如果執(zhí)行失敗/指令無效,則會(huì)返回“ERROR”。另外,提醒大家,所有的指令都必須是以 ASCII 編碼字符格式發(fā)送,不要在指令里面夾雜中文符號(hào)。同時(shí),很多指令都帶有查詢或提示功能,可以通過指令+“?”來查詢當(dāng)前設(shè)置,通過指令+“=?”的方式來獲取設(shè)置提示。

  2 撥打/接聽電話

  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)收到來電的時(shí)候, 給模塊發(fā)送: ATA,即可接聽來電。 ATH,用于掛斷電話,要想結(jié)束正在進(jìn)行的通話,只需 給模塊發(fā)送: ATH,即可掛斷。 AT+COLP,用于設(shè)置被叫號(hào)碼顯示,這里我們通過發(fā)送: AT+COLP=1,開啟被叫號(hào)碼顯示,當(dāng)成功撥通的時(shí)候(被叫接聽電話),模塊會(huì)返回被叫號(hào) 碼。 AT+CLIP,用于設(shè)置來電顯示,通過發(fā)送: AT+CLIP=1,可以實(shí)現(xiàn)設(shè)置來電顯示功能,模 塊接收到來電的時(shí)候,會(huì)返回來電號(hào)碼。 AT+VTS=*,產(chǎn)生 DTMF 音,該指令只有在通話進(jìn)行 中才有效,用于向?qū)Ψ桨l(fā)送 DTMF 音,比如在撥打 10086 查詢的時(shí)候,我們可以通過發(fā)送: AT+VTS=1,模擬發(fā)送按鍵 1。

  在介紹了本節(jié)要用到的幾個(gè) AT 指令之后,我們開始實(shí)現(xiàn)本節(jié)功能,不過有前提條件: 那就是模塊必須開機(jī),并且找到了運(yùn)營(yíng)商。通過發(fā)送: AT+COPS?,如果返回: +COPS:0,0,“CHINAMOBILE”,則可以開始下面的測(cè)試了。 2.1 撥打電話

  本節(jié),我們將利用 SIM900A 模塊來撥打 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)碼。最后,通過發(fā)送: ATH,掛斷,結(jié)束本次通話。

  查詢?cè)捹M(fèi)余額至此,我們就完成了一次撥號(hào)、發(fā)送 DTMF 音、結(jié)束通話的操作。十分簡(jiǎn) 單,所以用 SIM900A 模塊來實(shí)現(xiàn)打電話,那實(shí)在是小菜一碟。

  2.2 接聽電話

  首先,我們發(fā)送: AT+CLIP=1,開啟來電顯示功能,然后我們用其他電話機(jī)/手機(jī)撥打模塊上 SIM 卡的號(hào)碼。然后,模塊在接收到來電的時(shí)候,會(huì)通過耳機(jī)輸出來電鈴聲,并且可以在串口接收到來電號(hào)碼,如:+CLIP:“15124532672”,161,“”,,“ailin”,0,表示當(dāng)前接入號(hào)碼為:15124532672。此時(shí),我們發(fā)送:ATA,即可接聽來電,并進(jìn)行通話。當(dāng)對(duì)方掛斷電話的時(shí)候, SIM900A 模塊會(huì)返回: NOCARRIER,并結(jié)束此次通話。當(dāng)然,我們也可以通過發(fā)送: ATH,來主動(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ì)提示,可以通過刪除短信來解決。AT+CMGF, 用于設(shè)置短消息模式, SIM900A 支持 PDU 模式和文本( TEXT)模式等 2 種模式,發(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 卡存儲(chǔ)在位置 1 的短信。 AT+CMGS,用于發(fā)送短信,在“GSM” 字符集下,最大可以發(fā)送 180 個(gè)字節(jié)的英文字符,在“UCS2”字符集下,最大可以發(fā)送 70 個(gè) 漢字(包括字符/數(shù)字)。該指令我們?cè)诤竺嬖敿?xì)介紹。 AT+CPMS,用于查詢/設(shè)置優(yōu)選消息 存儲(chǔ)器,通過發(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 條信息,目前已經(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,表明收到了新的短信,存 放在 SIM 卡位置 2。然后,我們發(fā)送 AT+CMGR=2,即可讀取該短信。

  注意:某些時(shí)候,模塊收到了短信,但卻不發(fā)送提示,原因是:模塊存儲(chǔ)容量有限,不 能繼續(xù)存儲(chǔ)短信。解決方法:可以刪除一些短信,例如發(fā)送: AT+CMGD=1,刪除全部短信 命令。

  2.5 英文短信的發(fā)送

  本節(jié),我們將利用 SIM900A 模塊來給指定手機(jī)號(hào)碼發(fā)送一條英文短信。這里,我們用 到 AT+CMGS 指令來發(fā)送短信,發(fā)送全英文/數(shù)字短信的時(shí)候,我們先設(shè)置為: “GSM”字符集 ( AT+CSCS=“GSM”),文本模式( AT+CMGF=1)假設(shè)我們要給手機(jī)號(hào):。 15124532672,發(fā)送 一條短信,則發(fā)送: AT+CMGS=“15124532672”,然后模塊返回: 》,此時(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ā)送, 其中 156 為模塊內(nèi)部的短信計(jì)數(shù)器, 一般不用理會(huì)。

  2.6 中英文短信的發(fā)送

  本節(jié),我們將利用 SIM900A 模塊來給指定手機(jī)號(hào)碼發(fā)送一條中英文短信。同樣,我們 用到 AT+CMGS 指令來發(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 指令來發(fā)送中英文短信了,不過由于使用了 UCS2 字符集,所有字符/數(shù)字/ 漢字,都必須使用 UNICODE 編碼。假定我們要給手機(jī)號(hào): 15124532672,發(fā)送一條中英文短 信,內(nèi)容為“ SIM900A 中英文短信發(fā)送測(cè)試”。我們首先要用:漢字 UNICODE 互換工具.exe, 這個(gè)軟件將號(hào)碼和發(fā)送內(nèi)容轉(zhuǎn)換為 UNICODE 字符串(需要手動(dòng)去掉空格),得到:

  15124532672 轉(zhuǎn)換后的 UNICODE 字符串(去掉空格后)

  為:00310035003100320034003500330032003600370032.SIM900A。 中英文短信發(fā)送測(cè)試,轉(zhuǎn)換后的 UNICODE 字符串為:

  00530049004D00390030003000414E2D82F1658777ED4FE153D190016D4B8BD5,然后,發(fā)送: AT+CMGS=“00310035003100320034003500330032003600370032”,這個(gè)指令,然后模塊返回: 》 此時(shí)我們輸入我們需要發(fā)送的內(nèi)容:

  00530049004D00390030003000414E2D82F1658777ED4FE153D190016D4B8BD5, 注意,此處不 發(fā)送回車。 在發(fā)送完內(nèi)容以后,最后以十六進(jìn)制(HEX)格式單獨(dú)發(fā)送(不用添加回車): 1A(即0X1A),啟動(dòng)一次短信發(fā)送。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉