[原创] 【DFRobot无线通信模块】+ DFRobot Gravity: UART A6 GSM & GPRS 无线通信模块评测

北方   2019-8-12 16:34 楼主

1 DFRobot Gravity: UART A6 GSM & GPRS 无线通信模块是一个非常精巧的扩展板,主要是基于GSM无线通信模块的快速开发.

2. 这个模块是安可信A9,和A9G兼容管脚的开发板,对于开发板的连接和控制是用UART串行接口实现的.

   具体的参数参照WIKI,这里展示了具体的使用方法.

3. 按照手册上的使用方法连接arduino开发板的11和10引脚,使用9600的波特率连接,下载如下测试程序.

 

#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin11, RX-Pin10
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输出
    }   
  }
}

连接图片 143107468.jpg

4. 上电后,GSM模块启动,间断蓝灯闪烁,应该是模块正常工作的状态,不过在串口没有反馈信号.

经过测试,应该是波特率配置不成功.

需要进一步调试.

需要注意的是这个模块只能用5V电压驱动,在3.3V的时候,模块供电不足,不能正常启动.蓝色LED灯也不闪烁.

按照A9的手册,这个波特率是采用自协调和同步的方式,出现这样子,还是需要重新分析.

出厂的标准波特率其实是115200,不过配合arduino的正常读取,用9600也应该是可以的.

此内容由EEWORLD论坛网友北方原创,如需转载或用于商业用途需征得作者同意并注明出处

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复