GSM SIM800L V2 Reset

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Всем доброе время.

Модем sim800l v2. Есть пин RST. Не найду и не пойму как его использовать, когда модуль нужно перезагрузить средствами ардуино.

Можно конечно запитать модем от релюшки, но городить лишний огород как-то не очень хочется.

if (!mySerial.find('OK')){                    
//тут нужно как-то ресетнуть модуль GSM
Serial.println("MODEM NE OTVECHAET.");
  }

Нашел вот такую схему тут: http://cristiansteib.github.io/Sim800l/

-The reset pin must be connected to transistor NPN wich is attached to Arduino, in the imag 1 shown an example of the circuit.

Тут вроде бы использован транзистор и резистор, но нет описания, как этот ресет использовать. Подать высокий и низкий уровень? На какое время? Ну и мысль у меня, что это как бы для старого модуля, который питается 4мя вольтами. Может 5ти вольтовый модуль можно ресетнуть и так? Подскажите куда копать pls.

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Короче решил проверить и ура! Эту версию можно ресетить просто подачей на RST LOW уровня. Никаких тебе дополнительных схем мудрить не нужно, так что можно реккомендовать! :-)

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

morfius пишет:
Короче решил проверить и ура!

Я бы сначала померял ток между RST и землей: если он меньше допустимых для пина ардуины 20-30мА - тогда да, можно безопасно использовать.

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

del

KorPaEv
Offline
Зарегистрирован: 24.11.2014

morfius пишет:

Короче решил проверить и ура! Эту версию можно ресетить просто подачей на RST LOW уровня. Никаких тебе дополнительных схем мудрить не нужно, так что можно реккомендовать! :-)

привет, у меня с этим модемом проблема - примерно каждые 4-5 дней он как бы зависает и отказывается принимать какие либо команды, когда модем сбрасываешь то начинает работать нормально.

Наткнулся на твою тему, решил программно его скидывать каждые 3 дня, подаю на ногу RST LOW, затем HIGH, нога ардуины в режиме OUTPUT. Модем перезагружается, ловит сеть, но потом просто отказывается элементарно отправлять смс, отвечает ERROR.

Начал экспериментировать и вообще пришел к такой штуке что после инициализации ноги от ардуины как OUTPUT на ногу модема RSTмодем впринципе отказывается дальше работать.

Есть ли какие то соображения?

Maksim5569
Offline
Зарегистрирован: 28.11.2017

А можно взгляянуть на скетч,ибо такая же проблема

Симку видит а регестрировать не хочет

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

померяйте ток на пине reset модема, я бы рекомендовал через резистор его к МК подцеплять,

а сбрасывается вот так:

void resetModem() {
  LEDREDON;
  // reset modem
  pinMode(reset_sim800_pin, OUTPUT);
  digitalWrite(reset_sim800_pin, LOW);
  delay(115);
  //digitalWrite(reset_sim800_pin, HIGH);
  pinMode(reset_sim800_pin, INPUT); digitalWrite(reset_sim800_pin, LOW);
  // new init modem and start new main loop
  timer_reg_modem = current_millis; // reset registration modem timer
  varInit(); // init - like first start device
}

 

Секешфехервар
Секешфехервар аватар
Offline
Зарегистрирован: 06.09.2018

Я дико извиняюсь а какое у вас напряжение на ноге мк которой ресетите  sim 800 ? складывается такое впечатление (после инициализации ноги от ардуины как OUTPUT на ногу модема RSTмодем впринципе отказывается дальше работать.) что напряжение которое приходит на ресет выше  желаемого... если так то делитель в помощь.