1 GSM 模塊測試
首先,將 SIM 卡插入板子背面 SIM 卡座。接上 5V/1A 電源適配器和串口,可
以看到電源燈“LED1”亮。按下啓動開關 1 秒然後鬆開,模塊的狀態指示燈“led”
按照“64ms 亮/800ms 滅”閃爍。當搜尋到網絡並註冊上後,狀態指示燈按照“64ms
亮/3000ms 滅”閃爍。 代表已經註冊上網絡,然後可以進行下一步的操作
1.2 串口調試助手操作
發送 ATE0 <回車>
返回 ATE0
OK (目的將回顯關閉)
1.3 設置文本的模式(有兩種模式:PDU和TEXT)
1.PDU 發送模式:
(1)發送 AT+CMGF=0 <回車>
返回 OK
(AT+CMGF=0 爲設置短信息格式爲 PDU 模式;
AT+CMGF=1 爲設置短信息格式爲 TEXT模式)
(2)發送 AT+CMGS=27<回車>
返回 >
(3)發送
0891683110100305F011000D91685126303289F10008AA0C6D4B8BD55DF27ECF5C317EEA <沒有回車>
<如果發送回車了,你會發現只返回 OK 而並沒有成功!90%初學者會犯這個毛病,包括我>
<這段數字的含義在後面會有詳細的解釋>
返回 無
如果返回是前部亂碼,後面是正確的話,不要擔心請繼續。波特率自動設置問題。
(4)發送 1A<回車> (目的短信發送完畢結束符)
返回 +CMGS: XXX
OK
(5)發送 CTRL-Z 鍵(這裏也是一個矛盾集中點,許多人誤以爲直接按此鍵,發現
被撤銷了發送內容,其實他的本意是讓你發送十六進制的 1A,這個數據。也就
是串口助手左邊的十六進制發送選項打鉤後發送。)注意 1A 後也打回車。
之後等待幾秒如果不是 ERROR 而是
+CMGS: XXX
OK
那麼你就成功了!!O(∩_∩)O 哈哈~
下面我就這段代碼進行解釋性說明:
0891683110100305F0(00)11000D91685126303289F10008AA0C6D4B8BD55DF27ECF5
C317EEA
中心號設置:
(1)08—短信息中心地址字節長度。
指(91)+( 683110100305F0)的長度,兩個數字計爲一個字節長度;
(2)91— 短信息中心號碼類型(Type of Number)
91 是 TON/NPI 遵守 International/E.164 標準,指在號碼前需加‘+’號.此外
還有其它數值,但 91 最常用;
(3) 685110100375F0—短信息中心號碼,
注意其每兩位是位置顛倒的。實際號碼應爲:8615010130570.由於電話號碼位奇
數(11), 因此加入 F 來保證 8 位;(1)、(2)、(3)通稱短消息中心地址(Address
of the SMSC)。
地址及內容設置:
(1)00-短信息中心地址長度。在這裏爲 0,表示使用存儲在 SIM 卡中的短信息中
心地址;例子中直接寫的信息中心號,首次發送寫,其餘可以寫也可不寫。
(2)11-SMS_SUBMIT 的第一個 8 位;
(3)00-發送方地址信息。在這裏爲 0,表示使用本機號碼;
(4)0B-接收方號碼長度;
(5)81-接收方號碼類型(Type of Number);
(6) 3156307279F0-接收方號碼. 實際號碼爲 13650327970+F;
(7)00-協議標識 TP-PID(TP-Protocol-Identifier);
(8)08-數據編碼方案 TP-DCS(TP-Data-Coding-Scheme)
Bit No.7 與 Bit No.6 :一般設置爲 00;
Bit No.5:0—文本未壓縮,1—文本用 GSM 標準壓縮算法壓縮;
Bit No.4:0—表示 Bit No.1、Bit No.0 爲保留位,不含信息類型信息,1—表
示
Bit No.1、Bit No.0 含有信息類型信息;
Bit No.3 與 Bit No.2:00—默認的字母表,01—8bit,10—USC2(16bit),11
—
預留;
Bit No.1 與 Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM 卡特
定信
息),11—Class 3;
(9)AA-有效期 TP-VP(TP-Valid-Period);
(10)0C-用戶數據長度 TP-UDL(TP-User-Data-Length).若發送 7Bit 編碼數據,
則 TP-UDL 爲實際字符個數;若爲 8Bit 數據或 16Bit 編碼的 Unicode,則
TP-UDL 爲數據字節(8 位)的個數。
(11) 6D4B8BD55DF27ECF5C317EEA -用戶數據 TP-UD(TP-User-Data)
中文數據爲:測試已經就緒 (可以使用Unicode編碼軟件來發送你自己想要發送的語句)
二. TEXT 發送模式:(相對簡單很多。)
發送:AT<回車>
返回:OK
發送:AT+CMGF=1<回車>
返回:OK
發送:AT+CSCA=”+8615010130570”<回車> 注意要打引號啊
返回:OK
發送:AT+CMGS=”13650327970”<回車>
返回:>
發送:XXXXXX(0-9,A-Z)[XXXXX 是指阿拉伯數字 0-9,英文 26 個字母 A-Z]
返回:
發送:1A(十六進制發送)<回車>
返回:+CMGS: XXX
OK
如果不能正常發送,返回 ERROR,則說明需要格式化。可以發送 AT&F 命令格式化。
發送:AT&F<回車>
返回:AT&F<回車>