如何测试 GSM Shield 调制解调器

T-Bot
发布于: 8年前
分享:

测试 GSM 调制解调器

本教程用来学习如何测试 GSM Shield 调制解调器(Modem),本教程不需要使用 SIM 卡。

硬件准备

  • Arduino 主控板
  • GSM Shield 扩展模块

硬件图示

首先,我们要引入 GSM 库文件: #include 实利化一个 GSMModem 类 GSMModem modem; 声明一个变量,用来保存读取调制解调器中的 IMEI 编码 String IMEI = ""; 在 setup 区块中,程序开启串口并输出 "Starting modem test..."

void setup() { Serial.begin(9600);  Serial.print("Starting modem test..."); 调用 modem.begin() 函数,开启 Modem   if(modem.begin())    Serial.println("modem.begin() succeeded");  else    Serial.println("ERROR, no modem answer."); } 在 loop 循环体中,, 通过 modem.getIMEI() 获取调制解调器的 IMEI 值. 每个 GSM 扩展都有一个唯一的 IMEI 值。 void loop() {  //@获取调制解调器 IMEI 号码  Serial.print("Checking IMEI...");  IMEI = modem.getIMEI(); 通过 getIMEI() 得到数据后,通过串口监视器输出,并通过 modem.begin() 复位调制解调器。   if(IMEI != NULL)  {    //@show IMEI in serial monitor    Serial.println("Modem's IMEI: " + IMEI);    // reset modem to check booting:    Serial.print("Reseting modem...");    modem.begin(); Arduino 复位之后,通过串口监视器检查 IMEI 信息 if(modem.getIMEI() != NULL) {  Serial.println("Modem is functoning properly"); } 如果 getIMEI() 不成功,则报告错误。 else {  Serial.println("Error: getIMEI() failed after modem.begin()"); } 如果程序启动后,一直没有返回 IMEI 信息,程序报错。     }    else    {      Serial.println("Error: Could not get IMEI");    }

 //@do nothing:  while(true); } 当程序成功下载到Arduino 之后,打开串口监视器,就可以看到 Modem 的测试信息了 

 

/*
This example test if your modem is working correctly.
Circuit:

  • GSM shield attached (using digital pins 2, 3, and 7) Created 12 Jun 2012 by David del Peral modified 21 Nov 2012 by Tom Igoe */

//@libraries #include

//@modem verification object GSMModem modem; // IMEI variable String IMEI = "";

void setup() { // initialize serial communications Serial.begin(9600); //@Start modem test (reset and check response) Serial.print("Starting modem test...");

if(modem.begin()) Serial.println("modem.begin() succeeded"); else Serial.println("ERROR, no modem answer."); }

void loop() { //@get modem IMEI Serial.print("Checking IMEI...");

IMEI = modem.getIMEI();   // check IMEI response if(IMEI != NULL) { // show IMEI in serial monitor Serial.println("Modem's IMEI: " + IMEI);

// reset modem to check booting:
Serial.print("Reseting modem...");
modem.begin();
// get and check IMEI one more time
if(modem.getIMEI() != NULL)
{
  Serial.println("Modem is functoning properly");
}
else
{
  Serial.println("Error: getIMEI() failed after modem.begin()");
}

} else { Serial.println("Error: Could not get IMEI"); } // do nothing: while(true); }

分享:

0 留言

留言

您的留言将被人工审核,请勿发表色情、反动言论。