Сигнализация на ардуино. Sim800L ошибка. Требуется помощь.

tregubov

✩✩✩✩✩✩✩
26 Окт 2020
4
0
Всем добрый день! Делаю сигнализацию на arduino uno, sim800l все вроде неплохо, но вот проблема в том, что после получения СМС сигналка сходит с ума...
В ответ молчит, в консоли ужас.

Вот код:
#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);
}



ВОТ ОШИБКИ:
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





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

Сигналка получает СМС с текстом "1" и начинается красота в порте. (см. выше)


Как решать данную проблему предположений пока нет.
 

bort707

★★★★★★✩
21 Сен 2020
3,062
912
дайте ссылки, откуда вы брали используемые библиотеки

#include "SIM900.h"

#include "sms.h"
#include "call.h"
 

bort707

★★★★★★✩
21 Сен 2020
3,062
912
Bort707, догадываюсь, что уже не найду это место.
тогда не ясно, как вам помочь. Без этих библиотек код выглядит сплошным недоразумением - обьекты GSM и SMS не созданы, пины соединения с модемом не назначены, СМС-ки с модема извлекаются в ХЗ каком порядке, синтаксис запроса СМС - толи у вас ошибка, толи в библиотеке.
Проблема в том, что либы для работы с Sim800 пишут все кому ни лень - и большинство из этих либ достойно только помойки. А называются они почти все одинаково и понять, что у вас за код - сложно. Я посмотрел три библиотеки с таким названием, но ни в одной нет подходящих методов. Искать дальше - это уже как-то слишком для обычной помощи на форуме.
Найдете ссылки - приходите, продолжим общение.
 

tregubov

✩✩✩✩✩✩✩
26 Окт 2020
4
0
Завтра посмотрю библиотеки у человека, у которого брал исходник кода. Но вроде я их не менял. Разговаривал с человеком с похожей проблемой, но на другом форуме в вк, он sim библиотеку крутил

bort707, а это вы мне на др. форуме отвечаете?)
 

tregubov

✩✩✩✩✩✩✩
26 Окт 2020
4
0
Неправильно задал вопрос. Сегодня я на форуме ардуино переписывался с человеком с похожим ником. Вы ли это?)