SIM800L mini

Georgi-47
Offline
Зарегистрирован: 24.02.2018

Что называется - моя история (борьбы с питанием). В принципе - ничего нового, просто вижу что буквально пост выше, похоже, о том же. 

Итак, симптомы: серии быстрых вспышек светодиода по 7-10 штук, потом пауза на секунду-две, и опять серия вспышек. Подключения нет. Вольтметр всегда уверенно показывает выставленные на преобразователе 4.0 Вольта. 

Похоже, что вольтметр (китайский мультиметр) и даже светодиод на преобразователе просто не успевает среагировать на просадки напряжения, модуль перезагружается, потребляемый ток падает, напряжение восстанавливается. Терялся в догадках, пока не проверил все источники на нагрузке 2.5 Ома. Все просаживались настолько, что просаживалось и выходное напряжение преобразователя. В итоге запитался от аккумулятора фотика Canon 7.4 Вольта, у которого без нагрузки 8.2в. При подключении на выход преобразователя dc-dc нагрузки 2.5 Ом напряжение на самом акб проседало до 7в, но преобразователь держал 4в на выходе. И да - провода от акб на преобразователь и от преобразователя к GSM-модулю припаивал, иначе не работало. 

На выходе преобразователя стоит конденсатор 220 мкф. Возможно, что если б параллельно контактам питания модуля подключить ещё один на 1000 Мкф, то с теми моими БП, что помощнее, тоже заработало бы.

Ну и ещё пара заметок:

-на сим-карте крупно написано 4G, позавчера получена в Билайне, в SIM800L работает без проблем.

-когда на модуле активировано gprs-подключение, светодиод тоже мигает часто, примерно вдвое чаще чем когда нет сети.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

Привет, нашел статью, в ней описано как отправлять смс на русском языке, проверил, все работает.

ссылка

также есть разбор баланса, даже при отправке *100#

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Доброго дня.

Никто не сталкивался с такой проблемой? Сим карта от Ростелеком каким то волшебным образом перезагружает модуль sim800l, беру сим карту от мегафона, все отлично. Но самое главное - сим карта от Ростелекома ранее работала в этом же SIM800l без проблем. Питание 12В 2А в Ардуину. Модуль sim800l подключен напрямую к арудуине.

Проверил в 2-х модулях.

Модуль SIM800L ver. 2.0,который работает от 5В.

Georgi-47
Offline
Зарегистрирован: 24.02.2018

Имхо - очевидно ж. Если SIM800 питается от Ардуино, то Ардуино не может выдать 2А даже близко. И не важно от чего питается Ардуино.

Если SIM800 питается от 5v, то запитать и ее, и саму Ардуино от одного истоника 5v, помощнее и с конденсатором 1000 мкф на ножках SIM800. По идее должно работать.

Почему работало раньше и почему работает с Мегафоном - фиг его знает. 

PS Где SIM800 покупали? Можно ссылочку на модуль?

obuhanoe
Offline
Зарегистрирован: 18.05.2016

https://ru.aliexpress.com/item/SIM800L-V2-0-5V-Wireless-GSM-GPRS-MODULE-...

Ардуина питается 12В. Я конечно помню и знаю про 2А, но каким то образом 2 года все это работало.

Значит буду менять БП на 5В.

Georgi-47
Offline
Зарегистрирован: 24.02.2018

А конденсатора большого на ножках питания SIM800 нет? Если есть, то может его и достаточно. Схема питания, которая в описании моего модуля, говорит, что источник д.б. 500 мА.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Конденсатор, это вы про оранжевый прямоугольник на плате?

Про 500 мА не понял Вас.

Georgi-47
Offline
Зарегистрирован: 24.02.2018

Вот схема питания из описания моего модуля на Али:

Как видно, источник рекомендуется всего на 500 мА, а всплеск потребления до 2А в момент коннекта обеспечивается дополнительным конденсатором на 1000 мкф, который надо припаять прямо на ножки питания модуля sim800.

Диод нужен для снижения напряжения для модуля, который должен питаться от 3.7-4.2в 

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.

Нашел аж 4 подопытные сим-карты (2 мегафон (личная и корпоративная), мтс(корпоративная) и ростелеком(личная) ) - что бы Вы подумали - МТС и Ростелеком также перегружают модуль (причем в порт ничего не сыпится), а вот Мегафон 2 шт. - проблем не наблюдаются. Уж очень хочется юзать Ростелеком, супер дешевый там тариф мне достался. . Какие могут быть идеи?

 

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

А как вы определили что именно модуль перезагружается? А не команда МК заставляет его грузить?

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

obuhanoe пишет:

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.

Нашел аж 4 подопытные сим-карты (2 мегафон (личная и корпоративная), мтс(корпоративная) и ростелеком(личная) ) - что бы Вы подумали - МТС и Ростелеком таакже перегружают модуль, а вот Мегафон 2 шт. - проблем не наблюдаются. Какие могут быть идея? Уж очень хочется юзать Ростелеком, супер дешевый там тариф мне достался.

Идея есть! Найти GSM модуль и туда все напихать и потестить!

Последний Вариант - купить 2 GSM модуля, один прозапас, чтоб небыло таких ситуаций.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

У  Sim800L ver. 2.0 - 2 индикатора, один который горит постоянно, другой мигающий, так вот после 5-15 сек, горящий постоянно диод выключается на секунду или две и все по новой.

Код при этом наипростеший.


String ReadGSM() {  //функция чтения данных от GSM модуля
  int c;
  String v;
  while (Serial3.available()) {  //сохраняем входную строку в переменную v
    c = Serial3.read();
    v += char(c);
    delay(10);
  }
  return v;
}


void setup() {

 

 Serial.begin(9600);  //скорость порта
  
  
  Serial3.begin(9600);

 Serial.println("TYT");


}

void loop() {
 if (Serial3.available()) {  //если GSM модуль что-то послал нам, то
    Serial.println(ReadGSM());  //печатаем в монитор порта пришедшую строку
  }
   
  if (Serial.available())
    Serial3.write(Serial.read());
  
}

 

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Найти GSM модуль и туда все напихать и потестить! - это как?

Забыл сказать, все эти действия делал на 2 модулях, отличающихся только прошивкой - 

sim800l 2.0 - Revision:1418B04SIM800L24
sim800l 2.0 - Revision:1418B05SIM800L24 
stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

Попробуй комманды, описанные ниже и сбрось на заводские настройки


#include <SoftwareSerial.h>


//наличие сим карты AT+CSDT
//посмотреть на возможные ошибки AT+CMEE и AT+CEER
//вернуть заводские настройки модуля — AT&F

#define SIM800_TX_PIN 53
#define SIM800_RX_PIN 52

SoftwareSerial mySerial(SIM800_TX_PIN,SIM800_RX_PIN);

void setup() {
  Serial.begin(9600);  //Скорость порта для связи Arduino с компьютером
  Serial.println("Goodnight moon!");
  mySerial.begin(9600);  //Скорость порта для связи Arduino с GSM модулем
  delay(5000);
  mySerial.println("AT");
}

void loop() {
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

 

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

Del

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

У Меня такая же проблема была, но я решил ее. Блок питания отдельный на GSM поставил, все заработало.

Когда питался от Ардуины, происходило тоже самое, помигает чуть чуть и заново начинает, сеть не находил.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Я и так сделал отдельное питание.

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

obuhanoe пишет:

Я и так сделал отдельное питание.

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.

Какой понижающий DC-DC используешь, может он максимум выдает 1А.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

сбрось на заводские настройки - нужно ли?

Второй только что приехавший ко мне модуль, изменил на нел только скорость на 9600 и больше с ним ничего не делал. 

Да и зачем заморачиваться с SoftwareSerial если есть Serial1-3.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

obuhanoe пишет:

сбрось на заводские настройки - нужно ли?

Второй только что приехавший ко мне модуль, изменил на нел только скорость на 9600 и больше с ним ничего не делал. 

Да и зачем заморачиваться с SoftwareSerial если есть Serial1-3.

Если используешь такой DC-DC ссылка, то он слабоват, всего на 800мА.

Тебе надо такой, у него ток максимальный 3А.

Georgi-47
Offline
Зарегистрирован: 24.02.2018

obuhanoe пишет:

Я и так сделал отдельное питание.

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.


Мне еще пришлось пропаять провода от источника к DC-DC и от него к SIM800.

Может ростелекомовская вышка далеко или в другом диапазоне работает, и модулю требуется больший ток?

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Стоит вот такой - https://ru.aliexpress.com/item/LM2596-DC-4-0-40-to-1-3-37V-Adjustable-Step-Down-Power-Module-LED-Voltmeter/32340998757.html?spm=a2g0s.9042311.0.0.VfEUVv, только зеленого цвета. ДАвно его брал.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Georgi-47 пишет:
obuhanoe пишет:

Я и так сделал отдельное питание.

Поставил эксперемнт: БП 12В 2А на арудину, на SIM800L  ver. 2.0 через понижающий DC-DC (12В до 5В) - земля общая.

Мне еще пришлось пропаять провода от источника к DC-DC и от него к SIM800. Может ростелекомовская вышка далеко или в другом диапазоне работает, и модулю требуется больший ток?

Т.е. предлагаете измерить уровень сигнала? Но с МТС тоже проблема есть. А МТС уж точно под боком вышка.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

obuhanoe пишет:

Стоит вот такой - https://ru.aliexpress.com/item/LM2596-DC-4-0-40-to-1-3-37V-Adjustable-Step-Down-Power-Module-LED-Voltmeter/32340998757.html?spm=a2g0s.9042311.0.0.VfEUVv, только зеленого цвета. ДАвно его брал.

вроде на грани.

Из datasheet явно написано, напряжение на модуль должно находиться в пределах от 3.3 до 4.4В, рекоммендовано 4В.

Ток должен быть не ниже 2А.

вот ссылка 

obuhanoe
Offline
Зарегистрирован: 18.05.2016

stambylov пишет:

obuhanoe пишет:

Стоит вот такой - https://ru.aliexpress.com/item/LM2596-DC-4-0-40-to-1-3-37V-Adjustable-Step-Down-Power-Module-LED-Voltmeter/32340998757.html?spm=a2g0s.9042311.0.0.VfEUVv, только зеленого цвета. ДАвно его брал.

вроде на грани.

Из datasheet явно написано, напряжение на модуль должно находиться в пределах от 3.3 до 4.4В, рекоммендовано 4В.

Ток должен быть не ниже 2А.

вот ссылка 

Не понял про грань, но я ранее указал, что модуль у меня такой и ему можно давать 5В

https://ru.aliexpress.com/item/SIM800L-V2-0-5V-Wireless-GSM-GPRS-MODULE-Quad-Band-W-Antenna-Cable-Cap/32465895576.html?spm=a2g0v.10010108.1000016/B.1.2b3f5c5a4ZJ1Ky&isOrigTitle=true

Блок питания 2А, есть еще и 3А - завтра проверю.

mvn77
Offline
Зарегистрирован: 31.03.2017

to obuhanoe Сталкивался с такой же проблемой, если не ошибаюсь, проблема была в толщине симок - после того как поджал симку связь стала устойчивой мусор в термина сыпать перестала.

Pavelparamonov
Offline
Зарегистрирован: 19.11.2018

Kotos пишет:

Потренировался тут чуть, оказвается в памяти модуля может храниться тольк10 СМС.

свое неотправленое сообщение пишется командой AT+CMGW , с этой командой все ОК.

А вот отправить это сохраненое неотправленное сообщение похоже что тут есть проблема

должно работать так

 //К примеру, команда отправки сохраненного сообщения под номером 12 выглядит так:

AT+CMGS=12
//Этот способ удобен в тех случаях, когда один и тот же текст нужно доставить нескольким адресатам. Вместо того чтобы каждый раз передавать его устройству, достаточно один раз сохранить сообщение в памяти, а затем указывать модему лишь его индекс и номер получателя.

AT+CMGS=12,"+79295556924"
AT+CMGS=12,"+79295556925"
AT+CMGS=12,"+79295556926"

Разве тут такое ,не применимо?

У меня похожая задача отправка нескольким адресатам из базы, есть скетч ?

systemshik
Offline
Зарегистрирован: 17.02.2019

Всем привет, столкнулся с такой проблемой, модуль SIM800L, сим-карта МТС перестала регистрироваться в сети AT+COPS? +COPS: 0, до этого месяц работала нормально, список доступных операторов показывает AT+COPS=?

+COPS: (2,"MTS","MTS","25001"),(3,"Bee Line GSM","BeeLine","25099"),(3,"MegaFon","MegaFon","25002"),,(0-4),(0-2).
С сим-картой билайн все нормально, регистрируется, работает. 

Может кто сталкивался с такими проблемами?

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

systemshik пишет:

Всем привет, столкнулся с такой проблемой, модуль SIM800L, сим-карта МТС перестала регистрироваться в сети AT+COPS? +COPS: 0, до этого месяц работала нормально, список доступных операторов показывает AT+COPS=?

+COPS: (2,"MTS","MTS","25001"),(3,"Bee Line GSM","BeeLine","25099"),(3,"MegaFon","MegaFon","25002"),,(0-4),(0-2).
С сим-картой билайн все нормально, регистрируется, работает. 

Может кто сталкивался с такими проблемами?

Поменяй сим, питание стабильное должно быть.

 

systemshik
Offline
Зарегистрирован: 17.02.2019

питание стабильное, от внешнего аккумулятора от мобильника от 3,8 до 4,8 вольт, симка от билайн работает отлично.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

в телефон засунь, симку не залочили часом ?

systemshik
Offline
Зарегистрирован: 17.02.2019

в телефоне работает

systemshik
Offline
Зарегистрирован: 17.02.2019

в телефоне работает, засунул в планшет, работает тоже

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Тариф не менялся? Что либо подключалось из услуг?

У меня симка не хотела работать в SIM800, сети видела но не конектилась. Когда в телефон вставил пришло смс - типа тариф не будет работать в модемах и роутерах, только в телефоне.

systemshik
Offline
Зарегистрирован: 17.02.2019

тариф не менялся, просто сим-карта перестала регестрироваться, на днях поменяю сим-карту, отпишусь. (Живу за городом, салона МТС нет.) Для информации, за год поменяли вышки раза 3-4, теперь 4g есть, может опять что то внедрили.

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

А ты посмотри 2G вообще раздается новыми вышками? А то у нас например TELE2 на раздает 2G а SIM800 только 2G понимает.

BoomShakalaka
Offline
Зарегистрирован: 07.04.2019

У меня такая ситуация. SIM800l на красной плате. Питание от lion, провода припаивал. Регистрируется в сети только со старыми симками Теле2. Пробовал такие варианты:

1) новая сим Теле2 - видит ее, ищет сеть, потом на at+creg? выдает 0,3. На at+cspn? - wrong sim.

2) новая сим мтс, билайн, старый мтс - вообще считает что сим не вставлена. На at+cspn? - sim not inserted.

Писали про то что лоток симкарты фиговый, непропай, КЗ. Прозвонил, есть КЗ между 1 и 3 контактом, если считать от края где пружинка на держателе. Но ведь старые сим теле2 все равно пашут)). Как так? Вот и хз, отчего другие симки не пашут, от этого КЗ или от глючности модуля...

Отпаял этот лоток, прозвонил площадки под 1 и 3 контакт - КЗ. Визуально "сполей" между дорожками не увидел. Похоже где-то на другой стороне платы замыкает.

Припаял это лоток обратно, пружинка вылетула куда-то нафиг, какие-то куски пластика тоже. Вообще держатель реально фиговый, хлипкий. Щас надо симку прищепкой прижимать, а то не контачит.

tolyasik777
Offline
Зарегистрирован: 08.04.2019

Здравствуйте.Помогите пожалуйста.Проблема такая.Написан скеч на отпраку смс при заниженом и завышеном давлении на компресоре, но смс приходит только на один номер,хотя прописано 3 номера .Может быть я что то не так сделал.Или как то надо было через пробел просто номера прописывыть на не создавать отдельно команду на каждый номер

 
tolyasik777
Offline
Зарегистрирован: 08.04.2019

//lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Press1=");
lcd.setCursor(7, 0);
lcd.print(P1);
lcd.setCursor(11, 0);
lcd.print("  ");

lcd.setCursor(0, 1);
lcd.print("Press2=");
lcd.setCursor(7, 1);
lcd.print(P2);
lcd.setCursor(11, 1);
lcd.print("  ");
delay(50);

if(P1<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 1 меньше 4.0
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P1<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 1 меньше 4.0
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P1<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 1 меньше 4.0
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P2<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 2 меньше 4.0
   sendSMS("+79", "Pressure P2 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывание оповещения 
    delay(10000);
}
if(P2<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 2 меньше 4.0
   sendSMS("+79", "Pressure P2 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывание оповещения 
    delay(10000);
}
if(P2<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 2 меньше 4.0
   sendSMS("+79", "Pressure P2 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывании оповещения 
    delay(10000);
}
if(P1>=6.5 && alarm_status == 0){ //отправка сообщении если датчик 1 больше 6.5
   sendSMS("+79", "Pressure P1 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms     ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P1>=6.5 && alarm_status == 0){ //отправка сообщение если датчик 1 больше 6.5
   sendSMS("+79", "Pressure P1 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms     ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P1>=6.5 && alarm_status == 0){ //отправка сообщение если датчик 1 больше 6.5
   sendSMS("+79", "Pressure P1 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms     ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывании оповещения 
   delay(10000);
}
if(P2>=6.5 && alarm_status == 0){ //отправка сообщение если датчик 2 больше 6.5
   sendSMS("+79", "Pressure P2 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P2>=6.5 && alarm_status == 0){ //отправка сообщение если датчик 2 больше 6.5
   sendSMS("+79", "Pressure P2 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}
if(P2>=6.5 && alarm_status == 0){ //отправка сообщение если датчик 2 больше 6.5
   sendSMS("+7", "Pressure P2 alarm! >6.5 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 1);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 1);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);
}

unsigned long currenttime = millis();
   if(currenttime - previoustime >= interval) {

    alarm_status = 0;
    lcd.clear();
   }
 if(digitalRead(3) == LOW){
  alarm_status = 0;
  lcd.clear();  
 }
}

void sendSMS(String phone, String message)
{
  sendATCommand("AT+CMGS=\"" + phone + "\"", true);             // Переходим в режим ввода текстового сообщения
  sendATCommand(message + "\r\n" + (String)((char)26), true);   // После текста отправляем перенос строки и Ctrl+Z
}

 

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

Для этого кода нужна оптимизация. Много всяких повторений

tolyasik777
Offline
Зарегистрирован: 08.04.2019

А как это правильно сделать?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Повторяющиеся фрагменты оформить в функцию. Вызывать функцию и передавать ей изменяющиеся параметры (номер датчика и его значение). 

А на остальные номера не приходит, потому что в первом же условном операторе if у Вас меняется переменная alarm_status. Например в строке 19 написано alarm_status=1. Это значит, что после этого в остальных if код выполняться не будет, т.к. там ожидается alarm_status=0.

Даже если оставить так (без оформления в функцию), вместо трёх одинаковых кусков (например стр. 17 - стр. 46) достаточно сделать один, но внутри него три раза повторить строку sendSMS("+79", "Pressure P1 alarm! <4.0 bar"), поменяв только номер телефона в каждой.

 
tolyasik777
Offline
Зарегистрирован: 08.04.2019

Вы имеете в виду вот так:

if(P1<=4.0 && alarm_status == 0){ //отправка сообщение если датчик 1 меньше 4.0
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   sendSMS("+79", "Pressure P1 alarm! <4.0 bar");
   alarm_status=1;
   previoustime = millis();
   lcd.setCursor(0, 0);
   lcd.print(" send sms    ");
   lcd.setCursor(15, 0);
   lcd.print("*"); //индикатор срабатывание оповещения 
   delay(10000);

 

alexbmd
Offline
Зарегистрирован: 15.01.2016

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

я ждал долго , ничего не меняется. у когото было такое ?  симка не подходящего формата ?

systemshik
Offline
Зарегистрирован: 17.02.2019

не может зарегистрироваться в сети. Причиной может быть низкое питание или как у меня отказалась регистрироваться в сети МТС, хотя раньше работала, а потом в один прекрасный день не зарегистрировалась, перешел на билайн.

Jek
Offline
Зарегистрирован: 05.01.2014

Здравствуйте господа.

Прошу помощи в следующем вопросе.

SIM800L + Arduino nano. Модуль принимает/отправляет смс и отправляет данные по GPRS на NARODMON по UDP.

Всё работает хорошо, но в терминале после каждой отправки на narodmon появляются такие значки ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮

С каждой отправкой количество символов увеличивается.

Что это такое?

Если это ответ сервера, то как его привести в читабельный вид?

 

Jek
Offline
Зарегистрирован: 05.01.2014

Народ, выручайте, всю голову сломал уже...

Что за квадратики в терминале? Появляются после каждой отправки данных на народмон.

23:56:34.940 -> AT+CNMI=1,2,2,1,0
 
23:56:35.960 -> 
23:56:35.960 -> OK
23:56:35.960 -> 
23:56:35.960 -> AT+CSQ
 
23:56:37.012 -> 
23:56:37.012 -> +CSQ: 15,0
23:56:37.012 -> 
23:56:37.012 -> OK
23:56:37.012 -> 
23:56:37.012 -> AT+COPS?
 
23:56:38.065 -> 
23:56:38.065 -> +COPS: 0,0,"Bee Line GSM"
23:56:38.065 -> 
23:56:38.065 -> OK
23:56:38.099 -> 
23:56:38.235 -> BeeLine
23:56:38.371 -> Modem gotov
23:56:38.947 -> Otpravka - 1
23:56:39.183 -> END SETUP
23:56:39.183 -> 
23:56:39.183 -> ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮Otpravka - 2
00:02:40.050 -> 
00:02:40.490 -> ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮

 

u3max
Offline
Зарегистрирован: 25.11.2019

Здравствуйте. Тоже нужна помощь. Есть RTU5015 — это блок открытия шлагбаумов/ворот через GSM. В нём спалили модем SIM800, модем перепаяли на новый. После установки SIM карты не регистрируется в сети. AT+CPAS возвращает «2» — неизвестное состояние. Не подскажите куда копнуть? Может через терминал нужно какие-то команды ввести(запрограммировать) новый модем? СИМ карты пробовал разных операторов, питание организовано через заводской LM.

Спасибо, огромное, за ответ!

wiksoft.arduino
Offline
Зарегистрирован: 18.01.2021

Здравствуйте, уважаемые посетители форума.
Жизнь меня заставила разобраться с SIM800L. Так получилось, что домик в деревне остался без хозяйки. 
Бабушка в 84 года в результате сильной болезни оказалась беспомощной и пришлось ее передислоцировать ко мне домой.
Теперь  за моей тещей ухаживаем всей семьей. Это часто случается в семьях и не дай БОГ, что бы это случилось в ваших семьях... Так что простите меня за изложенную в форуме лирику жизни...

В связи с этими событиями возникла неожиданная (правильней сказать ожидаемая) проблема - необходимость дистанционного мониторинга состояния системы отопления на базе газового котла российской фирмы Юнкер. Если бы в свое время был куплен газовый котел с микропроцессорным управлением, то случившаяся жизненная ситуация не создала бы проблему. Все нештатные ситуации электроника решала бы.
Но Юнкер - большая газовая колонка, установленная вместо твердотельного котла. Запускается он путем нажатия кнопки пьезоподжига и работает до окончания отопительного сезона. Но опыт эксплуатации Юнкера выявил несколько неприятных особенностей данного чуда техники. Сильный ветер на улице вызывает обратную тягу и гасит сигнальный факел. Котел останавливается. Аварийное отключению газоснабжения приводит к такому же результату. Такое было уже несколько раз, когда теща жила в своем доме. Пришлось соседям включать котел вручную.
 Но поскольку теперь в доме никто не живет, пришлось сделать контроллер для мониторинга исправности системы отопления.

wiksoft.arduino
Offline
Зарегистрирован: 18.01.2021

Изображение содержимого внутри корпуса в следующем посте.
Печатной платы не делал. Все разместил на монтажной плате.
На плате установлены разъемы для подключения ARDUINO Nano, SIM800L, кабеля DS18b20 и проводов питания.
На плате установлены другие элементы схемы. Монтаж выполнен проводом МГТФ с обратной стороны платы.

Плата крепится на стойках, установленных на дне корпуса. Модуль питания закреплен к дну корпуса через изоляционную прокладку с помощью клея Момент гель. Просто и надежно.