UNO + SIM900

Viktor5252
Offline
Зарегистрирован: 21.04.2021

Доброго времени суток, никак не получается связать UNO с Sim900, чтобы для начала хотя-бы общаться через виртуальный терминал посредством AT команд.
 

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  // Рукопожатие с SIM900
  mySerial.println("AT");
  updateSerial();
  // Тест качества сигнала, диапазон значений 0-31, 31 - лучший
  mySerial.println("AT+CSQ");
  updateSerial();
  // Прочитать информацию о SIM карте, чтобы убедиться, что SIM карта подключена
  mySerial.println("AT+CCID");
  updateSerial();
  // Проверяем, зарегистрирован ли модуль в сети
  mySerial.println("AT+CREG?");
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

на виртуальном терминале получаю: 

Initializing...
⸮⸮⸮⸮
RDY

+CFUN: 1

+CPIN: READY

Call Ready

на команды не реагирует, при звонке на сим пишет в терминал, что есть входящий звонок (RING)

Viktor5252
Offline
Зарегистрирован: 21.04.2021

Сделан в виде модуля, почти такой же как на изображении ( за исключением пары мелких изменений)

b707
Offline
Зарегистрирован: 26.05.2017

В чем заключается "не получается"? сообщения модема  на терминале получаете, насколько я вижу...

Viktor5252
Offline
Зарегистрирован: 21.04.2021

Модуль не реагирует на команды по типу "AT" "AT+GMR" , ни из кода и ни из виртуального терминала , соответственно общение отсутствует, не получается вручную опросить его или взять входящий вызов

b707
Offline
Зарегистрирован: 26.05.2017

попробуйте так

mySerial.print("AT\r\n");

 

Viktor5252
Offline
Зарегистрирован: 21.04.2021

Ничего не изменилось. Есть также плата леонардо, но с ним этот модуль вообще никак не хочет общаться. (а так же есть ардуино нано, в которой в теории залита рабочая прошивка для работы именно с этим модулем, но ведь из него никак не достанешь исходники))