(SKU:TEL0113)Gravity A6 GSM&GPRS Module

来自DFRobot Product Wiki
跳转至: 导航搜索
产品名称

Update/modify/delete Forbidden, 禁止更改本图,请更改图片名称,避免覆盖上传

目录

简介

当您在野外或者无WiFi的环境下,需要远距离通信或者做信息采集时,该怎么处理这样的尴尬呢?

DF说:一张电话卡一个小模块,便可以解决您的困扰。

DFRobot新推出一款Gravity系列模块:GSM&GPRS模块,可以短信、语音、无线数据传输。该模块保持了Gravity的特点(使用方便、安装方便、小尺寸),无需额外供电,可正常使用;

技术规格

  • 工作电压:5V
  • 工作电流:最大供电电流不低于2A
  • 待机电流:<3mA
  • 低功耗模式:<1mA(串口不可用)
  • 支持GSM/GPRS四个频段(850/900/1800/1900 MHz)
  • GPRS Class 10;
  • 灵敏度<-105;
  • 支持语音通话;
  • 支持SMS短信
  • 支持GPRS数据业务,最大数据速率,下载85.6Kbps,上传42.8Kbps;
  • AT命令支持标准AT和TCP/IP命令接口;
  • 支持数字音频和模拟音频,支持HR,FR,EFR,AMR语音编码;
  • 工作温度:-30℃~+80℃
  • 模块尺寸:45 × 37(mm)
  • 接口类型:4Pin Gravity-UART接口


引脚说明

QQ截图20170424170550.png

如图,Gravity-UART接口,从上到下是

  • TX--UART发送引脚
  • RX--UART接收引脚
  • GND--电源负
  • VCC--电源正

模块可以通过UART和单片机通信。

使用教程1

  • 目标:通过UNO R3使用模块的GSM和GPRS功能


准备

  • 硬件
    • 1 x UNO R3
    • 1 x Gravity A6 GSM&GPRS Module
    • 1 x PC
    • 1 x 耳机(带麦)
    • 若干 杜邦线
  • 软件


接线图

  • 将模块与UNO控制板按照如下图的方式连接
  • 耳机插入预留耳机孔
QQ截图20170424170530.png


GSM教程

1.模块初始化检查


#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin10, RX-Pin11
void updateSerial()
{
  delay(2000);
  while (Serial.available()) {
    mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
  }
  while(mySerial.available()) {
    Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
  }
  
}   

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop()
{ 
  mySerial.println("AT");          //握手测试,成功则返回OK 
  updateSerial();
    
  mySerial.println("AT+CSQ");      //信号质量测试,值为0-31,31表示最好
  updateSerial();
    
  mySerial.println("AT+CCID");    //读取SIM,可以检测是否有SIM卡或者是否接触良好
  updateSerial();
  
  mySerial.println("AT+CREG?");    //检测是否注册网络
  updateSerial();    
 
  mySerial.println("AT+SNFS=0");  //调整为耳机模式(AT+SNFS=1 表示扬声器模式)   
  updateSerial();
     
  mySerial.println("AT+CRSL=2");  //调整音量,值为0-15,15表示音量最大
  updateSerial();
    
  while(1)
  { 
    if(mySerial.available()) 
    {
      Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
    }
    if(Serial.available())
    {
      mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
    }   
  }
}
                        
QQ截图20170223141552.png

2.语音通话

  • 通过Ardunio串口发送AT指令拨打和接听电话
    • ATD+拨打号码 //拨打指定号码
      • eg. ATD10086
    • Ring //有来电
    • ATA //接听来电
    • ATH //挂断当前通话
QQ截图20170223142034.png

3.短信发送


#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin10, RX-Pin11
void updateSerial()
{
  delay(2000);
  while (Serial.available()) {
    mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
  }
  while(mySerial.available()) {
    Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
  }
  
}   

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop()
{ 
  mySerial.println("AT");          //握手测试,成功则返回OK 
  updateSerial();
  mySerial.println("AT+CMGF=1");   //配置短信模式为TEXT模式,只能发送英文短信! 
  updateSerial();
  mySerial.println("AT+CMGS=\"xxxxxxxxxxx\"");//xxxxxxxxxxx为电话号码
  updateSerial();
  mySerial.print("Hello, this is a test"); //短信内容
  updateSerial();
  mySerial.write(26);
  while(1)
  { 
    if(mySerial.available()) 
    {
      Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
    }
    if(Serial.available())
    {
      mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
    }   
  }    
}                    
QQ截图20170223145745.png



GPRS教程


#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin10, RX-Pin11
void updateSerial()
{
  delay(2000);
  while (Serial.available()) {
    mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
  }
  while(mySerial.available()) {
    Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
  }
}   

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop()
{ 
  mySerial.println("AT");          //握手测试,成功则返回OK 
  updateSerial();
  mySerial.println("AT+CIPCLOSE");          //断开前一次链接
  updateSerial();
  mySerial.println("AT+CGATT=1 ");//附着网络,如果需要上网,这条指令是必选的 
  updateSerial();
  mySerial.println("AT+CGDCONT=1,\"IP\",\"CMNET\"");//设置PDP参数 
  updateSerial();
  mySerial.println("AT+CGACT=1,1");//激活PDP,正确激活以后就可以上网了 
  updateSerial();
  mySerial.println("AT+CIFSR");//获得本地IP地址 
  updateSerial();
  mySerial.println("AT+CIPSTART=TCP,118.26.119.118,8266");//连接服务器,该服务器是果云的测试服务器,会返回发送的数据
  updateSerial(); 
  updateSerial();
  delay(2000); 
  updateSerial();   
  mySerial.println("AT+CIPSEND");//向服务器发送数据请求
  updateSerial();
  mySerial.print("TEST");//向服务器发送数据内容
  updateSerial();
  mySerial.write(26);//结束符
  while(1)
    { 
    if(mySerial.available()) 
    {
      Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
    }
    if(Serial.available())
    {
      mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
    }   
  }     
}                  
QQ截图20170224100815.png


使用教程2

  • 目标2:通过USB to Serial使用模块的GSM和GPRS功能


准备

  • 硬件
    • 1 x USB to Serial
    • 1 x Gravity A6 GSM&GPRS Module
    • 1 x PC
    • 1 x 耳机(带麦)
    • 若干 杜邦线
  • 软件
    • 串口调试工具


接线图

  • 将模块通过USB转串口模块,与PC相连接,按照如下图的方式连接
  • 耳机插入预留耳机孔
QQ截图20170222151250.png


GSM教程

1.模块初始化检查

  • 模块连接后,会自动与基站连接,通过串口读取基站下发信息
  • 通过以下三个命令查看模块是否正常初始化
    • AT+CCID //用于查询SIM的CCID,也可以用于查询SIM是否存在或者插好
      • eg. AT+CCID +CCID:898602A02216719D7171
    • AT+CSQ //查询模块信号质量
      • eg. AT+CSQ=? +CSQ: (0-31,99),(0-7,99)(31表示信号质量最好)
    • AT+CREG? //查询网络注册情况
      • eg. AT+CREG? +CREG: 1,1 //网络已注册,本地模式
QQ截图20170220091200.png

2.语音通话

  • 通过两个命令切换到耳机模式
    • AT+SNFS=0 //切换耳机模式(AT+SNFS=1 表示扬声器模式)
    • AT+CRSL=2 //调整音量(值为0-15,15表示音量最大)
  • 拨打和接听电话
    • ATD+拨打号码 //拨打指定号码
      • eg. ATD10086
    • Ring //有来电
    • ATA //接听来电
    • ATH //挂断当前通话
QQ截图20170220113938.png

3.短信发送

  • TEXT短信模式
    • AT+CMGF=1 //配置短信模式为TEXT模式,只能发送英文短信!
    • AT+CMGS=13548199303 //配置发送的对象
    • 配置完成后会弹出输入指示符 > ,即可输入发送的英文内容,并以0X1A结尾或者键入Ctrl+Z,返回OK则发送成功
QQ截图20170220124247.png
QQ截图20170220132431.png
    • AT+CMGF=0 //配置短信模式为PDU模式,中英文都可发送
    • AT+CMGS=31 //PDU码长(网址转换的为 AT+CMGW=31 是编写PDU到存储,我们使用 AT+CMGS 直接将短信发送)
    • 配置完成后会弹出输入指示符 > ,输入已经转换的PDU码,并以0X1A结尾或者键入Ctrl+Z,返回OK则发送成功
QQ截图20170220131152.png


GPRS教程

  • AT+CGATT=1 //附着网络,如果需要上网,这条指令是必选的
  • AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
  • AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了
  • AT+CIFSR //获得本地IP地址
  • AT+CIPSTART=TCP,118.26.119.118,8266 //连接服务器,该服务器是果云的测试服务器,会返回发送的数据
  • AT+CIPSEND //向服务器发送数据,输入命令后会弹出输入指示符 > ,输入要发送的内容,并以0X1A结尾或者键入Ctrl+Z,返回OK则发送成功
  • AT+CIPCLOSE //断开链接
QQ截图20170220135946.png


常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


DFshopping car1.png [Link DFRobot商城购买链接]

个人工具
名字空间

变换
操作
导航
工具箱