SMS не может быть отправлено с помощью GSM-модуля SIM900A - PullRequest
1 голос
/ 26 октября 2019

Я пытаюсь отправить SMS с помощью GSM SIM900A. Но здесь нет ошибки компиляции и других помех.

Код выполнен правильно, но SMS не отправлено на номер, указанный в коде.


#include <TinyGPS.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial SIM900A(7, 8);

void setup()
{

  Serial.begin(9600);
  SIM900A.begin(9600);
  pinMode(6, INPUT);
}

void loop()
{

  bool state = digitalRead(6);
  if (state == HIGH)    
  {





    SIM900A.println("AT+CMGF=1");
    delay(1000);
    SIM900A.println("AT+CMGS=\"+8801679388394\"\r");
    delay(1000);

    SIM900A.println("Alert I need help....Asheesh ,Battalion No. 1233456 ");
    SIM900A.println((char)26);

    delay(10000);

  }
  else {


    delay(2000);


  }


}


Я не могу понятьчто здесь не так. Кто-нибудь, пожалуйста, скажите мне, в чем проблема?

Ответы [ 2 ]

1 голос
/ 15 ноября 2019

GSM SIM900A поддерживает только SIM-карту 2G. Сначала убедитесь, что вы используете SIM-карту 2G.

0 голосов
/ 27 октября 2019

Прежде всего убедитесь, что ваша SIM900A правильно инициализирована. Вам также необходимо проверить, обнаружил ли модуль GSM SIM-карту. Обычно это обозначается встроенным светодиодом, который мигает через каждые 3 секунды . Следующий код предназначен для отправки смс пользователю.

void sendSMS()
{
   SIM900A.println("AT+CMGF=1");
   delay(1000);

   SIM900A.println("AT+CMGS=\"+8801679388394\"\r");
   delay(1000); 

   SIM900A.print("Hello");
   delay(1000);

   SIM900A.println((char)26);     // sends ctrl+z end of message 
   delay(5000);
}

Перед тем, как попробовать этот код, убедитесь, что вы подключены к сети с помощью AT+COPS?. После того, как вы откроете последовательный монитор, убедитесь, что выбрана опция « Both NL & CR »!

...