Подскажете почему СМС не отправляет?

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Подскажете почему СМС не отправляет?

Сообщение java »

Собрал сёкак в схеме, при размыкании на четвёртой ножке 5 вольт звонок идёт на телефоне, при размыкании 5 вольт на 5,6,7 и 8 должна приходить СМС, а она не приходит.
Взято от сюда http://bestdiy.ru/gsm-signalizatsiya-na ... duino.html


String numberCall_1 = "79123456789"; // Номер абонента №1 для звонка
String numberSMS_1 = "+79123456789"; // Номер абонента №1 для СМС (отличается только знаком +)

String numberCall_2 = "79123456782"; // Номер абонента №2 для звонка
String numberSMS_2 = "+79123456782"; // Номер абонента №2 для СМС (отличается только знаком +)

String textZone_1 = "Alarm! Zone1"; // Свое название зоны , на латинице.
String textZone_2 = "Alarm! Zone2"; // Свое название зоны , на латинице.
String textZone_3 = "Alarm! Zone3"; // Свое название зоны , на латинице.
String textZone_4 = "Alarm! Zone4"; // Свое название зоны , на латинице.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);

#define pinSensor_0 4
#define pinSensor_1 5
#define pinSensor_2 6
#define pinSensor_3 7
#define pinSensor_4 8

void initGSM(void) {
delay(2000);
mySerial.begin(9600); // Выставляем скорость общения с GSM-модулем 9600 Бод/сек.
mySerial.println("AT+CLIP=1");
delay(300);
mySerial.println("AT+CMGF=1");
delay(300);
mySerial.println("AT+CSCS=\"GSM\"");
delay(300);
mySerial.println("AT+CNMI=2,2,0,0,0");
delay(300);
}

/* Отправка SMS */
void sendSMS(String text, String phone) {
mySerial.println("AT+CMGS=\"" + phone + "\"");
delay(500);
mySerial.print(text);
delay(500);
mySerial.print((char)26);
delay(2500);
}


unsigned long timerTemp = 0;
uint8_t hours = 0;

uint8_t flagSensor_0 = 0;
uint8_t flagSensor_1 = 0;
uint8_t flagSensor_2 = 0;
uint8_t flagSensor_3 = 0;
uint8_t flagSensor_4 = 0;

void setup() {
mySerial.begin(9600);
initGSM();

pinMode(pinSensor_0, INPUT);
pinMode(pinSensor_1, INPUT);
pinMode(pinSensor_2, INPUT);
pinMode(pinSensor_3, INPUT);
pinMode(pinSensor_4, INPUT);

timerTemp = millis();
}

void loop() {
if(millis() - timerTemp >= 3600000) {timerTemp = millis(); hours++;}

if(hours >= 144) {// Меняем время контроля системы на свое,144 часа.кол-во часов .
sendSMS(String("The system works normally.OK"), numberSMS_1);
delay(10000);
sendSMS(String("The system works normally.OK"), numberSMS_2);
delay(10000);
hours = 0;
timerTemp = millis();
}

if(flagSensor_0 == 0 && digitalRead(pinSensor_0) == 0) flagSensor_0 = 1;
if(flagSensor_1 == 0 && digitalRead(pinSensor_1) == 0) flagSensor_1 = 1;
if(flagSensor_2 == 0 && digitalRead(pinSensor_2) == 0) flagSensor_2 = 1;
if(flagSensor_3 == 0 && digitalRead(pinSensor_3) == 0) flagSensor_3 = 1;
if(flagSensor_4 == 0 && digitalRead(pinSensor_4) == 0) flagSensor_4 = 1;

if(flagSensor_0 == 1) {
String command;

command = "ATD+" + numberCall_1 + ";";
mySerial.println(command);
delay(20000);
mySerial.println("ATH");
delay(1000);


command = "ATD+" + numberCall_2 + ";";
mySerial.println(command);
delay(20000);
mySerial.println("ATH");
delay(1000);

flagSensor_0 = 2;
}


if(flagSensor_1 == 1) {
sendSMS(textZone_1, numberSMS_1);
delay(10000);
sendSMS(textZone_1, numberSMS_2);
delay(10000);
flagSensor_1 = 2;
}


if(flagSensor_2 == 1) {
sendSMS(textZone_2, numberSMS_1);
delay(10000);
sendSMS(textZone_2, numberSMS_2);
delay(10000);
flagSensor_2 = 2;
}


if(flagSensor_3 == 1) {
sendSMS(textZone_3, numberSMS_1);
delay(10000);
sendSMS(textZone_3, numberSMS_2);
delay(10000);
flagSensor_3 = 2;
}


if(flagSensor_4 == 1) {
sendSMS(textZone_4, numberSMS_1);
delay(10000);
sendSMS(textZone_4, numberSMS_2);
delay(10000);
flagSensor_4 = 2;
}

if(flagSensor_0 == 2 && digitalRead(pinSensor_0) != 0) flagSensor_0 = 0;
if(flagSensor_1 == 2 && digitalRead(pinSensor_1) != 0) flagSensor_1 = 0;
if(flagSensor_2 == 2 && digitalRead(pinSensor_2) != 0) flagSensor_2 = 0;
if(flagSensor_3 == 2 && digitalRead(pinSensor_3) != 0) flagSensor_3 = 0;
if(flagSensor_4 == 2 && digitalRead(pinSensor_4) != 0) flagSensor_4 = 0;
}
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Подскажете почему СМС не отправляет?

Сообщение Martian »

Напишите сначала код отправки одной SMS, сразу после включения. Безо всяких странных сигналов и флагов.
Чтобы убедиться, что SMS вообще возможно отправить.
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3474
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Подскажете почему СМС не отправляет?

Сообщение smacorp »

Приведённый листинг это наглядный пример говнокода, слепленного на коленке, и того, как прошивки писать нельзя.

Ни правильной инициализации SIM800, ни проверок на возникающие ошибки, какие-то дикие задержки от нескольких до аж 10-20 секунд...

В общем, мрак и ничего удивительного, что там что-то не работает.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: Подскажете почему СМС не отправляет?

Сообщение java »

[uquote="smacorp",url="/forum/viewtopic.php?p=4645284#p4645284"]Приведённый листинг это наглядный пример говнокода, .[/uquote]
однако в интернети эта статья повторяется как минимум на десятках ресурсов
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3474
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Подскажете почему СМС не отправляет?

Сообщение smacorp »

java, так разве это показатель? В Интернете полно ресурсов, которые только тем и занимаются, что копируют чужие статьи с одной целью - привлечь поток посетителей и показать побольше рекламы. Так называемый кликбейт - https://ru.wikipedia.org/wiki/Кликбейт

Поэтому то, что статья копипастится много где, увы, не есть показатель её качества.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: Подскажете почему СМС не отправляет?

Сообщение java »

К сожалению да, и везде с одинаковой ошибкой. Напишу вам в личку.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Подскажете почему СМС не отправляет?

Сообщение Martian »

smacorp писал(а):то, что статья копипастится много где, увы, не есть показатель её качества
зато она сама себе показатель некачества... но я постеснялся так написать, думал, что это плод ТС...
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: Подскажете почему СМС не отправляет?

Сообщение java »

Автор нашёлся в коментариях вот здесь https://www.drive2.ru/c/501088956415214 ... h232860346
но ничего конкретного не сказал, и навопрос почеиу не отправляется СМС ответил что то невнятное, как его найти не знаю, известно только что зовут Илья и живёт в казахстане.
Вобще такая простенькая сигнализация была бы само то, в интернете много разных схем,но там лишнего всего наворочено, что совсем не кчему.Включение нагоузки, температура и так далее.
Я так понял править этот код ни кто не будет, (по крайней мере бесплатно) а автора не найти, а жаль.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3474
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Подскажете почему СМС не отправляет?

Сообщение smacorp »

java писал(а):Автор нашёлся ... но ничего конкретного не сказал, и на вопрос почему не отправляется СМС ответил что то невнятное
Он ответил "настройте можем на текстовый режим", что по сути является действительно отпиской ни о чём, так как "можем" на текстовый режим в скетче уже настроен строкой mySerial.println("AT+CMGF=1"). Но он, хотя бы, честно там признаёт, что скетч слеплен на коленке.
java писал(а):Я так понял править этот код ни кто не будет, (по крайней мере бесплатно).
Так всё упирается во время и силы. У меня, например, даже на платные заказы не всегда находятся оные субстанции, я уж молчу про собственные проекты, которые было бы очень интересно сделать для себя, но они откладываются годами "до лучших времён", а многие так и не будут реализованы, похоже, никогда. Что уж говорить про анализ и моделирование чужого кода. C’est la Vie.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Подскажете почему СМС не отправляет?

Сообщение Martian »

java писал(а):Я так понял править этот код ни кто не будет, (по крайней мере бесплатно)
За деньги тем более не будут, напишут с нуля, изначально правильно-нормально.

Править его имеет смысл только чтобы показать Вам, как надо и как не надо программировать, если Вы хотите научиться.
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: Подскажете почему СМС не отправляет?

Сообщение java »

я пытался научиться, даже смог удочку сделать на сервоприводе, подсмотрев как это работает, но дальше тёмный лес, это надо чтобы кто то научил, а самому по интернету это не очень получилось, но у нас в городе не кому.
Последний раз редактировалось java Вт ноя 05, 2024 18:29:43, всего редактировалось 2 раза.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3474
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Подскажете почему СМС не отправляет?

Сообщение smacorp »

Да нет, конечно. Меня вот кто программированию учил? Я сам, постепенно, начиная с Бейсика на самодельном ZX-Spectrum, когда Интернета и в помине не было, а была разрозненная информация из журналов и, как ни странно, из самиздата - помню, как у одного аспиранта из под полы покупал документацию на первые версии Delphi, втихаря им распечатанную на кафедральном принтере на ворованной им же там же бумаге. :) И когда небольшой курс программирования начался у меня по получаемой специальности, я всё это уже умел и откровенно скучал на лекциях, развлекаясь с лектором спорами о целесообразности того или иного алгоритма.

Другое дело, что самостоятельное обучение небыстро, требует усидчивости и определённой силы - порой руки могут опускаться до уровня "да нахрена это всё нужно?!". У меня, правда, не опускались, так как тупо было очень интересно.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Подскажете почему СМС не отправляет?

Сообщение Martian »

java писал(а):это надо чтобы кто то научил
Это легко. Программирование - это в первую очередь умение составлять алгоритмы. В жизни Вы это делаете постоянно, но не так, как в этой программе. Если провести аналогию с чем то бытовым, то в ней, чтобы съесть суп, каждый раз берётся зачем-то новая ложка. В жизни ведь так делать никто не будет, поэтому, и в программе не надо.
Вот и всё.
А дальше берётся книжка, из старых, например "Программирование для всех" https://publ.lib.ru/ARCHIVES/S/SALTYKOV ... _A.I..html
И читается. Совершенно не важно, что там язык Фортран и для старинных машин, её надо просто прочитать, понимая прочитанное и пометив в уме, что применительно к другим языкам и машинам всё может быть немного иначе. Даже не нужно программировать вживую, можно воспользоваться листком бумаги и ручкой.
Можно выбрать и другую книжку, но я других не помню.
Это будет первый этап.

А дальше выбираете следующий, уже ориентированный на практические задачи, выбранные язык, "железо", среду разработки и т.д.
И тут тоже есть два пути: быстрый, простой и ограниченный - Ардуино. Сможете быстро делать кучу всякого, в основном копируя чужое и задавая вопросы на форумах.
Медленный, сложный, но безграничный в возможностях - что угодно, но не Ардуино.

Есть, правда, и третий путь: научиться строить задания для нейросетей.
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: Подскажете почему СМС не отправляет?

Сообщение java »

странно, вот здесь в коментах некоторые люди пишут чтоу них заработало. Кто-то что-то подправил, у кого-то сразу пошло.
https://www.youtube.com/watch?v=ErKefQ9ptsI
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Ответить

Вернуться в «Arduino»