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<回车>