Проблема с SIM800L

25555ru
Offline
Зарегистрирован: 04.10.2019

Подключил SIM800L к Arduino UNO Монитор порта Arduino пишет, ниже.  Что это SIM800L неисправен или проблема с котировкой в windows? Светодиод в SIM800L мигает только раз в секунду. Пробовал на разных версиях  программ Arduino. 

vvadim
Offline
Зарегистрирован: 23.05.2012

а кто программулину вашу видел )))))

25555ru
Offline
Зарегистрирован: 04.10.2019

Она тестовая. Скорость тоже пробовал менять, тоже самое. 

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 2);          // Выводы SIM800L Tx & Rx подключены к выводам Arduino 3 и 2
 
void setup()
{
  Serial.begin(19200);                   // Инициализация последовательной связи с Arduino и Arduino IDE (Serial Monitor)
  mySerial.begin(19200);                 // Инициализация последовательной связи с Arduino и SIM800L
  Serial.println("Initializing...");    // Печать текста
  delay(1000);                          // Пауза 1 с
 
  mySerial.println("AT");               // Отправка команды AT
  updateSerial();
  mySerial.println("AT+CSQ");           // Проверка качества сигнала, диапазон значений 0-31, 31 - лучший
  updateSerial();
  mySerial.println("AT+CCID");          // Чтение информацию о SIM-карте
  updateSerial();
  mySerial.println("AT+CREG?");         // Проверка регистрации в сети
  updateSerial();
}
 
void loop()
{
  updateSerial();
}
 
void updateSerial()
{
  delay(500);                           // Пауза 500 мс
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());      // Переадресация с последовательного порта SIM800L на последовательный порт Arduino IDE
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());      // Переадресация c Arduino IDE на последовательный порт SIM800L
  }
}
sadman41
Offline
Зарегистрирован: 19.10.2016

Код вставлен неправильно, скорость выбрана странная, delay() не к месту.

25555ru
Offline
Зарегистрирован: 04.10.2019

Скорей всего SIM800L неисправен. Анализатор с него пишет “0” framing error  (ошибка кадрирования) относится к ошибкам интерфейса.

Barmaley67
Offline
Зарегистрирован: 25.12.2015

Я такой код для проверки использовал, попробуйте

#include <SoftwareSerial.h>
SoftwareSerial SIM800(8, 9);        // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L)
void setup()
{
  Serial.begin(9600);               // Velocidad de comunicacion con computadora
  Serial.println("Start!");
  SIM800.begin(9600);               // Velocidad de comunicacion con modem
  SIM800.println("AT");
}

void loop()
{
  if (SIM800.available())           // Espera de datos (o respuesta) de modem...
    Serial.write(SIM800.read());    // ... los mandamos a Serial
  if (Serial.available())           // Espera de comando por Serial...
    SIM800.write(Serial.read());    // ... mandamos el comando a modem
}

 

Barmaley67
Offline
Зарегистрирован: 25.12.2015

Извините, комментарии остались на испанском, но думаю и так все понятно.

Код взят отсюда

http://codius.ru/articles/GSM_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_SIM800L_%D1%87%D0%B0%D1%81%D1%82%D1%8C_1

ИМХО, хороший материал.

25555ru
Offline
Зарегистрирован: 04.10.2019

SIM800L неисправен. У меня примерно такой модем для мобильного интернета есть. Попробовал его протестировать. С ним всё как и должно быть.