无法发送短信Arduino GSM Shield 2

时间:2015-11-13 16:04:15

标签: arduino sms gsm

我无法联系,我不知道为什么,有人可以帮助我吗?

控制台返回:

  

" /tmp/arduino_ca13faa5535f759e3ad5c18bb4094ecd/SendSMS.ino:In function' void setup()':   /tmp/arduino_ca13faa5535f759e3ad5c18bb4094ecd/SendSMS.ino:48:34:警告:不推荐将字符串常量转换为' char *' [-Wwrite串]        if(gsmAccess.begin(PINNUMBER)== GSM_READY){"

#include <GSM.h>

#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;

void setup() {
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ;// wait for serial port to connect. Needed for native USB port only
  }

  Serial.println("SMS Messages Sender");

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while (notConnected) {
    if (gsmAccess.begin(PINNUMBER) == GSM_READY) {
      notConnected = false;
    } else {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("GSM initialized");
}

void loop() {

  Serial.print("Enter a mobile number: ");
  char remoteNum[20];  // telephone number to send sms
  readSerial(remoteNum);
  Serial.println(remoteNum);

  // sms text
  Serial.print("Now, enter SMS content: ");
  char txtMsg[200];
  readSerial(txtMsg);
  Serial.println("SENDING");
  Serial.println();
  Serial.println("Message:");
  Serial.println(txtMsg);

  // send the message
  sms.beginSMS(remoteNum);
  sms.print(txtMsg);
  sms.endSMS();
  Serial.println("\nCOMPLETE!\n");
}

/*
  Read input serial
 */
int readSerial(char result[]) {
  int i = 0;
  while (1) {
    while (Serial.available() > 0) {
      char inChar = Serial.read();
      if (inChar == '\n') {
        result[i] = '\0';
        Serial.flush();
        return 0;
      }
      if (inChar != '\r') {
        result[i] = inChar;
        i++;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

这只是一个警告。草图正在建设中。您在Serial Monitor窗口中看到了什么? (拖动选择,复制并粘贴到下面的评论中。)

您尚未将PIN设置为任何内容,例如“1234”。你有个人识别码吗?