GSM A6模組PDU格式傳送中文簡訊
1,開發板:串列埠除錯助手,GSMA6模組。
在使用GSM A6模組傳送中文簡訊的時候總是傳送不成功,傳送英文簡訊是ok的。我的模組圖片如下:
這個模組,比較便宜,價效比高,所以就買了這個模組。傳送英文簡訊的詳細流程如下:
1、連線,U_TXD連線USB轉TTL的RXD,U_RXD連線USB轉TTL的TXD,GND、VCC分別連線USB轉TTL的GND和5V
2、按住模組的POWER鍵,馬上鍵入AT+IPR=9600,設定波特率
3、AT+CMGF=1<回車> 點擊發送 //文字方式傳送
4、AT+CMGS="10086" <回車> 點擊發送
5、此時返回'>'字元
6、hello 點擊發送
7、1A 勾選十六進位制後傳送
為了,省點簡訊費,直接發到10086,返回還及時,方便除錯~IPR=9600 +CREG: 3 ^CINIT: 1, 0, 0 ^CINIT: 2, 32, 41891 ^CINIT: 8, 2048, 1 +CREG: 1 ^STN: 37 ^CINIT: 4, 8192, 37 ^CINIT: 16, 0, 1638460 ^CINIT: 32, 0, 0 +CIEV: READY AT+CMGF=1 OK AT+CMGS="10086" > hello +CMGS: 1 OK +CIEV: "MESSAGE",1 +CMT: "尊敬的客戶,您好!Hello! 【掌廳使用更便捷!詳情點選 http://wap.js.10086.cn】 【您的24小時專屬客服,
串列埠介面如下:
但是傳送中文簡訊的時候,死活不成功,一開始用的PDU編碼器如下:
按照網上流行的步驟,
1、AT+CMGF=0 <回車> 點擊發送
2、AT+CMGS=16 <回車>點擊發送
3、返回'>'字元
4、0891683108100005F011000791680180F60008B0044F60597D 點擊發送
5、1A 勾選16進位制傳送,點擊發送
返回+CMS ERROR:500 !!檢視這個錯誤,文件說是500 UNKNOWN_ERROR ,奇怪,為什麼會報這個錯誤呢??排除了手機欠費,SIM卡損壞,網路不佳等情況之後,還是無法解決。
我想是不是因為PDU編碼器的問題,於是乎網上找了一個PDU編碼器,發現可以正常使用,為方便大家我把該編碼器打包上傳,供大家下載,下載連線在本文最後。
該編碼器介面如下:
首先,說一下該編碼器的使用,
1、不要填寫簡訊息中心號碼!!!這一點切記,如果把簡訊息中心號碼填寫為:+8613800100500,
後面就會報錯+CMS ERROR:500
2、輸入接收方號碼,注意前面加上"86"
3、選擇字元位數16
4、輸入要傳送的中文資訊
5、點選轉換。
可以看到轉換之後有AT+CMGW=30,後面使用的時候要把CMGW改為CMGS!!!
下面我們就可以傳送測試簡訊了,回到我們的串列埠助手
1、AT+CMGF=0 <回車> 點擊發送
2、AT+CMGS=30 <回車> 點擊發送
3、返回">"字元
4、0011000791680180F60008AA124F60597DFF0C4E2D65876D4B8BD577ED4FE1 點擊發送
5、1A選擇16進位制傳送,點擊發送
返回:
+CMGS: 0
OK
正常傳送。下面是測試程式碼:
AT+CMGF=0
OK
AT+CMGS=30
> 0011000791680180F60008AA124F60597DFF0C4E2D65876D4B8BD577ED4FE1
+CMGS: 0
OK
+CIEV: "MESSAGE",1
+CMT: ,154
0891683108500145F36005800180F60008814051617010238A0500036804020034FF1A6D4191CF67E58BE24E0E529E7406000A003100310032FF1A67E58BE28BDD8D394F59989D000A003100310033FF1A67E58BE2595799104F7F752860C551B5000A3010003200345C0F65F64E0D625370CA6C5F82CF79FB52A857287EBF5BA2670DFF0C8BF770B951FB8FDB51650068007400740070003A002F002F007700610070
+CIEV: "SMSFULL",1
順利解決A6晶片傳送中文簡訊的問題,特地貼出來,希望能夠幫助大家,工具已經為大家準備好了,需要的同學可以自行下載~