Arduino SIM900 SMS не получено
Я попробовал руководство по этой ссылке
https://lastminuteengineers.com/sim900-gsm-shield-arduino-tutorial/
для отправки SMS-сообщения с помощью SIM900 GSM Shield
Я успешно выполнил раздел по отправке AT-команд, но не могу получить Arduino Uno для отправки SMS. Ниже приведен вывод, который я получаю после выполнения тестов AT-команды
Initializing...
AT
OK
AT+CPIN?
+CPIN: READY
OK
AT+CSQ
+CSQ: 6,0
OK
AT+CCID
8944500105191448516F
OK
AT+CREG?
+CREG: 0,5
OK
AT+COPS?
+COPS: 0,0,"T-Mobile "
OK
AT+COPS=?
+COPS: (2,"T-Mobile ","T-Mobile ","310260"),,(0,1,4),(0,1,2)
OK
и ниже приведены ответы на смс-код
Initializing...
AT
OK
AT+CMGF=1
OK
AT+CMGS="+1mycellphonenumber"
> Last Minute Engineers | lastminuteengineers.com
поэтому нет ответа на команду AT+CMGS и НЕ получено SMS. Вилка 5В 2А.
Есть идеи, что может быть причиной проблемы?
Ниже приведен код, который я использовал для функции Setup()
void setup()
{
// Начать последовательную связь с Arduino и Arduino IDE (последовательный монитор)
Serial.begin(9600);
//Начнем последовательную связь с Arduino и SIM900
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Подтверждение связи с SIM900
updateSerial();
mySerial.println("AT+CMGF=1"); // Настройка режима ТЕКСТ
updateSerial();
mySerial.println("AT+CMGS=\"+ZZxxxxxxxxxx\"");//изменить ZZ с кодом страны и xxxxxxxxxxx с номером телефона на смс
updateSerial();
mySerial.print("Last Minute Engineers | lastminuteengineers.com"); //текстовое содержимое
updateSerial();
mySerial.write(26);
}
@Olefin, 👍0
2 ответа
Обычно в Setup() у вас есть эта последовательность в конце
Serial.println("Connecting to the network...");
while( (sendATcommand("AT+CREG?", "+CREG: 0,1", 500) ||
sendATcommand("AT+CREG?", "+CREG: 0,5", 500)) == 0 );
sprintf(aux_str, "ATD%s;", phone_number);
sendATcommand(aux_str, "OK", 10000);
delay(seconds * 1000);
Serial.println("ATH"); // отключает существующий вызов
Поэтому после регистрации вы отправляете
Serial.println("AT+CMGS=\"1234567890\""); //ИЗМЕНЕНИЕ НОМЕРА НАЗНАЧЕНИЯ
Вы использовали "\" для охвата номера. Без вашего реального командования сложно угадать. Лучше используйте тестовая программа Soft Serial GPRS Code, последовательный монитор подвержен ошибкам. EDIT Части кода, опубликованные OP. Код после:
Serial.println("Initializing...");
delay(1000);
должен быть в цикле(). Посмотрите на связанные примеры, как должна происходить связь, если код запускается один раз, чтобы не было повторяющихся задач, таких как чтение символов и т.п.
Поменял SIM-карту на Ting с Hologram, и все заработало отлично!
Можно принять свой собственный ответ как решение проблемы., @VE7JRO
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- SIM900 3G? Или SIM900A умеет подключаться к 3G?
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Как проверить, работает ли GSM-модуль?
- Как отправлять сообщения на несколько номеров с помощью модуля Arduino uno и SIM800?
Я разместил код функции Setup(), который использовал выше, строка ниже предназначена для отправки SMS. mySerial.println("AT+CMGS=\"+1mycellphonenumber\"");, @Olefin