Как починить? Sim800L

tregubov
Offline
Зарегистрирован: 26.10.2020

В какой то момент после получения смс симке становится плохо и вот... ATT: OK RIC: AT OK DB:ELSE ATT: OK RIC: AT OK DB:ELSE ATT: OK RIC: ⸮ ATT: OK RIC: AT OK DB:ELSE ATT: OK RIC: AT OK DB:CORRECT BR ATT: OK RIC: AT OK ATT: OK RIC: AT&F OK ATT: OK RIC: ATE0 OK Call Ready ATT: OK RIC: OK ATT: OK RIC: OK ATT: OK RIC: OK ATT: OK RIC: OK ATT: +CPMS: RIC: ERROR SMS Ready ATT: +CPMS: RIC: +CP ATT: +CPMS: RIC: ⸮ ATT: +CPMS: RIC: AT+CPMS="SM","SM","SM" ERROR +CPIN: READY ATT: +CPMS: RIC: AT+CPMS="SM","SM","SM" ERROR ATT: +CPMS: RIC: AT+CPMS="SM","SM","SM" ERROR Call Ready SMS Ready ATT: +CPMS: RIC: ATT: +CPMS: RIC: ⸮AT+CPMS="SM","SM","SM" ERROR RDY +CFUN: 1 ATT: OK RIC: AT+CPBS="SM" ERROR +CPIN: READY ATT: OK RIC: AT+CPBS="SM" ERROR ATT: OK RIC: AT+CPBS="SM" ERROR ATT: OK RIC: AT+CPBS="SM" ERROR ATT: OK RIC: AT+CPBS="SM" ERROR ATT: SHUT OK RIC: AT+CIPSHUT SHUT OK status=READY ATT: OK RIC: NO STRING RCVDATT: OK RIC: ATE0 OK Call Ready ATT: +CMGL: RIC: ATE0 OK Call Ready ATT: OK RIC: NO STRING RCVDATT: OK RIC: Rj⸮⸮R ATT: OK RIC: Rj⸮⸮R ATT: OK RIC: Rj⸮⸮R ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: OK RIC: Rj⸮⸮R ERROR ATT: +CMGL: RIC: Rj⸮⸮R ERROR ATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK RIC: NO STRING RCVDATT: OK ++++ КОД НЕ ВСТАВИЛСЯ, ПРИШЛОСЬ ТАК ++++ Что делать? #include "SIM900.h" #include #include "sms.h" #include "call.h" SMSGSM sms; CallGSM call; //=================Пины 2 и 3 для Подключения GSM модуля int sensor1=0; int flag1=0; boolean started=false; char smsbuffer[160]; char n[20]; String n1 = "+79130000012"; String input_string = ""; String smsContent = ""; char sirena[] = "Sirena vkluchena!"; char PowerOFF[] = "Snyato s ohrani"; char smsDv[] ="Wnimaniye! Dvijeniye na objekte!"; char smsW[] ="Postanovka na ohranu!"; char pos; char sendsms[160]; void setup() { pinMode(10, OUTPUT); // Пассивный зумер (сигнал) pinMode(7, OUTPUT); Serial.begin(9600); pinMode(4, INPUT); // датчик движения // digitalWrite(4, HIGH); pinMode(5, INPUT); // еще какой-нибудь датчик // digitalWrite(5, HIGH); if (gsm.begin(4800)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); tone (10, 900); // включаем на пьезодинамик 600 Гц delay(1000); // ждем 1 секунду noTone(10); // отключаем пьезодинамик на пин 11 } void loop() { //===========================Первое срабатывание датчика движения if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==0){ n1.toCharArray(n,20); sms.SendSMS(n, smsDv); // Посылаем СМС о том, что есть движение sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; delay(5000); // Ждем 5 секунд } //===========================Повторное срабатывание датчика движения if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==1){ n1.toCharArray(n,20); sms.SendSMS(n, sirena); // Посылаем СМС о том, что включена сирена sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; } if (flag1>=2){ tone(10, 2780, 200); // Сирена } pos = sms.IsSMSPresent(SMS_UNREAD); // смотрим непрочитанные СМС if (pos) { // Если непрочитанные СМС есть, то... getsms(); // получаем непрочитанную СМС if (input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны sensor1=0;digitalWrite(7,LOW);input_string=""; char smsbuffer[160]=""; flag1=0;} if (input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану sensor1=1; input_string=""; char smsbuffer[160]=""; flag1=0;} sms.DeleteSMS(pos); // удаляем СМС из симки } } void getsms() { sms.GetSMS(1,n,20,smsbuffer,160); input_string =String(smsbuffer); }

tregubov
Offline
Зарегистрирован: 26.10.2020

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
#include "call.h"
SMSGSM sms;
CallGSM call;

//=================Пины 2 и 3 для Подключения GSM модуля

int sensor1=0;
int flag1=0;
boolean started=false;
char smsbuffer[160];
char n[20];
String n1 = "+79130000012";
String input_string = "";
String smsContent = "";
char sirena[] = "Sirena  vkluchena!";
char PowerOFF[] = "Snyato s ohrani";
char smsDv[] ="Wnimaniye! Dvijeniye na objekte!";
char smsW[] ="Postanovka na ohranu!";
char pos;
char sendsms[160];

void setup() {
 
 pinMode(10, OUTPUT); // Пассивный зумер (сигнал)
 pinMode(7, OUTPUT);

Serial.begin(9600);
  pinMode(4, INPUT); // датчик движения
//  digitalWrite(4, HIGH);
  pinMode(5, INPUT); // еще какой-нибудь датчик
//  digitalWrite(5, HIGH);

       if (gsm.begin(4800)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

   tone (10, 900); // включаем на пьезодинамик 600 Гц
   delay(1000); // ждем 1 секунду
   noTone(10); // отключаем пьезодинамик на пин 11

}
void loop() {

//===========================Первое срабатывание датчика движения
  if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==0){
    n1.toCharArray(n,20);
    sms.SendSMS(n, smsDv);               // Посылаем СМС о том, что есть движение
    sms.DeleteSMS(1);memset(n,0,20);
    char smsbuffer[160]="";
    flag1++;
    delay(5000); // Ждем 5 секунд
  }
//===========================Повторное срабатывание датчика движения
  if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==1){
    n1.toCharArray(n,20);
    sms.SendSMS(n, sirena);            // Посылаем СМС о том, что включена сирена
    sms.DeleteSMS(1);memset(n,0,20);
    char smsbuffer[160]="";
    flag1++;
  }

  if (flag1>=2){
    tone(10, 2780, 200); // Сирена
  }

pos = sms.IsSMSPresent(SMS_UNREAD); // смотрим непрочитанные СМС
      if (pos) {                    // Если непрочитанные СМС есть, то...
        
getsms(); // получаем непрочитанную СМС

     if (input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
     sensor1=0;digitalWrite(7,LOW);input_string=""; char smsbuffer[160]=""; flag1=0;}
     
     if (input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
     sensor1=1; input_string=""; char smsbuffer[160]=""; flag1=0;}
        
        sms.DeleteSMS(pos); // удаляем СМС  из симки
      }
}
void getsms()
{
sms.GetSMS(1,n,20,smsbuffer,160);
input_string =String(smsbuffer);
          }

tregubov
Offline
Зарегистрирован: 26.10.2020

DB:ELSE
ATT: OK
RIC: ⸮
ATT: OK
RIC: AT

OK

DB:ELSE
ATT: OK
RIC: AT

OK

DB:CORRECT BR
ATT: OK
RIC: AT

OK

ATT: OK
RIC: AT&F

OK

ATT: OK
RIC: ATE0

OK

Call Ready

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: OK
RIC:
OK

ATT: +CPMS:
RIC:
ERROR

SMS Ready

ATT: +CPMS:
RIC:
+CP
ATT: +CPMS:
RIC: ⸮
ATT: +CPMS:
RIC: AT+CPMS="SM","SM","SM"

ERROR

+CPIN: READY

ATT: +CPMS:
RIC: AT+CPMS="SM","SM","SM"

ERROR

ATT: +CPMS:
RIC: AT+CPMS="SM","SM","SM"

ERROR

Call Ready

SMS Ready

ATT: +CPMS:
RIC:
ATT: +CPMS:
RIC: ⸮AT+CPMS="SM","SM","SM"

ERROR

RDY

+CFUN: 1

ATT: OK
RIC: AT+CPBS="SM"

ERROR

+CPIN: READY

ATT: OK
RIC: AT+CPBS="SM"

ERROR

ATT: OK
RIC: AT+CPBS="SM"

ERROR

ATT: OK
RIC: AT+CPBS="SM"

ERROR

ATT: OK
RIC: AT+CPBS="SM"

ERROR

ATT: SHUT OK
RIC: AT+CIPSHUT

SHUT OK

status=READY
ATT: OK
RIC: NO STRING RCVDATT: OK
RIC: ATE0

OK

Call Ready

ATT: +CMGL:
RIC: ATE0

OK

Call Ready

ATT: OK
RIC: NO STRING RCVDATT: OK
RIC: Rj⸮⸮R
ATT: OK
RIC: Rj⸮⸮R
ATT: OK
RIC: Rj⸮⸮R
ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: Rj⸮⸮R
ERROR

ATT: +CMGL:
RIC: Rj⸮⸮R
ERROR

ATT: OK
RIC: NO STRING RCVDATT: OK
RIC: NO STRING RCVDATT: OK
RIC: NO STRING RCVDATT: OK

 

Что делать, незнаю.

 

Код не вставился, + размазался...
 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Красивая портянка! Как из 60х)))

tregubov
Offline
Зарегистрирован: 26.10.2020

Лучше первое не читать. Код поехал

Я во втором комментарии написал правильно. Как думаете, где ошибка?

Nik_an
Nik_an аватар
Offline
Зарегистрирован: 20.11.2019

попробовать перешить модем

tregubov
Offline
Зарегистрирован: 26.10.2020

Всмысле? Я перепрошивал код уже раз 15...

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

tregubov пишет:

 Как думаете, где ошибка?

судя по двум темам - в ДНК

tregubov
Offline
Зарегистрирован: 26.10.2020

Ну как минимум это два разных вопроса... и ошибки.

С первой темой я разобрался. Со второй разобраться не могу.

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

tregubov пишет:

Ну как минимум это два разных вопроса... и ошибки.

С первой темой я разобрался.

Ошибка у вас одна - что взялись за сложную задачу. абсолютно не разбираясь в основах программирования

Nik_an
Nik_an аватар
Offline
Зарегистрирован: 20.11.2019

в модеме есть своя прошивка, если он начинает косить ее можно перешить

tregubov
Offline
Зарегистрирован: 26.10.2020

С ардуиной я работаю на протяжении трех лет. После небольшого перерыва я взялся за этот проект.

Скажем честно, что то подзабылось.

С сим-модулем не работал ни разу, для меня это что-то новое.

tregubov
Offline
Зарегистрирован: 26.10.2020

Вряд-ли это с этим как-то связано. Возможно какая-та библиотека мутит...