Отправка SMS с переменной.
- Войдите на сайт для отправки комментариев
Сб, 06/04/2019 - 12:15
#include <SoftwareSerial.h> SoftwareSerial M590(2, 3); // RX, TX #define ledS 5 #define BOOT 6 // нога BOOT на модеме #define analogG A2 int gasValue = 0; //переменная для хранения количества газа void setup() { delay(2000); // чтобы не повисало при включении M590.begin(9600); Serial.begin(9600); pinMode(BOOT, OUTPUT); // нога BOOT на модеме pinMode(ledS, OUTPUT); digitalWrite(ledS, HIGH); // включаем лед digitalWrite(BOOT, LOW); // включаем модем delay(2000); // если меньше не проходят следущие команды команды M590.println("ATE0"); // выключаем эхо delay(200); M590.println("AT+CLIP=1"); // включаем АОН, delay(200); M590.println("AT+CMGF=1"); // текстовый формат SMS delay(200); M590.println("AT+CSCS=\"GSM\""); // кодировка текста - GSM delay(200); M590.println("AT+CNMI=2,2,0,0,0"); // вывод смс в консоль delay(300); while(1) { M590.println("AT+COPS?"); if (M590.find("+COPS: 0")) break; digitalWrite(ledS, LOW); delay(100); digitalWrite(ledS, HIGH); delay(500); } digitalWrite(ledS, LOW); // мигаем светодиодом delay(1500); digitalWrite(ledS, HIGH); delay(250); digitalWrite(ledS, LOW); } void loop() { gasValue = analogRead(analogG); // получение звонков и SMS if (M590.available()) //если есть данные от GSM модуля { char ch = ' '; String val = ""; while (M590.available()) //сохраняем входную строку в переменную val { ch = M590.read(); val += char(ch); //собираем принятые символы в строку delay(5); } Serial.println(val); //дублируем сообщение в терминал if (val.indexOf("+CMT") > -1) //если есть входящее sms { if(val.indexOf("money?") > -1) // смотрим, что за команда { delay(3000); M590.println("ATD#102#;"); } if (val.indexOf("GAS?") > -1) // смотрим, что за команда { Serial.print("GAS Value:"); Serial.println(gasValue); sms(String(gasValue), String("+7909*******")); } } if(val.indexOf("+CUSD") > -1) //если есть сообщение в терминале { if(val.indexOf("balans") > -1) // смотрим, что за команда { delay(3000); val = val.substring(val.indexOf("Vash"),val.indexOf("r")); sms(String(val), String ("+7909*******")); } } } } // отправка СМС void sms(String text, String phone) { M590.println("AT+CMGS=\"" + phone + "\""); delay(500); M590.print(text); delay(500); M590.print((char)26); delay(2000); }
Все прекрасно работает, но ...
при получении SMS на запрос "GAS?" приходят только цифры, а хотелось бы, что бы перед ними стояло "Gas Value:"
если не трудно подскажите плиз как это сделать. Сколько не пытался так и не добился желаемого результата.
Ну, а пытался-то как? Показывайте.
да уже показывать нечего- всё привел в исходное состояние.
перебрал кучу скетчей с отправкой смс, но такого в примерах не попалось.
Или отправляет только текст или цифры, а вот вместе ну никак
показывать нечего
Ну, на "нечего" и суда нет. Здесь помогают тем, кто делает сам. А те, кому просто нужно сделать - обращаются в платный раздел.
а что конкретно Вам показать?
Как пробовал в разных интерпретациях менять строку 80?
еще в 95й добавлял один стринг
А те, кому просто нужно сделать - обращаются в платный раздел.
Скетч рабочий уже сделан и конструкция тоже.
Писал правда его не сам- собрал из разных примеров гуляющих по сети- поздно мне уже учиться.
Вообще он в несколько раз больше.
Я просто его сократил чтобы желающим помочь тратить меньше времени.
Если знаете решение- подскажите, если нет, ну что же не Вы один тут грамотный.
Показывай, как пробовал.
Вы решение знаете?
Скорее все в строке 80.
ВАм что, все варианты написать которые я пробовал?
напишите хоть один
Вы решение знаете?
Скорее все в строке 80.
ВАм что, все варианты написать которые я пробовал?
Не...е решение не в строке, а в Вашей голове. Мы можем только пнуть в нужном направлении, а дальше сами, ручками.
Короче - пну: Переменные String, как и разные другие переменные, поддерживают операцию сложения. По-моему достаточно.
а никто и не спорит, что не в голове.
Поздно мне уже учиться.А пинать можете мальчиков 17 летних, а я пока страницу до конца дочитаю, что в начале было уже забыл.
за операцию сложения конечно спасибо, но вряд ли мне это поможет.
Ну раз склероз, то - увы, здесь не поликлиника. Не хотите учиться - ищите, кто из умеющих сделает за вас.
я уж как нибудь сам разберусь куда мне обращаться без сопливых.
Сайт неплохой, только жалко люди гавно
всем спасибо за помощь.
Только цифры, да и нормально.
работало пол года и еще проработает .
А вы тут рассуждайте кому куда обращаться учителя дорогие
значит не пытался, ну что, пусть и так работает.
з.ы. заведите тему в платном разделе, там помогут.
я уж как нибудь сам разберусь куда мне обращаться без сопливых.
Сайт неплохой, только жалко люди гавно
Да, согласен - столько говна сюда лезет, устали отбиваться от всяких монсёров-усёров.
Я вот представляю, если человек собирая какую нибудь простенькую конструкцию ( типа транзистора и реле)
Впаял вместо PNP NPN и обратился бы ко мне с вопросом почему не работает.
Да у меня бы язык отсох если бы я ему начал втирать про теорию полупроводников и т.д.
Не проще ли сказать, где ошибка и что надо впаять?
Но тут видимо другие люди общаются.
Почитав форум я давно заметил, что тут не помогают, а упражняются в остроте ответов.
А вот интересно, за какую сумму будет оказана такая помощь?
Ты то олень от кого устал отбиваться?
Тебя в мою тему никто не звал.
Не знаешь ответа на вопрос - прочитал и вали дальше, а ты вафельницу открываешь.
А вообще незнакомых людей принято называть на Вы.
Так , что ты сначала научись культурному общению, а уж потом рассуждай.
А вообще прочитай как называется этот раздел форума. Умник.
А вот интересно, за какую сумму будет оказана такая помощь?
вы можете хоть что-то сделать, чтобы получить результат?
Ну я же писал, что просмотрел много скетчей с отправкой смс , но к сожалению нужного мне (текст + переменная) не попалось. Либо идет отправка текста либо данных. Соединить у меня не получилось.
В программировании как понимаете я 0, но понимаю, что вопрос этот не стоит выеденного яйца, но вот ответить на него не смог, поэтому и попросил помощи.
А тут меня пытаются обучить программированию.
Ты то олень от кого устал отбиваться?
Тебя в мою тему никто не звал.
Не знаешь ответа на вопрос - прочитал и вали дальше, а ты вафельницу открываешь.
А вообще незнакомых людей принято называть на Вы.
Так , что ты сначала научись культурному общению, а уж потом рассуждай.
А вообще прочитай как называется этот раздел форума. Умник.
Тебе, олень, уже не один раз подсказали, что надо сделать: надо сложить в строку, операцией сложения, нужные части. Но ты, олень - хочешь, чтобы тебе дали на блюдечке готовое решение. На твоём примере: ты хочешь, чтобы за тебя впаяли нужные транзисторы, склеротичный олень.
И да - тут учат программированию, а не делают за тебя, олень с открытой вафельницей.
З.Ы. Хочешь нормального общения - извинись, что назвал всех форумчан говном. Именно ты это начал, культурный олень.
Переменные String, как и разные другие переменные, поддерживают операцию сложения.
Прочитал я про арифметические операторы, но так к сожалению и не понял как это мне поможет.
Можете поконкретнее сказать?
Переменные String, как и разные другие переменные, поддерживают операцию сложения.
Прочитал я про арифметические операторы, но так к сожалению и не понял как это мне поможет.
Можете поконкретнее сказать?
Ещё раз: как только ты приведёшь примеры того, как пробовал - тебе сразу укажут на то, в чём ошибка. И сам поймёшь быстрее.
Приведи, пожалуйста, примеры того, как ты пробовал решить проблему.
sms
(String("Gas Value:"),(String(gasValue),String(
"+7909*******"
));
sms
(String("Gas Value:"),(String(gasValue),String(
"+7909*******"
));
Измени вот так:
Видишь в первом параметре сложение двух строк? Это аналогично вот такому:
ладно проехали. ща попробую
Сдается мне , что с тремя стрингами надо будет менять процедуру отправки.
Я подобное делал, только без плюса
Извините сейчас уже не попробую. Пол первого ночи уже оказывается.
Все таки попробовал.
стало приходить как и задумано. Спасибо за помощь.
Ну вот стоило разводить такую бодягу с поучениями и оскорблениями?
проще же было сказать подправь строку 80 таким образом.
И всёёё. вопрос был бы решен за один пост.
что бы поменять запятую на плюсик потратили ХЗ сколько времени и нервов.
Помогай потом таким невменяшкам...
дык если бы написал про этот плюсик во втором посте и все было бы ОК, а то доведете до белого каления, а потом все друг на друга в обиде.
ладно, проехали. спасибо за помощь.
затираем всю хрень.
Ооо уже не затереть оказывется.
Ну вот стоило разводить такую бодягу с поучениями и оскорблениями?
Давай ты откроешь глаза, перечитаешь тему и посмотришь, кто кого первый назвал говном, ок?
Извинения будут, культурный ты наш?
ну это было в 14 посте.
А мне что до 14го писали?
Да и всех я в виду не имел, а тех кто сам это знает.
ладно еще раз спасибо за помощь.
Вопрос по ходу возник:
В мониторе при отправке смс пишет +CMGS: 63, ну и естественно при каждой отправке число увеличивается.
Если память в М590 закончится чем это грозит?
Может добавить команду для затирки смс?
ну это было в 14 посте.
А мне что до 14го писали?
Да и всех я в виду не имел, а тех кто сам это знает.
ладно еще раз спасибо за помощь.
А что тебе до 14-го поста писали? Неужели оскорбляли и называли "говном"? Покажи - где?
Т.е. извинений не будет, и ты считаешь это совершенно нормальным и культурным - обозвать всех говном и теперь делать невинный вид? С тобой всё в порядке?
Вопрос по ходу возник:
В мониторе при отправке смс пишет +CMGS: 63, ну и естественно при каждой отправке число увеличивается.
Если память в М590 закончится чем это грозит?
Может добавить команду для затирки смс?
Ответ будет сразу после извинений за "говно".
Со мной все в порядке. я уже наверное третий или четвертый раз пишу, что в виду я имел не всех, а ты всё пытаешься мне это поставить в вину.
ты сам еще раз прочитай до 14го поста.
Ты считаешь это нормальныое общение?
Для меня такое высокомерие ненормально.
Тем более вывод я сделал судя не только по своей теме.
Время от времени захожу сюда, просматриваю кое какие решения и вижу как общаются с теми кто просит помощи.
Если для Вас это нормально, то я так не считаю и уж тем более извиняться за свои убеждения не буду.
Впаял вместо PNP NPN и обратился бы ко мне с вопросом почему не работает.
Так это если он впаял! Вы же ни хрена не сделали. По крайней мере нихрена нам не показали.
Так что тут другая ситуация - я нихрена не впаял, а пришёл к Вам - ну-ка впайте мне, а то мне влом.
А вот интересно, за какую сумму будет оказана такая помощь?
Так Вы разместите там заказ - узнаете. Или мы и это должны за Вас делать?
Ещё один, прости, Господи.
Да... Это радиоаппаратуру нельзя мастерить путая закон Ома с правилом Буравчика, а вот ардуину программить можно вообще ничего не зная и не пытаясь думать. Во всяком случае я такую тенденцию вижу в размышлениях новичков.
Да... Это радиоаппаратуру нельзя мастерить путая закон Ома с правилом Буравчика, а вот ардуину программить можно вообще ничего не зная и не пытаясь думать. Во всяком случае я такую тенденцию вижу в размышлениях новичков.
Ну ничего не зная програмить не получится. Все равно мало мальские познания то нужны, да и думать приходиться. другое дело, что не каждому это надо.
Появилась например у человека задумка сделать какую нибудь приблуду для дома на Ардуине, понятно, что учиться программировать по серьезному для этого он не будет. Почитает, посмотрит скетчи разные, из кусков соберет свой и в добрый путь. А завтра ему это программирование и ардуино больше и нах не нужны будут.
А тут помоганцы пытаются не помогать а поучать.
Это я нихрена не сделал?
Да, Вы.
Вас как человека просили "покажите, что Вы сделали для решения проблемы". Вы не показали ни хрена вплоть до поста #30. Была только болтовня "я всё пробовал", "что тут Вам показывать".
Был сделат очевидный вывод, что Вы не делали ни хрена, а пришли сюда за готовым решением. И мы тут же оказались "говном". Это, безусловно, повышает Ваши шансы получать помощь впредь. Надеюсь, Вы это понимаете.
Вас как человека просили "покажите, что Вы сделали для решения проблемы". Вы не показали ни хрена вплоть до поста #30. Была только болтовня "я всё пробовал", "что тут Вам показывать".
Евгений, прошу заметить, что как только от ТС был получен один из его вариантов проб - то ТУТ ЖЕ последовал ответ, что надо изменить, чтобы заработало. И оно, в итоге, заработало.
А вот мы - как были говном, так и останемся. Пичальбида.
Дак а я о чем... купил я водонагреватель на 5кВТ повесил на гипсач, подключил в розетку через трехметровый удлинитель 2x0,75. Только же один раз в жизни это делаю - зачем мне детали по-серъезному выяснять. Вот розетка с двумя дырками, вот вилка...
Появилась например у человека задумка сделать какую нибудь приблуду для дома на Ардуине, понятно, что учиться программировать по серьезному для этого он не будет.
Кому понятно? Вам? Ну, вот Вы получили "по понятиям". Вот здесь, в третьем абзаце написано, что обычно бывает, когда такой, котором "понятно" приходит на форум. Почитайте и не удивляйтесь.
прошу заметить
Разумеется, я это заметил, я же сначала в теме. надо было сразу поступать как на лурке написано - не было бы никакого срача.
вот как жиСть устроена, ведь имено DIYMan показал решение после которого все заработало, а в конце оказался ....
Я же говорю, надо было после первого отказа предоставить что сделал, посылать на йух и не вступать больше ни в какие разговоры.
Мне, кажется, поциент здесь не нужен.