安信可A7模块分为GPS和GPRS部分,这里实现拨号和发短信功能用到GPRS模块。直奔主题:实现拨号和发短信功能的步骤。
1:首先用串口调试助手检验一下模块是否能正常工作,各部分功能是否有用。
串口号自己在电脑上查,波特率设置为115200,如下:
简单的说一下我回的几条AT命令:
AT 返回ok说明连接成功
AT+CPIN? 测试SIM卡是否准备好
AT+CCID 测试SIM卡ID
AT+CSQ 测试信号强度
ATD+号码+; 拨打电话
ATA 应答电话
ATH 挂断电话
AT+SNFS=0 切换到耳机输出
AT+SNFS=1 切换到喇叭输出
手机耳机分为两种标准:OMTP标准通常被叫做国家标准,CTIA被称为国际标准。两者的区别在于插头最后两节
GND和MIC顺序相反。CTIA耳机插入OMTP设备会造成声音小且失真
AT+CMGF=1 //设置TEXT MODE
AT+CSDH=1 //显示文本格式
AT+CSDH=1 //显示文本格式
AT+CNMI=0,2,0,0,0 //显示新收到的短信
AT+CMGF=1 | //设置TEXT MODE |
AT+CSCS="GSM" AT+CMGS="17719228082" |
//其中电话号码要发送给谁短信就写谁 |
TEST MESSAGE | //这里写任意短信内容,英文数字标点等 |
然后用HEX格式发送 1A | 把短信发送出去,然后接收端手机就能接收到模块发送的短信了 |
AT+CMGF=0 | //设置PDU格式 |
AT+CSCS="GSM" AT+CMGS=19 |
//记得是用CMGS不是CMGW |
0011000D91687117298280F20008AA044F60597D | //记得发送这个数据后面别加换行 |
1A | //HEX发送数据,把短信发送出去 |
AT+GPS=1 打开 GPS
AT+GPS=0 关闭 GPS
AT+AGPS=1 打开 AGPS
AT+GPS=0 关闭 GPS
AT+AGPS=1 打开 AGPS
AT+AGPS=0 关闭 AGPS
AT+GPSRD=0 关闭 NEMA 从 AT 口输出
AT+GPSRD=N NEMA 信息 N 秒从 AT 口输出一次,实际使用将 N 换成数字;
2在开发板上调试拨号和发短信功能。
首先在虚拟机上编译生成a.out可执行文件,然后再传送到开发板上运行。(./a.out)
头文件gprs.h
1 /********************************************************************************
2 * Copyright: (C) 2017 luliteng<luliteng@gmail.com>
3 * All rights reserved.
4 *
5 * Filename: head.h
6 * Description: This head file
7 *
8 * Version: 1.0.0(2017年05月11日)
9 * Author: luliteng <luliteng@gmail.com>
10 * ChangeLog: 1, Release initial version on "2017年05月11日 04时00分22秒"
11 *
12 ********************************************************************************/
13 #ifndef __GPRS_H__
14 #define __GPRS_H__
15
16 #include <stdio.h>
17 #include <stdlib.h>
18 #include <unistd.h>
19 #include <fcntl.h>
20 #include <string.h>
21 #include <sys/t